I'll do it in the next few days! Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov
On Wed, Aug 12, 2015 at 12:54 PM, Joachim Rohde < mailingl...@joachimrohde.com> wrote: > Had anyone had the chance to have a look already at this? > > > On 07/31/2015 11:25 PM, Joachim Rohde wrote: > >> I finally found the time today to make those changes which you can find >> here: https://github.com/JoachimRohde/core >> >> Since the diff is "slightly" bigger than usually, here a short >> description of the relevant changes I made: >> >> - The animal sniffer plugin was integrated into the parent POM where it >> is now executed during the compile phase (see: >> >> https://github.com/wicketstuff/core/commit/5f68a8e7f9fb94dd4536817556aefb41aeb5afeb#diff-f44ca8b53c4fd9a67160bc238396d231 >> ) >> >> >> - Where it was necessary I overwrote the settings in the project POMs >> (see e.g.: >> >> https://github.com/wicketstuff/core/commit/5f68a8e7f9fb94dd4536817556aefb41aeb5afeb#diff-290ebaa69933b91a6f5c1e25f609062a >> ) >> >> >> - I moved all project folders to the root-folder and included the >> modules in the POM. The remaining JDK-specific folders with the >> respective POM has been removed. >> >> Same I did for the wicket-6.x branch. >> >> Any new project on the wicket-6.x branch which uses a newer JDK than >> version 6 would need to include following in the project POM: >> >> <build> >> <pluginManagement> >> <plugins> >> <!-- >> Overwrite compiler plugin configuration from parent-POM >> since we want this project to allow features from Java 7. >> --> >> <plugin> >> <groupId>org.apache.maven.plugins</groupId> >> <artifactId>maven-compiler-plugin</artifactId> >> <configuration> >> <source>1.7</source> >> <target>1.7</target> >> </configuration> >> </plugin> >> </plugins> >> </pluginManagement> >> <plugins> >> <!-- >> Overwrite animal sniffer plugin configuration from parent-POM >> since we want this project to allow features from Java 7. >> --> >> <plugin> >> <groupId>org.codehaus.mojo</groupId> >> <artifactId>animal-sniffer-maven-plugin</artifactId> >> >> <executions> >> <execution> >> <id>check-java-version</id> >> <phase>compile</phase> >> <goals> >> <goal>check</goal> >> </goals> >> <configuration> >> <signature> >> >> <groupId>org.codehaus.mojo.signature</groupId> >> <artifactId>java17</artifactId> >> <version>1.0</version> >> </signature> >> </configuration> >> </execution> >> </executions> >> </plugin> >> </plugins> >> </build> >> >> Same applies to new projects on the master branch which wants to take >> adavantage of the JDK 8. At the moment we don't have any projects which >> requires JDK 8. >> But since there is no signature from animal sniffer itself for JDK 8 >> yet, the project POM looks a bit different: >> >> >> <build> >> <pluginManagement> >> <plugins> >> <!-- >> Overwrite compiler plugin configuration from parent-POM >> since we want this project to allow features from Java 7. >> --> >> <plugin> >> <groupId>org.apache.maven.plugins</groupId> >> <artifactId>maven-compiler-plugin</artifactId> >> <configuration> >> <source>1.8</source> >> <target>1.8</target> >> </configuration> >> </plugin> >> </plugins> >> </pluginManagement> >> <plugins> >> <!-- >> Overwrite animal sniffer plugin configuration from parent-POM >> since we want this project to allow features from Java 7. >> --> >> <plugin> >> <groupId>org.codehaus.mojo</groupId> >> <artifactId>animal-sniffer-maven-plugin</artifactId> >> >> <executions> >> <execution> >> <id>check-java-version</id> >> <phase>compile</phase> >> <goals> >> <goal>check</goal> >> </goals> >> <configuration> >> <signature> >> >> <groupId>com.ianbrandt.maven.signature</groupId> >> <artifactId>java1.8</artifactId> >> <version>1.0</version> >> </signature> >> </configuration> >> </execution> >> </executions> >> </plugin> >> </plugins> >> </build> >> >> The artifact for the signature comes from >> https://github.com/ianbrandt/animal-sniffer-signatures and needs to be >> deployed manually to the local Maven repository since it's not available >> on Maven central. >> >> Any feedback is highly appreciated. (Anything unclear? Have I missed >> something?) >> >> Joachim >> >> On 05/17/2015 02:58 PM, Joachim Rohde wrote: >> >>> I would change both branches. If only one branch is changed nothing >>> would change (regarding the cherry picking). >>> >>> Joachim >>> >>> On 05/17/2015 02:23 PM, Martin Grigorov wrote: >>> >>>> Hi Joachim, >>>> >>>> What is your plan? Make the change only in master or also in >>>> wicket-6.x too? >>>> >>>> Martin Grigorov >>>> Wicket Training and Consulting >>>> https://twitter.com/mtgrigorov >>>> >>>> On Sun, May 17, 2015 at 12:46 PM, Joachim Rohde < >>>> mailingl...@joachimrohde.com> wrote: >>>> >>>> Hi Martin, >>>>> >>>>> time is a bit scarce for me at the moment. But I will give it a try >>>>> within >>>>> the next few weeks. >>>>> >>>>> Joachim >>>>> >>>>> >>>>> On 05/07/2015 08:21 AM, Martin Grigorov wrote: >>>>> >>>>> Hi Joachim, >>>>>> >>>>>> The reason to use two separate folders is that at deploy time we use >>>>>> [1]: >>>>>> $ cd jdk-1.6.x; JAVA_HOME=$JAVA_6_HOME mvn deploy .... >>>>>> $ cd ../jdk-7.x; JAVA_HOME=$JAVA_7_HOME mvn deploy .... >>>>>> $ cd ../jdk-8.x; JAVA_HOME=$JAVA_8_HOME mvn deploy .... >>>>>> >>>>>> With your approach we could just use JAVA_8_HOME for all of them. >>>>>> m-compiler-p's settings will set the appropriate -target for each >>>>>> module. >>>>>> But this is not enough - we have to use something like >>>>>> http://mojo.codehaus.org/animal-sniffer-maven-plugin/ to make sure >>>>>> that >>>>>> jdk >>>>>> 1.6/7.x modules do not use feature from a newer JDK, because >>>>>> compiler's >>>>>> -target won't help. >>>>>> >>>>>> I think it should work. >>>>>> Do you want to try it out? >>>>>> >>>>>> >>>>>> 1. >>>>>> >>>>>> >>>>>> https://github.com/wicketstuff/core/wiki/Wicket-Stuff-Core-Release-Process#steps-to-create-new-version >>>>>> >>>>>> >>>>>> >>>>>> Martin Grigorov >>>>>> Wicket Training and Consulting >>>>>> https://twitter.com/mtgrigorov >>>>>> >>>>>> On Wed, May 6, 2015 at 11:50 PM, Joachim Rohde < >>>>>> mailingl...@joachimrohde.com >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> >>>>>> Hi, >>>>>> >>>>>>> As I already mentioned the other day I was porting some changes from >>>>>>> master branch to the wicket-6.x branch ( >>>>>>> >>>>>>> >>>>>>> http://apache-wicket.1842946.n4.nabble.com/wicketstuff-Need-help-with-cherry-picking-td4670615.html >>>>>>> >>>>>>> >>>>>>> ) >>>>>>> and had some trouble doing so, since Git was not able to >>>>>>> cherry-pick my >>>>>>> changes due to a different folder structure. Since this was really >>>>>>> a pain >>>>>>> in the neck (and quite erroneous) I would like to know if we cannot >>>>>>> get >>>>>>> rid >>>>>>> of the distinction between different JDK versions in the folder >>>>>>> structure. >>>>>>> >>>>>>> At the moment all projects on the master branch are located in the >>>>>>> jdk-1.7-parent folder (since no project requires Java 8 yet, the >>>>>>> jdk-1.8-parent folder is empty). Most of those projects reside in the >>>>>>> jdk-1.6-parent folder on the wicket-6.x branch, making it >>>>>>> impossible to >>>>>>> simply downport changes via cherry-picking. Only difference between >>>>>>> the >>>>>>> POMs in those folders are the source- and target-level for the Maven >>>>>>> compiler plugin. >>>>>>> >>>>>>> Can't we just put everything in one folder and override source- and >>>>>>> target-level in the project specific POM if a project needs a higher >>>>>>> version than the default one? The only drawback I see at the >>>>>>> moment is >>>>>>> the >>>>>>> fact, that you cannot recognize at a first glance if a project >>>>>>> needs a >>>>>>> higher Java version. Or do I overlook here something? >>>>>>> >>>>>>> To be honest: I don't know if I would downport bigger changes on a >>>>>>> project >>>>>>> when myself only needs those changes on the master branch (since I'm >>>>>>> already using Wicket 1.7) and downporting is such a hassle. >>>>>>> >>>>>>> Joachim >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>> >>> >>