Thanks for the advices, I followed Henrique's technique and checked all the 
frameworks to clean up their poms.
I'm now done with the 42 frameworks, everything runs fine, tomorrow I will 
recycle an unused mini and turn it to an hudson build server.

Finally the mavenization process didn't took me so long (I had a small maven 
background).
Two sources helped me a lot with this :
- The quickstart page on the wiki
- The way it was done for wonder - wonder is the truth :)

Fred

Le 17 mars 2010 à 23:07, Lachlan Deck a écrit :

> On 18/03/2010, at 3:48 AM, Henrique Prange wrote:
> 
>> Hi Frédéric,
>> 
>> You can use the Maven dependency plug-in to analyze your pom and check which 
>> dependencies are required but not declared. Just run the following command:
>> 
>> mvn clean dependency:analyze
>> 
>> Cheers,
>> 
>> Henrique
>> 
>> On 17/03/10 13:30, Frédéric JECKER wrote:
>>> Sorry for the little off-topic post, but maybe if I'm lucky, someone on
>>> the list already solved the problem.
>>> So I'm mavenizing a huge app with a lot of frameworks.
>>> Some of them are core frameworks other frameworks rely on.
>>> i.e :
>>> Framework A depends on commons-lang
>>> Framework B depends on Framework A and also on commons-lang
>>> 
>>> If in the pom of Framework B I omit to declare the dependency on
>>> commons-lang, the framework will compile without complaining
>>> because at compile time, commons-lang will be provided by Framework A.
> 
> Naturally. It's a transient dependency, which is good.
> 
>>> This works nice but, I'd like my sub-pom to be the more precise as
>>> possible so that they declare every dependency they need.
> 
> Then if that's what you really want: declare the dependency and put 
> <scope>provided</scope>. The pom serves as intentional documentation also.
> 
>>> The problem is that with 42 frameworks to mavenize I'm going nuts.
>>> I'd like to configure maven to ignore transitive dependencies so that if
>>> a sub-pom is incomplete the build fails.
> 
> Seems like a strange requirement. You could temporarily rip out the 
> dependency from framework 'A' and just try packaging or installing 'B', but 
> Henrique's advice is better :)
> 
>>> I tried to disable the transitive dependencies using the following
>>> configuration but it doesn't seem to work :
>>> <plugin>
>>> <groupId>org.apache.maven.plugins</groupId>
>>> <artifactId>maven-dependency-plugin</artifactId>
>>> <executions>
>>> <execution>
>>> <id>resolve</id>
>>> <phase>compile</phase>
>>> <goals>
>>> <goal>resolve</goal>
>>> </goals>
>>> <configuration>
>>> <excludeTransitive>true</excludeTransitive>
>>> </configuration>
>>> </execution>
>>> </executions>
>>> </plugin>
> 
> Why are you doing this? Is this an organisationally pushed requirement?... 
> "What if someone forgets..."
> 
> I prefer the minimal approach (it's still carefully considered mind you) that 
> stems from OO principles of inheritance :) Do it once and override only if 
> necessary.
> 
> So things you can do instead:
> - assuming all your frameworks depend on commons-lang, for example, put all 
> your frameworks under 'frameworks' and in their parent pom, 
> frameworks/pom.xml, declare dependency on commons-lang and in your 
> trunk/pom.xml (or corporate pom) place commons-lang in dependency management 
> with scope compile.
> - OR, assuming all your stuff will use commons-lang declare it in the 
> upper-most parent pom. e.g., JUnit with scope test can go there.
> - OR, if you have a base framework, BaseFramework, that most other things 
> will use declare it there.
> 
> Just like inheritance, it will complain when things are missing that were 
> previously assumed to have been there. Should make your life much easier I 
> would have thought.
> 
> with regards,
> --
> 
> Lachlan Deck
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to