You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ji...@codehaus.org on 2004/08/17 00:02:57 UTC

[jira] Created: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
View the issue:
  http://jira.codehaus.org/browse/MPWAR-30

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: MPWAR-30
    Summary: [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
       Type: New Feature

     Status: Open
   Priority: Major

 Original Estimate: 1 hour
 Time Spent: Unknown
  Remaining: 1 hour

    Project: maven-war-plugin
   Versions:
             1.7

   Assignee: Jason van Zyl
   Reporter: Felipe Leme

    Created: Mon, 16 Aug 2004 6:01 PM
    Updated: Mon, 16 Aug 2004 6:01 PM

Description:
The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).

I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too. 


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_38371 ]
     
Brett Porter commented on MPWAR-30:
-----------------------------------

I'm still not particularly enamored with this, probably because of the use cases I've seen quoted in here to produce two things from a project. Doing so mucks with the way m2 does things, and generally adds to the guesswork of what a project is doing.

I'm -0.75, but won't block it being committed if Felipe wishes to do so. Bear in mind that we hope to start replacing all of the m1 plugins with functionality equivalent wrappers around their m2 counterparts "real soon now", so there is a risk this will disappear again unless you are prepared to make the change there too/instead.

> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "Brill Pappin (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_44027 ] 

Brill Pappin commented on MPWAR-30:
-----------------------------------

I remember asking for this a while back. In my case I wanted to be able to get package information (build/revision, company etc) when an exception occured in a webapp. In the end I had to use a rather ugly custom solution to do it.

I don't actually think it's against the "Maven Way"... it just makes the WAR a little cleaner and allows the use of the java.lang.Package class to actually get information about the class in question (it mostly uses the manifest). It also makes deploying hot-fixes simple as you only need to replace on jar file.

I see this as a simple property, off be default that will tell the war plugin to bundle it all up in a jar and copy that instead of simply sending all the raw classes to /target/webapp/WEB-INF/classes... in fact even though its adding another operation to the war goal, it *might* make it faster as a copy tends to be slow.

Anyway, I've added another vote for it, and hope to see it in the future.


> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "Jamie Bisotti (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_38607 ]
     
Jamie Bisotti commented on MPWAR-30:
------------------------------------

I've mentioned this before on the mailing list...Maven needs to be careful to balance "the Maven way" vs. making things that should be trivial, hard on users.  As someone mentioned above, this is strictly about packaging within a WAR; separate projects just to get your classes JAR'ed and placed in WEB-INF/lib is extreme overkill.

> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "fabrizio giustina (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_38272 ]
     
fabrizio giustina commented on MPWAR-30:
----------------------------------------

+1 for adding this feature.

If you have a single webapp project you can prefer to pack your classes in a single jar for distribution: you can consider this as a different way to package things, using multiproject with a parent project and 2 subproject is overkilling in this situation.
The artifact will still be only one: a war packaged in a different way.

> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Updated: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "fabrizio giustina (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=all ]

fabrizio giustina updated MPWAR-30:
-----------------------------------

    Attachment: MPWAR-30.diff

updated patch, adds the jar generation as a prerequisite

> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: MPWAR-30.diff, maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "Felipe Leme (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_38310 ]
     
Felipe Leme commented on MPWAR-30:
----------------------------------

Hi Fabrizio,

The problem with adding jar:jar as prereqs is that it would be called anyway, even if the project does not have any Java file (there might be situations where calling jar:jar is not desirable in a war project).

-- Felipe


> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "fabrizio giustina (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_38343 ]
     
fabrizio giustina commented on MPWAR-30:
----------------------------------------

Hi Felipe,
the jar:jar goal can be added as a prereqs for a specific goal, only used when maven.war.usesJar is set. Since jar will only be called if this property is set it will not executed if the project doesn't have any java file.

This is the goal using a prereqs:

    <j:choose>
      <j:when test="${!usesJar}">
        <util:available file="${maven.build.dest}">
    		<ant:copy todir="${webapp.build.classes}">
        	<ant:fileset dir="${maven.build.dest}"
          		includes="${maven.war.classes.includes}"
          		excludes="${maven.war.classes.excludes}">
        	</ant:fileset>
      		</ant:copy>
    	</util:available>
      </j:when>
      <j:otherwise>
        <attainGoal name="war:webapp-using-jar"/>
      </j:otherwise>
    </j:choose>
  </goal>

  <goal name="war:webapp-using-jar" prereqs="war:war-resources,test:test,jar:jar"
    description="Internal goal called when maven.war.usesJar is set">
    <ant:copy todir="${webapp.build.lib}" file="${maven.build.dir}/${pom.artifactId}-${pom.currentVersion}.jar"/>
  </goal>

> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Updated: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by ji...@codehaus.org.
The following issue has been updated:

    Updater: Felipe Leme (mailto:jira@felipeal.net)
       Date: Mon, 16 Aug 2004 6:07 PM
    Comment:
Patch that implements the proposal, if the user sets the maven.war.usesJar propertie to true (default value is false).

Notice that in order to include the jar on WEB-INF/lib, it's necessary to call <attaingGoal name="jar:jar">. That might make the goal being called twice, but I don't think there is a better way to solve it (we could avoid it if the <goal> tags allowed if/unless attributes, as Ant does).

    Changes:
             Attachment changed to maven_war_usesJar.patch
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://jira.codehaus.org/browse/MPWAR-30?page=history

---------------------------------------------------------------------
View the issue:
  http://jira.codehaus.org/browse/MPWAR-30

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: MPWAR-30
    Summary: [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
       Type: New Feature

     Status: Open
   Priority: Major

 Original Estimate: 1 hour
 Time Spent: Unknown
  Remaining: 1 hour

    Project: maven-war-plugin
   Versions:
             1.7

   Assignee: Jason van Zyl
   Reporter: Felipe Leme

    Created: Mon, 16 Aug 2004 6:01 PM
    Updated: Mon, 16 Aug 2004 6:07 PM

Description:
The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).

I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too. 


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "fabrizio giustina (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_38274 ]
     
fabrizio giustina commented on MPWAR-30:
----------------------------------------

ps. the patch should be modified to only use jar:jar as a prereqs, so that it will not be called twice


> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


[jira] Commented: (MPWAR-30) [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib

Posted by "Felipe Leme (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MPWAR-30?page=comments#action_38219 ]
     
Felipe Leme commented on MPWAR-30:
----------------------------------

I was going to mark this as "Won't Fix" because it kind of goes against Maven way of doing thing (in other words, there should be a JAR project, a WAR project and a multi-project in this case), besides the fact of the jar goal being called twice.

But then I realized there are 3 votes for this issue. So, what should we do, keep it open, discuss the solution again or mark it as 'Won't Fix'?

-- Felipe


> [PATCH] Option to pack project classes inside a JAR into WEB-INF/lib
> --------------------------------------------------------------------
>
>          Key: MPWAR-30
>          URL: http://jira.codehaus.org/browse/MPWAR-30
>      Project: maven-war-plugin
>         Type: New Feature
>     Versions: 1.7
>     Reporter: Felipe Leme
>     Assignee: Felipe Leme
>  Attachments: maven_war_usesJar.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> The way the plugin works now, the project classes are packed under WEB-INF/classes. It would be nice if the plugin used the project's JAR instead, packing it under WEB-INF/lib. That feature would be really useful when the war is a secondary package for the project (for instance, when the main artifact is a JAR containg a taglib).
> I'm providing a patch for this change - if there is interest in applying it, I can write some test cases too.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org