[
https://issues.apache.org/jira/browse/ATLAS-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16030929#comment-16030929
]
Graham Wallis commented on ATLAS-1849:
--------------------------------------
Any of the graph providers other than titan0 pre-req Java 8.
The way the titan1 code is built today is by activating a different maven
profile if the build is running with a 1.8 JDK - in which case the titan1 is
compiled and packaged. If the build is running with a 1.7 JDK then an empty jar
is built instead, in order to satisfy the build dependency; but of course such
a build (JDK 1.7 and titan1) is not functional. A similar profile-based
approach could be adopted for the other graph providers - e.g. JanusGraph. Or
we could adopt a different approach in the poms and just refuse to build with
an invalid combination of JDK and graph provider. I'm not sure I see any
advantage in building a combination that does not function; if there is merit
in doing so, we could continue to use the 'empty jar' approach - or we could
place a hard dependency on Java 8 - such that the other JIRAs depend on this
one.
> Atlas should prereq Java 8
> --------------------------
>
> Key: ATLAS-1849
> URL: https://issues.apache.org/jira/browse/ATLAS-1849
> Project: Atlas
> Issue Type: New Feature
> Reporter: Nigel Jones
>
> Atlas should move to assume Java 8 in order to remain current
> Java 7's last official release was in April 2015
> Java 8 was released in March 2014 and is the current release
> Java 9 is currently targetted for release in July 2017
> Various new components we wish to integrate, such as Janus Graph now quite
> sensibly depend on, and can take advantage of, Java 8. Whilst Atlas does
> build cleanly under java 8, the new capabilities cannot be used and more
> crucially any components requiring it can't be so easily integrated into the
> source. With Java 7 way out of focus there are more likely to be security
> exposures too.
> One of the current main environments Atlas is supported in is Hadoop. Hadoop
> 2.x is build with Java 7, though the very latest releases do at least support
> build with Java 8. Hadoop 3 which prereqs java 8 is due for release in August
> 2017
> However other environments in the enterprise need not be constrained by this
> dependency
> We need to decide how we will tackle this dependency change & mitigate the
> impacts - for example
> * we stay as-is until hadoop 3 is current/into 2018 (in my view too long)
> * we go all out on java 8 in the current trunk, and branches are cut for
> java 7 approach (I worry this is too much work to dual-fix)
> * we create multiple build profiles and carefully allow java8 code in as
> needed, but in such a way as a java7 version can still be built, albeit
> missing out on selective functionality - this could still be tricky, and has
> run-time dependency differences
> * if profiles we decide on default (once working I'd suggest 8...)
> Thoughts welcome :-)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)