I am having trouble getting trunk to build atm, so I looked at 2.1 first. Right away this bit of magic in the pom failed:

<snip>
                    <execution>
                        <id>copy-framework</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
<mkdir dir="$ {project.build.directory}/assembly"/> <copy todir="$ {project.build.directory}/assembly"> <fileset dir="$ {project.build.directory}/unpack/geronimo-framework-${version}">
                                    </fileset>
                                </copy>
<java classname="org.apache.geronimo.jaxws.builder.GShellCommandRegistration"
                                      fork="yes" failonerror="true">
<classpath refid="maven.runtime.classpath"/> <arg value="$ {project.build.directory}/assembly"/>
                                   <arg value="gsh-wsgen.properties"/>
                                </java>
                            </tasks>
                        </configuration>
                    </execution
</snip>

Obviously because the antrun classpath did not pick up anything, easily resolved by using dependencies for this plugin (or moving to gmaven, still unsure if mvn can handle redef of the plugin with dependencies in cases like this).

Then build dies missing legal files:

<snip>
[INFO] [tools:verify-legal-files {execution: verify-legal-files}]
[INFO] Checking legal files in: geronimo-tomcat6-javaee5-2.1.5- SNAPSHOT-bin.zip [INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------ [INFO] Artifact does not contain any legal files: geronimo-tomcat6- javaee5-2.1.5-SNAPSHOT-bin.zip

[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 13 seconds
[INFO] Finished at: Thu Jun 18 20:03:26 ICT 2009
[INFO] Final Memory: 99M/177M
[INFO] ------------------------------------------------------------------------
</snip>

So at least on 2.1 there looks to be some thing about dependency scope which is needed for the assembly to function. Once I get trunk to build I will check there too.

--jason


On Jun 18, 2009, at 4:31 AM, David Jencks wrote:


On Jun 17, 2009, at 1:36 AM, Jason Dillon wrote:

Why do the assemblies in the repository have dependencies? I realize that they are probably there to facilitate the build, but shouldn't they all be marked as <scope>provided</scope>?

The reason I think they should be, is that when a user wants to use the geronimo-maven-plugin with the assembly -bin in the repository, before they can even download the assembly -bin, first mvn has to go resolve every single dependency which is used to build that assembly -bin.

I think this is broken, while I can resolve by adding a tone of excludes, I think that this problem should be solved so that users can more easily consume the assembly artifacts we publish to the repository.

Any one know how easy/feasible with the current stuff (trunk and 2.1.x) it would be to mark all dependencies as provided?

Just thinking about it I don't see why it would cause problems. Would you like to try it and see if the server at least builds? If there are no obvious problems I'd be fine with this change.

thanks
david jencks


--jason

Reply via email to