[ http://jira.codehaus.org/browse/MNG-3880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=156353#action_156353 ]
Anders Kr. Andersen commented on MNG-3880: ------------------------------------------ In this case my problem is that war:war (the package phase) is doing too much in one "job" The war:war will 1) copy the sources, classes, jars and resources into the pre-zipped directory, 2) generate manifest 3) zip the directory. The Weblogic build-manifests needs the final classes and jars for searching and make the "index" file. That is why I want to be able to add functionality to war:war before the zipping and manifest making takes place. I want to add my "job" in the mittle of this process, currently after the "copy" but before generating manifest. So I'm not sure that a "pre"/"post" chain helps here. Because the problem is that war:war does too many things. I feel good about adding more phases because it makes it more precise what Maven is doing. Once a man told me that "being precise" is a core quality in software making :-) > package phase devided into more specific phases > ----------------------------------------------- > > Key: MNG-3880 > URL: http://jira.codehaus.org/browse/MNG-3880 > Project: Maven 2 > Issue Type: Improvement > Components: Plugins and Lifecycle > Affects Versions: 2.0.9 > Reporter: Anders Kr. Andersen > > Currently the command mvn package will produce a zipped result file like > xx.war or xxx.jar > So I belive it must always be... > I suggest that the phase is devided into multiple pre phases like: > package-copy --> copies files to target/xxx-war (the prezipped > directory structure) > package-manifest --> generates the manifest to be packed into the zipped > result > package-maven --> generates the maven META-INF/maven files > package-compress --> zips the target/xxx-war into the file target/xxx-war.war > The reasoning for these suggestions is that I had a situation where I had to > add more files into the unpacked result. > This ended up more jobbi than I had thought because I had to manage the > manifest, maven and compress as well. > Best regards > /Anders > PS: My sample is a Weblogic Integration Problem with task > weblogic.ant.taskdefs.build.AnnotationManifestTask > The task will go through all classes and jars in the result and make a kind > of index and place the index into META-INF. > My code got ugly.... > I had to run the task yes, ofcause.. > But I had to do much more than I hoped. > 1) MANIFEST.MF (maven generates it under the final ZIP process) I had to > steal it from mavens ZIP > 2) META-INF/maven/.... (Maven also generates it under the final ZIP process). > I had to steal this as well > 3) the package phase will do the compress as well. I had to zip again !!! > (Maybe I could just update existing zip?, but i did not choose that) > If I had multiple steps in the package phase I could have made this > "customer-plugin" easier... > Here is the ugly code > <build-manifests moduleDir="${staging.dir}" > searchClasspathRef="annotation.manifest.search.path" > classpathRef="annotation.manifest.class.path" > verbose="false" > version="" > stagingDir="${project.build.directory}/manifest-work"/> > > <unzip src="${staging.dir}.${project.packaging}" > dest="${staging.dir}"> > <patternset> > <include name="META-INF/**/*.*"/> > </patternset> > </unzip> > <delete dir="${staging.dir}/WEB-INF/classes/META-INF/" /> > <delete file="${staging.dir}.${project.packaging}" /> > <zip destfile="${staging.dir}.${project.packaging}" encoding="UTF8" > whenempty="create"> > <fileset dir="${staging.dir}"/> > </zip> > -- 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