You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Jarek Gawor <jg...@gmail.com> on 2010/05/02 07:38:40 UTC

Re: Possible build tweaks

I must say that I never really trusted pom import scope mainly because
of http://jira.codehaus.org/browse/MNG-4052. The bug is resolved but I
just ran into the same (or similar) problem with Maven 2.2.1 and
trunk. To see the problem remove the
~/.m2/repository/org/apache/geronimo/plugins/j2ee/ directory from your
local repo and try to build trunk from the top in offline mode. Maven
will attempt to download the j2ee pom before it tires to build
anything. The same can also be clearly observed in the logs of the
automatic builds.

I guess I still don't quite trust pom import scope and I think we
should try to avoid or minimize our use of it (at least on snapshot
dependencies).

Jarek

On Mon, Apr 26, 2010 at 6:19 PM, David Jencks <da...@yahoo.com> wrote:
> I think our build is still perhaps more unwieldy than it needs to be.  I wonder if using the pom import scope more would help:
>
> 1. put some large sets of dependencies in dependency management such as in particular specs into separate "management only" poms
>
> 2. put versions of all the subprojects into dependency management of plugin poms... e.g. for connector_1.6 something like
>
>    <dependencyManagement>
>        <dependencies>
>
>            <!-- imports of other plugins -->
>            <dependency>
>                <groupId>org.apache.geronimo.framework</groupId>
>                <artifactId>framework</artifactId>
>                <version>${version}</version>
>                <type>pom</type>
>                <scope>import</scope>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.geronimo.plugins</groupId>
>                <artifactId>j2ee</artifactId>
>                <version>${version}</version>
>                <type>pom</type>
>                <scope>import</scope>
>            </dependency>
>
>            <!-- internal dependencies -->
>            <dependency>
>                <groupId>org.apache.geronimo.configs</groupId>
>                <artifactId>client-transaction-1_6</artifactId>
>                <version>${version}</version>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.geronimo.configs</groupId>
>                <artifactId>connector-deployer-1_6</artifactId>
>                <version>${version}</version>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.geronimo.configs</groupId>
>                <artifactId>transaction-1_6</artifactId>
>                <version>${version}</version>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.geronimo.modules</groupId>
>                <artifactId>geronimo-connector-1_6</artifactId>
>                <version>${version}</version>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.geronimo.modules</groupId>
>                <artifactId>geronimo-connector-builder-1_6</artifactId>
>                <version>${version}</version>
>            </dependency>
>            <dependency>
>                <groupId>org.apache.geronimo.modules</groupId>
>                <artifactId>geronimo-transaction-1_6</artifactId>
>                <version>${version}</version>
>            </dependency>
>            <!-- external dependencies -->
>            <dependency>
>                <groupId>org.tranql</groupId>
>                <artifactId>tranql-connector</artifactId>
>                <version>1.6-SNAPSHOT</version>
>            </dependency>
>
>            <dependency>
>                <groupId>org.apache.aries.transaction</groupId>
>                <artifactId>org.apache.aries.transaction.blueprint</artifactId>
>                <version>0.1-incubating-SNAPSHOT</version>
>            </dependency>
>        </dependencies>
>    </dependencyManagement>
>
>
> I think this makes the build more modular, makes clearer the relationships between plugins, and would be needed anyway should we decide to release plugins separately.
>
> What do other people think?
>
> thanks
> david jencks
>
>
>
>

Re: Possible build tweaks

Posted by David Jencks <da...@yahoo.com>.
On May 1, 2010, at 10:38 PM, Jarek Gawor wrote:

> I must say that I never really trusted pom import scope mainly because
> of http://jira.codehaus.org/browse/MNG-4052. The bug is resolved but I
> just ran into the same (or similar) problem with Maven 2.2.1 and
> trunk. To see the problem remove the
> ~/.m2/repository/org/apache/geronimo/plugins/j2ee/ directory from your
> local repo and try to build trunk from the top in offline mode. Maven
> will attempt to download the j2ee pom before it tires to build
> anything. The same can also be clearly observed in the logs of the
> automatic builds.

The bug is resolved for maven 3, so we should expect it to be a problem for maven 2.2.1.

What would you think of upgrading to maven 3.0-beta1, assuming it works?

thanks
david jencks

> 
> I guess I still don't quite trust pom import scope and I think we
> should try to avoid or minimize our use of it (at least on snapshot
> dependencies).
> 
> Jarek
> 
> On Mon, Apr 26, 2010 at 6:19 PM, David Jencks <da...@yahoo.com> wrote:
>> I think our build is still perhaps more unwieldy than it needs to be.  I wonder if using the pom import scope more would help:
>> 
>> 1. put some large sets of dependencies in dependency management such as in particular specs into separate "management only" poms
>> 
>> 2. put versions of all the subprojects into dependency management of plugin poms... e.g. for connector_1.6 something like
>> 
>>    <dependencyManagement>
>>        <dependencies>
>> 
>>            <!-- imports of other plugins -->
>>            <dependency>
>>                <groupId>org.apache.geronimo.framework</groupId>
>>                <artifactId>framework</artifactId>
>>                <version>${version}</version>
>>                <type>pom</type>
>>                <scope>import</scope>
>>            </dependency>
>>            <dependency>
>>                <groupId>org.apache.geronimo.plugins</groupId>
>>                <artifactId>j2ee</artifactId>
>>                <version>${version}</version>
>>                <type>pom</type>
>>                <scope>import</scope>
>>            </dependency>
>> 
>>            <!-- internal dependencies -->
>>            <dependency>
>>                <groupId>org.apache.geronimo.configs</groupId>
>>                <artifactId>client-transaction-1_6</artifactId>
>>                <version>${version}</version>
>>            </dependency>
>>            <dependency>
>>                <groupId>org.apache.geronimo.configs</groupId>
>>                <artifactId>connector-deployer-1_6</artifactId>
>>                <version>${version}</version>
>>            </dependency>
>>            <dependency>
>>                <groupId>org.apache.geronimo.configs</groupId>
>>                <artifactId>transaction-1_6</artifactId>
>>                <version>${version}</version>
>>            </dependency>
>>            <dependency>
>>                <groupId>org.apache.geronimo.modules</groupId>
>>                <artifactId>geronimo-connector-1_6</artifactId>
>>                <version>${version}</version>
>>            </dependency>
>>            <dependency>
>>                <groupId>org.apache.geronimo.modules</groupId>
>>                <artifactId>geronimo-connector-builder-1_6</artifactId>
>>                <version>${version}</version>
>>            </dependency>
>>            <dependency>
>>                <groupId>org.apache.geronimo.modules</groupId>
>>                <artifactId>geronimo-transaction-1_6</artifactId>
>>                <version>${version}</version>
>>            </dependency>
>>            <!-- external dependencies -->
>>            <dependency>
>>                <groupId>org.tranql</groupId>
>>                <artifactId>tranql-connector</artifactId>
>>                <version>1.6-SNAPSHOT</version>
>>            </dependency>
>> 
>>            <dependency>
>>                <groupId>org.apache.aries.transaction</groupId>
>>                <artifactId>org.apache.aries.transaction.blueprint</artifactId>
>>                <version>0.1-incubating-SNAPSHOT</version>
>>            </dependency>
>>        </dependencies>
>>    </dependencyManagement>
>> 
>> 
>> I think this makes the build more modular, makes clearer the relationships between plugins, and would be needed anyway should we decide to release plugins separately.
>> 
>> What do other people think?
>> 
>> thanks
>> david jencks
>> 
>> 
>> 
>>