hi all, any more thoughts on this? What concrete steps do we want to take, and when? What can I do to help out?
Plus, has anyone any views on Robert's question? cheers Geoff On Mon, 27 Feb 2017 at 14:21 Robert Moss <[email protected]> wrote: > Aled, > > WRT Java 8 features. Is it still recommended to use named inner classes > over anonymous inner classes? Can we now simplify those areas to use > lambdas? There are a number of classes now built into Java that were > previously provided by Guava etc. e.g. Optional, Predicate - should we > start using the Java 8 classes instead where possible? > > Robert > > On 27 February 2017 at 13:08, Aled Sage <[email protected]> wrote: > > > Hi all, > > > > I propose we switch to Java 8 for Apache Brooklyn (i.e. require Java 8; > > remove support for using Java 7 when running Brooklyn). > > > > This will make our testing simpler, improving coverage (e.g. we don't > > currently test everything with Brooklyn running both on Java 7 and Java > 8). > > It will make our lives easier as developers (e.g. don't need to worry > about > > Java 7 versus Java 8 when compiling, running tests and manually testing > > Brooklyn; and we can use Java 8 features). > > > > Java 7 reached end of life in April 2015 [1]; Java 8 was released March > > 2014. > > > > We can do this in three stages: > > > > * Switch to Java 8 as "official target" > > o Update our jenkins etc to always build/run with Java 8. > > o All developers/testers switch to Java 8 locally. > > o Add to the next release notes that Java 7 is no longer supported. > > * Update our poms so they don't compile/check for Java 7 compatibility > > [3,4,5]. > > * Developers free to start using Java 8 language features! > > > > Stage 1 would be the bare minimum for the next release; I think we should > > do all three stages before the 0.11.0 release. > > > > Aled > > > > [1] https://java.com/en/download/faq/java_7.xml > > [2] https://www.infoq.com/news/2015/05/Oracle-Ends-Java-7Public-Updates > > [3] https://github.com/apache/brooklyn-server/blob/master/pom.xml#L91 > > [4] https://github.com/apache/brooklyn-server/blob/master/parent > > /pom.xml#L557-L558 > > [5] https://github.com/apache/brooklyn-server/blob/master/parent > > /pom.xml#L950 > > > > >
