POM documentation for dependencies can be improved
--------------------------------------------------

                 Key: MGROOVY-183
                 URL: http://jira.codehaus.org/browse/MGROOVY-183
             Project: GMaven
          Issue Type: Improvement
          Components: site
    Affects Versions: 1.0-rc-4
         Environment: -
            Reporter: Jason Smith
            Assignee: Jason Dillon


I am submitting this bug/improvement partially because it makes the build 
better, and partially because I want to make sure it is valid.

I think it would be very helpful to have two or three examples like this on the 
wiki, where one example shows the setup for the latest production build, one 
shows the latest RC build, and maybe a couple of holdouts if there are weird 
things (like the ANT bug with 1.5.7, which relies on ANT 1.7.0 - see below).

In the documentation on the wiki, the dependencies constantly refer to the 
*gmaven-runtime-1.x* dependency.  While this dependency is great for the 
plugin, it puts extra, unnecessary artifacts into the production build 
artifact.  It also ties the groovy-all-minimal JAR into production builds, 
which is wonderful for the plugin (since you can easily exclude it), but awful 
for complex builds.  Here is an example of what I mean, and i am currently 
using the 1.5.7 version of this.  So it does work.  I've verified that my final 
build has just the dependencies I want to see.

For Groovy 1.6, this would go into the project dependencies.   
 
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy</artifactId>
            <version>1.6-RC-1</version>
        </dependency>

And this is the plugin definition I used.  Note that I am pulling out 
Groovy-all-minimal and replacing it with Groovy-all, since I was having 
problems resolving the 1.6-rc-1 Groovy-all-minimal artifact.  

            <plugin>
                <groupId>org.codehaus.groovy.maven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.0-rc-4</version>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy.maven.runtime</groupId>
                        <artifactId>gmaven-runtime-1.5</artifactId>
                        <version>1.0-rc-4</version>
                        <exclusions>
                            <exclusion>
                                <groupId>org.codehaus.groovy</groupId>
                                <artifactId>groovy-all-minimal</artifactId>
                            </exclusion>
                        </exclusions>                       
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-all</artifactId>
                        <version>1.6-RC-1</version>
                    </dependency>
                </dependencies>  
                <configuration>
                    <providerSelection>1.6</providerSelection>
                </configuration> 
                <executions>
                    <execution>
                        <goals>
                            <goal>generateStubs</goal>
                            <goal>compile</goal>
                            <goal>generateTestStubs</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions> 
            </plugin>

The markup is similar for the production 1.5.7 version, but I also replaced the 
ANT dependencies, since there is a problem in ANT 1.7.0 with resolving file 
paths with spaces.

        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy</artifactId>
            <version>1.5.7</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant-junit</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant-launcher</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-junit</artifactId>
            <version>1.7.1</version>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-launcher</artifactId>
            <version>1.7.1</version>
            <scope>runtime</scope>
        </dependency>



-- 
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 from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to