Is all of this really solving some big problem? I really don't see a huge benefit here.
On Wed, Aug 21, 2013 at 9:27 AM, Jon Anstey <jans...@gmail.com> wrote: > I like the idea of having a pom just for versions. We could use Babak's > proposal but instead of introducing another level of inheritance, just make > one of the current top level poms mostly properties and push everything > else into the other pom. So, either org.apache.camel:camel or > org.apache.camel:camel-parent would become the "dependencies pom". Yes, > still non-standard from a Maven POV, but at least no less standard than we > already are :-) > > > On Mon, Aug 19, 2013 at 3:31 PM, Daniel Kulp <dk...@apache.org> wrote: > >> >> 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. >> >> 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 < >> > >> >> claus.ibsen@ >> > >> >> > 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 >> >>> < >> > >> >> babak.vahdat@ >> > >> >> > 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 >> >>>> < >> http://camel.465427.n5.nabble.com/file/n5737472/dependencies.diff> >> >>>> . >> >>>> >> >>>> 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-properties-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) < >> >>>> >> >>>>> apache@ >> >>>> >> >>>>> >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/read- >> >>>>>>> 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-for-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 >> >> > > > -- > Cheers, > Jon > --------------- > Red Hat, Inc. > Email: jans...@redhat.com > Web: http://redhat.com > Twitter: jon_anstey > Blog: http://janstey.blogspot.com > Author of Camel in Action: http://manning.com/ibsen