[ 
https://issues.apache.org/jira/browse/JCLOUDS-747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14165826#comment-14165826
 ] 

Andrew Gaul commented on JCLOUDS-747:
-------------------------------------

If an experienced Android developer steps forward and investigates the current 
level of compatibility and how we can improve it, I am in favor of including 
small changes to accommodate this compatibility.  However, the exact level of 
Java compatibility in Android is unclear and different versions support newer 
features like try-with-resources in 4.4.  I do not believe that we should try 
to guess how someone might use jclouds on Android and artificially restrict 
ourselves to older Java on master.  We have previously discussed making 1.8.x a 
long-lived branch if Java 6 users cannot move forward.

For what it's worth, Java 6 is increasingly losing support in some of jclouds 
dependencies and future versions of assertj and checkstyle will only support 
Java 7:

http://joel-costigliola.github.io/assertj/assertj-news.html
https://groups.google.com/forum/#!topic/checkstyle-devel/CvYiVq5lsNY

> Determine level of android support and how to ensure we keep it.
> ----------------------------------------------------------------
>
>                 Key: JCLOUDS-747
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-747
>             Project: jclouds
>          Issue Type: Improvement
>          Components: jclouds-core
>            Reporter: Adrian Cole
>
> One of the knock-on effects of moving on is tracking how we deal with 
> android. One way is to establish a floor android level we aim to support 
> (even if it is best efforts). That's due to the fact that android != java and 
> only a subset of features are present, on each version. Here's a handy link 
> that begins to discuss this complexity.
> http://stackoverflow.com/questions/20480090/does-android-support-jdk-6-or-7
> Modern android libraries typically use a combination of plugins and 
> integration tests to ensure android isn't accidentally broken. Some projects 
> just rely on folks to remember the rules.
> Here's an example of a signature-checking plugin
> {code}
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>animal-sniffer-maven-plugin</artifactId>
>         <version>${animal.sniffer.version}</version>
>         <executions>
>           <execution>
>             <phase>test</phase>
>             <goals>
>               <goal>check</goal>
>             </goals>
>           </execution>
>         </executions>
>         <configuration>
>           <signature>
>             <groupId>org.codehaus.mojo.signature</groupId>
>             <artifactId>java16</artifactId>
>             <version>1.1</version>
>           </signature>
>         </configuration>
>       </plugin>
> {code}
> In short, I think we should be careful and consciously decide whether certain 
> features that break some level of android support are worthwhile. We should 
> also note that entrypoints that aren't used by android callers will not 
> affect compatibility. In other words, we are most concerned with the common 
> paths.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to