Am 19.08.13 20:01 schrieb "Daniel Kulp" unter <dk...@apache.org>:

>
>On Aug 19, 2013, at 1:25 PM, Babak Vahdat <babak.vah...@swissonline.ch>
>wrote:
>
>> Hi Dan,
>> 
>> how exactly does your proposal look like? If I'm getting you right you
>> suggest to push all these properties up into the top most level POM we
>>have,
>> that is org.apache.camel:camel:2.12-SNAPSHOT right? But then again
>>we've got
>> the same problem as already today because these Maven properties would
>>be
>> mixed up with a lot of other stuff. And the intention here in this
>>thread is
>> the other way around, that's extract them out!
>
>I just don't see any value in pulling them out.  It doesn't solve any
>problem that isn't "trivial", but then creates an even greater confusion
>by having a more complicated and more non-standard build system.

Yeah indeed everybody is free to have his own opinion, especially when it
comes to the open source community :)

Babak

>
>Seriously, if you do:
>
>git diff a1acd3454e91e7388f4165715b823fa4749502ea parent/pom.xml
>
>(which is the diff between master and 2.11.0)
>
>There is very little that would not be part of the "diff" that would be
>provided from your proposal, but there is additional information in there
>that is important that your proposal would miss. (like the dropping of
>the spring3 profile and the changing of the groupId/artifactId on the
>ehcache things, different Saxon artifact ID)
>
>I would suggest just removing all the camel components from the
>parent/pom.xml and adding <version>${project.version}</version> in the
>places that actually depend on them.  Defining dependencies on stuff you
>are building like this in the parent depmngt section is again one of
>those 'kind of non-standard' type things.   Most of the components are
>only  imported into the assembly and the tests so it's not a "huge" deal.
>  
>
>
>
>Dan
>
>
>
>
>> 
>> Babak
>> 
>> 
>> dk...@apache.org wrote
>>> Personally, I was going to suggest going the other direction and
>>> completely get rid of the "parent" pom and move everything into the top
>>> level pom.   We already have a non-standard maven layout due to the
>>>parent
>>> pom which can be confusing for people (and tools).   I'd much rather
>>>try
>>> and find a way to go back to a more standard layout than introduce yet
>>> another layer in there to make it even more non-standard.
>>> 
>>> That's my opinion.
>>> 
>>> Dan
>>> 
>>> 
>>> 
>>> On Aug 18, 2013, at 8:35 AM, Claus Ibsen &lt;
>> 
>>> claus.ibsen@
>> 
>>> &gt; wrote:
>>> 
>>>> Hi
>>>> 
>>>> Yeah Babak's idea sounds good. Having that 2-level of parents.
>>>> 
>>>> On Sun, Aug 18, 2013 at 1:55 PM, Babak Vahdat
>>>> &lt;
>> 
>>> babak.vahdat@
>> 
>>> &gt; wrote:
>>>>> I just tried out a different approach which:
>>>>> 
>>>>> - doesn't require any Maven plugin usage.
>>>>> - doesn't require to convert the Maven properties from the XML
>>>>>format to
>>>>> the
>>>>> Java properties file format etc.
>>>>> - is really simple.
>>>>> 
>>>>> So the idea is to simply bump one more level of parent-child
>>>>>dependency
>>>>> into
>>>>> our POM hierarchy (org.apache.camel:camel-dependencies:2.12-SNAPSHOT)
>>>>> which
>>>>> contains all the Maven properties of our 3rd party dependencies. And
>>>>> this is
>>>>> the diff for it  dependencies.diff
>>>>> 
>>>>>&lt;http://camel.465427.n5.nabble.com/file/n5737472/dependencies.diff&;
>>>>>gt; 
>>>>> .
>>>>> 
>>>>> Then for the release notes of the upcomming 2.12.0 release we could
>>>>>just
>>>>> add
>>>>> the following link about our 3rd party dependencies, of course right
>>>>>now
>>>>> this resource doesn't exist on the central repo :-)
>>>>> 
>>>>>http://search.maven.org/remotecontent?filepath=org/apache/camel/camel-
>>>>>dependencies/2.12.0/camel-dependencies-2.12.0.pom
>>>>> 
>>>>> 
>>>>> For example in case of our Camel Parent POM of the 2.11.1 release the
>>>>> link
>>>>> is:
>>>>> 
>>>>>http://search.maven.org/remotecontent?filepath=org/apache/camel/camel-
>>>>>parent/2.11.1/camel-parent-2.11.1.pom
>>>>> 
>>>>> Babak
>>>>> 
>>>>> 
>>>>> R. Sirchia wrote
>>>>>> Hi,
>>>>>> 
>>>>>> Why don't you do it the other way around?
>>>>>> 
>>>>>> I understand from Claus that his desire is not so much to manage the
>>>>>> dependencies and their versions in a different file, but just to
>>>>>> provide a
>>>>>> file where the version properties can be easily read from and diffed
>>>>>> between releases.
>>>>>> 
>>>>>> In that case, you could simply leave everything as it is and use the
>>>>>> properties maven plugin to write the existing properties to a
>>>>>> properties
>>>>>> file:
>>>>>> 
>>>>>>http://mojo.codehaus.org/properties-maven-plugin/write-project-proper
>>>>>>ties-mojo.html
>>>>>> 
>>>>>> Optionally, the end result can be filtered using for example a
>>>>>> maven-antrun-plugin goal to leave out any non-version properties,
>>>>>>which
>>>>>> should be easy as the version definitions (can easilly be made to)
>>>>>> follow
>>>>>> a
>>>>>> certain naming convention.
>>>>>> 
>>>>>> The end result (a clean *.properties file) can then be attached
>>>>>>using
>>>>>> the
>>>>>> build-helper plugin. It is then available in Maven Central to be
>>>>>> referenced
>>>>>> from the release notes, diffed or imported by any user, etc.
>>>>>> 
>>>>>> Riccardo
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Sat, Aug 17, 2013 at 10:23 PM, Jan Matèrne (jhm) &lt;
>>>>> 
>>>>>> apache@
>>>>> 
>>>>>> &gt;wrote:
>>>>>> 
>>>>>>> I just played with that maven plugin.
>>>>>>> The problem is that it loads the properties after the validation
>>>>>>> phase.
>>>>>>> 
>>>>>>> That wont work:
>>>>>>> 
>>>>>>> 
>>>>> 
>>>>>>> 
>>>>>> 
>>> <project>
>>>>>>> 
>>>>>> 
>>> <modelVersion>
>>>>>> 4.0.0
>>>>>> 
>>> </modelVersion>
>>>>>>> 
>>>>>>> 
>>>>>> 
>>> <groupId>
>>>>>> just-test
>>>>>> 
>>> </groupId>
>>>>>>> 
>>>>>> 
>>> <artifactId>
>>>>>> version-test
>>>>>> 
>>> </artifactId>
>>>>>>> 
>>>>>> 
>>> <version>
>>>>>> 1.0
>>>>>> 
>>> </version>
>>>>>>> 
>>>>>>> 
>>>>>> 
>>> <build>
>>>>>>> 
>>>>>> 
>>> <plugins>
>>>>>>> 
>>>>>> 
>>> <plugin>
>>>>>>> 
>>>>>> 
>>> <groupId>
>>>>>> org.codehaus.mojo
>>>>>> 
>>> </groupId>
>>>>>>> 
>>>>>> 
>>> <artifactId>
>>>>>> properties-maven-plugin
>>>>>> 
>>> </artifactId>
>>>>>>> 
>>>>>> 
>>> <version>
>>>>>> 1.0-alpha-2
>>>>>> 
>>> </version>
>>>>>>> 
>>>>>> 
>>> <executions>
>>>>>>> 
>>>>>> 
>>> <execution>
>>>>>>> 
>>>>>> 
>>> <phase>
>>>>>> initialize
>>>>>> 
>>> </phase>
>>>>>>> 
>>>>>> 
>>> <goals>
>>>>>>> 
>>>>>> 
>>> <goal>
>>>>>> read-project-properties
>>>>>> 
>>> </goal>
>>>>>>> 
>>>>>> 
>>> </goals>
>>>>>>> 
>>>>>> 
>>> <configuration>
>>>>>>> 
>>>>>> 
>>> <files>
>>>>>>> 
>>>>>> 
>>> <file>
>>>>>> versions.properties
>>>>>> 
>>> </file>
>>>>>>> 
>>>>>> 
>>> </files>
>>>>>>> 
>>>>>> 
>>> </configuration>
>>>>>>> 
>>>>>> 
>>> </execution>
>>>>>>> 
>>>>>> 
>>> </executions>
>>>>>>> 
>>>>>> 
>>> </plugin>
>>>>>>> 
>>>>>> 
>>> </plugins>
>>>>>>> 
>>>>>> 
>>> </build>
>>>>>>> 
>>>>>>> 
>>>>>> 
>>> <dependencies>
>>>>>>> 
>>>>>> 
>>> <dependency>
>>>>>>> 
>>>>>> 
>>> <groupId>
>>>>>> junit
>>>>>> 
>>> </groupId>
>>>>>>> 
>>>>>> 
>>> <artifactId>
>>>>>> junit
>>>>>> 
>>> </artifactId>
>>>>>>> 
>>>>>> 
>>> <version>
>>>>>> ${junit}
>>>>>> 
>>> </version>
>>>>>>> 
>>>>>> 
>>> </dependency>
>>>>>>> 
>>>>>> 
>>> </dependencies>
>>>>>>> 
>>>>>> 
>>> </project>
>>>>>>> 
>>>>>>> 
>>>>>>> I also tried putting a
>>>>>>> 
>>>>>> 
>>> <properties>
>>>>>>> 
>>>>>> 
>>> <junit>
>>>>>> 1
>>>>>> 
>>> </junit>
>>>>>>> 
>>>>>> 
>>> </properties>
>>>>>>> as placeholder for the validation doesnt work.
>>>>>>> The property is not changed to the stored junit=4.9 in my file.
>>>>>>> 
>>>>>>> 
>>>>>>> Current ideas:
>>>>>>> - building our own mvn plugin (enhancing that plugin) for loading
>>>>>>>the
>>>>>>> props
>>>>>>> and overwrite existing properties
>>>>>>> - generate a valid pom from the version-list
>>>>>>> 
>>>>>>> 
>>>>>>> Jan
>>>>>>> 
>>>>>>> 
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Babak Vahdat [mailto:
>>>>> 
>>>>>> babak.vahdat@
>>>>> 
>>>>>> ]
>>>>>>>> Gesendet: Samstag, 17. August 2013 21:48
>>>>>>>> An:
>>>>> 
>>>>>> dev@.apache
>>>>> 
>>>>>>>> Betreff: Re: [IDEA] - Having a parent maven pom.xml for only the
>>>>>>>> dependency versions
>>>>>>>> 
>>>>>>>> Hi
>>>>>>>> 
>>>>>>>> what I'm aware of for this purpose is the following plugin:
>>>>>>>> 
>>>>>>>> http://mojo.codehaus.org/properties-maven-plugin/usage.html
>>>>>>>> 
>>>>>>>> However it's not maintained anymore since 2009!
>>>>>>>> 
>>>>>>>> The other option would be to use the Kuali's plugin but I'm not
>>>>>>>>sure
>>>>>>>> about it's licence (it's already available in central repo):
>>>>>>>> 
>>>>>>>> 
>>>>>>>>http://site.kuali.org/maven/plugins/properties-maven-plugin/1.1.9/r
>>>>>>>>ead-
>>>>>>>> project-properties-mojo.html
>>>>>>>> 
>>>>>>>> No matter which one we would want to make use of, the tough part
>>>>>>>>of
>>>>>>>> this would be to convert the lines like:
>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>> <ahc-version>
>>>>>> 1.7.19
>>>>>> 
>>> </ahc-version>
>>>>>>>> 
>>>>>>>> into:
>>>>>>>> 
>>>>>>>> ahc-version=1.7.19
>>>>>>>> 
>>>>>>>> But it should be possible to automate this conversion with couple
>>>>>>>>of
>>>>>>>> lines of code, or maybe even a new Camel date format for this
>>>>>>>>purpose
>>>>>>>> :-)
>>>>>>>> 
>>>>>>>> Babak
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Claus Ibsen-2 wrote
>>>>>>>>> Hi
>>>>>>>>> 
>>>>>>>>> Today we have the parent/pom.xml file which has both all the
>>>>>>>>> versions
>>>>>>>>> of the 3rd party JARs we have as dependencies. And also a list of
>>>>>>>>> all
>>>>>>>>> the camel components and some other stuff.
>>>>>>>>> 
>>>>>>>>> I wonder if we could have all the dependency versions in a single
>>>>>>>>> file, without all the other stuff.
>>>>>>>>> 
>>>>>>>>> This would make it easier for ppl to see what are the version
>>>>>>>>> changes
>>>>>>>>> between any two Camel versions, but just diff the 2 files?
>>>>>>>>> 
>>>>>>>>> And also we could just have such a link in the release notes so
>>>>>>>>>we
>>>>>>>>> dont have to manually keep all the versions upgrades in the
>>>>>>>>>release
>>>>>>>>> notes up to date as well.
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> -----------------
>>>>>>>>> Red Hat, Inc.
>>>>>>>>> Email:
>>>>>>>> 
>>>>>>>>> cibsen@
>>>>>>>> 
>>>>>>>>> Twitter: davsclaus
>>>>>>>>> Blog: http://davsclaus.com
>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>>http://camel.465427.n5.nabble.com/IDEA-
>>>>>>>> Having-a-parent-maven-pom-xml-for-only-the-dependency-versions-
>>>>>>>> tp5737322p5737460.html
>>>>>>>> Sent from the Camel Development mailing list archive at
>>>>>>>>Nabble.com.
>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> View this message in context:
>>>>> 
>>>>>http://camel.465427.n5.nabble.com/IDEA-Having-a-parent-maven-pom-xml-f
>>>>>or-only-the-dependency-versions-tp5737322p5737472.html
>>>>> Sent from the Camel Development mailing list archive at Nabble.com.
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Claus Ibsen
>>>> -----------------
>>>> Red Hat, Inc.
>>>> Email: 
>> 
>>> cibsen@
>> 
>>>> Twitter: davsclaus
>>>> Blog: http://davsclaus.com
>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>> 
>>> -- 
>>> Daniel Kulp
>> 
>>> dkulp@
>> 
>>> - http://dankulp.com/blog
>>> Talend Community Coder - http://coders.talend.com
>> 
>> 
>> 
>> 
>> 
>> --
>> View this message in context:
>>http://camel.465427.n5.nabble.com/IDEA-Having-a-parent-maven-pom-xml-for-
>>only-the-dependency-versions-tp5737322p5737525.html
>> Sent from the Camel Development mailing list archive at Nabble.com.
>
>-- 
>Daniel Kulp
>dk...@apache.org - http://dankulp.com/blog
>Talend Community Coder - http://coders.talend.com
>


Reply via email to