commits@javamail.java.net

[javamail~mercurial:846] Work around Android bug that doesn't return the SocketChannel

From: <shannon_at_java.net>
Date: Mon, 22 Aug 2016 18:59:56 +0000

Project: javamail
Repository: mercurial
Revision: 846
Author: shannon
Date: 2016-08-19 21:04:32 UTC
Link:

Log Message:
------------
Update version to 1.6.0-SNAPSHOT.
Fix typo in comment.
Build with JDK 1.8 but target 1.7.
MailSessionDefinition should use Repeatable annotation for Java EE 8 - bug 8398
Work around Android bug that doesn't return the SocketChannel
for SSLSocket.getChannel - bug 8399


Revisions:
----------
842
843
844
845
846


Modified Paths:
---------------
android/activation/pom.xml
android/mail/pom.xml
android/pom.xml
client/pom.xml
demo/pom.xml
dsn/pom.xml
gimap/pom.xml
imap/pom.xml
javadoc/pom.xml
logging/pom.xml
mail/pom.xml
mailapi/pom.xml
mailapijar/pom.xml
mailhandler/pom.xml
mbox/native/pom.xml
mbox/pom.xml
oldmail/pom.xml
outlook/pom.xml
parent-distrib/pom.xml
pom.xml
pop3/pom.xml
publish/pom.xml
servlet/pom.xml
smtp/pom.xml
taglib/pom.xml
webapp/pom.xml
mail/src/main/java/com/sun/mail/imap/IdleManager.java
doc/release/CHANGES.txt
mail/src/main/java/javax/mail/MailSessionDefinition.java
mail/src/main/java/com/sun/mail/iap/Protocol.java


Diffs:
------
diff -r 8129aa1dd1c4 -r c43de48a9c4f android/activation/pom.xml
--- a/android/activation/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/android/activation/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>android</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f android/mail/pom.xml
--- a/android/mail/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/android/mail/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -52,7 +52,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>android</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f android/pom.xml
--- a/android/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/android/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f client/pom.xml
--- a/client/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/client/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f demo/pom.xml
--- a/demo/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/demo/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f dsn/pom.xml
--- a/dsn/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/dsn/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f gimap/pom.xml
--- a/gimap/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/gimap/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f imap/pom.xml
--- a/imap/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/imap/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>parent-distrib</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         <relativePath>../parent-distrib/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 8129aa1dd1c4 -r c43de48a9c4f javadoc/pom.xml
--- a/javadoc/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/javadoc/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,13 +48,13 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>
     <artifactId>javadoc</artifactId>
     <packaging>pom</packaging>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     <name>JavaMail API javadocs</name>
     <description>${project.name}</description>
 

diff -r 8129aa1dd1c4 -r c43de48a9c4f logging/pom.xml
--- a/logging/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/logging/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f mail/pom.xml
--- a/mail/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/mail/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -3,7 +3,7 @@
 
     DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
- Copyright (c) 1997-2015 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1997-2016 Oracle and/or its affiliates. All rights reserved.
 
     The contents of this file are subject to the terms of either the GNU
     General Public License Version 2 only ("GPL") or the Common Development
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>
@@ -103,12 +103,10 @@
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
- <source>1.5</source>
- <target>1.5</target>
+ <source>1.8</source>
+ <target>1.8</target>
                         <compilerArgs>
                                 <arg>-Xlint</arg>
- <!-- 1.5 is obsolete and will be removed in a future release -->
- <arg>-Xlint:-options</arg>
                                 <arg>-Xlint:-finally</arg>
                                 <arg>-Werror</arg>
                         </compilerArgs>

diff -r 8129aa1dd1c4 -r c43de48a9c4f mailapi/pom.xml
--- a/mailapi/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/mailapi/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -56,7 +56,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f mailapijar/pom.xml
--- a/mailapijar/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/mailapijar/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -55,7 +55,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>javax.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f mailhandler/pom.xml
--- a/mailhandler/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/mailhandler/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>parent-distrib</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         <relativePath>../parent-distrib/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 8129aa1dd1c4 -r c43de48a9c4f mbox/native/pom.xml
--- a/mbox/native/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/mbox/native/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 8129aa1dd1c4 -r c43de48a9c4f mbox/pom.xml
--- a/mbox/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/mbox/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f oldmail/pom.xml
--- a/oldmail/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/oldmail/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -53,7 +53,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>javax.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f outlook/pom.xml
--- a/outlook/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/outlook/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f parent-distrib/pom.xml
--- a/parent-distrib/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/parent-distrib/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f pom.xml
--- a/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -3,7 +3,7 @@
 
     DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 
- Copyright (c) 1997-2015 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1997-2016 Oracle and/or its affiliates. All rights reserved.
 
     The contents of this file are subject to the terms of either the GNU
     General Public License Version 2 only ("GPL") or the Common Development
@@ -54,7 +54,7 @@
     <groupId>com.sun.mail</groupId>
     <artifactId>all</artifactId>
     <packaging>pom</packaging>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     <name>JavaMail API distribution</name>
     <description>${project.name}</description>
     <url>http://javamail.java.net</url>
@@ -85,9 +85,9 @@
     </organization>
 
     <properties>
- <mail.version>1.5.6</mail.version>
+ <mail.version>1.6.0-SNAPSHOT</mail.version>
         <!-- like mail.version, but with underscores instead of dots -->
- <mail.zipversion>1_5_6</mail.zipversion>
+ <mail.zipversion>1_6_0-SNAPSHOT</mail.zipversion>
         <mail.spec.version>1.5</mail.spec.version>
         <!-- defaults that are overridden in mail module -->
         <mail.extensionName>
@@ -280,42 +280,6 @@
                 </plugins>
             </build>
         </profile>
-
- <!--
- A special profile for compiling with the real JDK 1.5
- compiler, to make sure there are no accidental dependencies
- on JDK 1.6 or newer APIs. Set the property javac.path to the path
- to the JDK 1.5 compiler, e.g.,
- "mvn -P1.5 -Djavac.path=/opt/jdk1.5/bin/javac".
- -->
- <profile>
- <id>1.5</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <executions>
- <execution>
- <id>default-compile</id>
- <configuration>
- <fork>true</fork>
- <executable>${javac.path}</executable>
- <compilerVersion>1.5</compilerVersion>
- <source>1.5</source>
- <target>1.5</target>
- <compilerArgs combine.self="override">
- <arg>-Xlint</arg>
- <arg>-Xlint:-finally</arg>
- </compilerArgs>
- <showDeprecation>true</showDeprecation>
- <showWarnings>true</showWarnings>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
     </profiles>
 
     <build>
@@ -414,7 +378,7 @@
             </plugin>
 
             <!--
- Use the 1.5 compiler for JavaMail itself and the test classes.
+ Use the 1.8 compiler for JavaMail itself and the test classes.
             -->
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
@@ -422,8 +386,8 @@
                     <execution>
                         <id>default-compile</id>
                         <configuration>
- <source>1.5</source>
- <target>1.5</target>
+ <source>1.8</source>
+ <target>1.8</target>
                             <!--
                                 XXX - workaround for bug in maven compiler
                                 plugin versions 3.0 - 3.3 (at least):
@@ -435,8 +399,8 @@
                     <execution>
                         <id>default-testCompile</id>
                         <configuration>
- <source>1.5</source>
- <target>1.5</target>
+ <source>1.8</source>
+ <target>1.8</target>
                         </configuration>
                     </execution>
                 </executions>

diff -r 8129aa1dd1c4 -r c43de48a9c4f pop3/pom.xml
--- a/pop3/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/pop3/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>parent-distrib</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         <relativePath>../parent-distrib/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 8129aa1dd1c4 -r c43de48a9c4f publish/pom.xml
--- a/publish/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/publish/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,13 +48,13 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>
     <artifactId>publish</artifactId>
     <packaging>pom</packaging>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     <name>JavaMail API publish project</name>
 
     <build>
@@ -89,44 +89,44 @@
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
     <!--
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>demo</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>client</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>servlet</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>webapp</artifactId>
             <type>war</type>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>taglib</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>logging</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>outlook</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         </dependency>
     -->
     </dependencies>

diff -r 8129aa1dd1c4 -r c43de48a9c4f servlet/pom.xml
--- a/servlet/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/servlet/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f smtp/pom.xml
--- a/smtp/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/smtp/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>parent-distrib</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
         <relativePath>../parent-distrib/pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

diff -r 8129aa1dd1c4 -r c43de48a9c4f taglib/pom.xml
--- a/taglib/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/taglib/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>

diff -r 8129aa1dd1c4 -r c43de48a9c4f webapp/pom.xml
--- a/webapp/pom.xml Mon Aug 08 17:20:12 2016 -0700
+++ b/webapp/pom.xml Mon Aug 15 13:22:41 2016 -0700
@@ -48,7 +48,7 @@
     <parent>
         <groupId>com.sun.mail</groupId>
         <artifactId>all</artifactId>
- <version>1.5.6</version>
+ <version>1.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.sun.mail</groupId>


diff -r c43de48a9c4f -r 8f1d36e09621 mail/src/main/java/com/sun/mail/imap/IdleManager.java
--- a/mail/src/main/java/com/sun/mail/imap/IdleManager.java Mon Aug 15 13:22:41 2016 -0700
+++ b/mail/src/main/java/com/sun/mail/imap/IdleManager.java Mon Aug 15 13:23:30 2016 -0700
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014-2016 Oracle and/or its affiliates. All rights reserved.
  *
  * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common Development
@@ -346,7 +346,7 @@
         Set<SelectionKey> selectedKeys = selector.selectedKeys();
         /*
          * XXX - this is simpler, but it can fail with
- * ConncurentModificationException
+ * ConcurrentModificationException
          *
         for (SelectionKey sk : selectedKeys) {
             selectedKeys.remove(sk); // only process each key once


diff -r 8f1d36e09621 -r a1527827672c mail/pom.xml
--- a/mail/pom.xml Mon Aug 15 13:23:30 2016 -0700
+++ b/mail/pom.xml Fri Aug 19 12:56:17 2016 -0700
@@ -89,6 +89,39 @@
         </findbugs.exclude>
     </properties>
 
+ <profiles>
+ <!--
+ A special profile for compiling with the real JDK 1.7 compiler.
+ Exclude MailSessionDefinition and MailSessionDefinitions since
+ the former requires JDK 1.8 and the latter depends on the former.
+ -->
+ <profile>
+ <id>1.7</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <excludes>
+ <exclude>
+ javax/mail/MailSessionDefinition.java
+ </exclude>
+ <exclude>
+ javax/mail/MailSessionDefinitions.java
+ </exclude>
+ </excludes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
     <build>
         <resources>
             <resource>
@@ -99,19 +132,25 @@
         <plugins>
             <!--
                 Configure compiler plugin to print lint warnings.
+ Need to exclude options warning because bootstrap
+ classpath isn't set (on purpose).
+ Need to exclude path warnings because Maven includes
+ source directories that don't exist (e.g., generated-sources).
             -->
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
- <source>1.8</source>
- <target>1.8</target>
- <compilerArgs>
- <arg>-Xlint</arg>
- <arg>-Xlint:-finally</arg>
- <arg>-Werror</arg>
- </compilerArgs>
- <showDeprecation>true</showDeprecation>
- <showWarnings>true</showWarnings>
+ <source>1.7</source>
+ <target>1.7</target>
+ <compilerArgs>
+ <arg>-Xlint</arg>
+ <arg>-Xlint:-finally</arg>
+ <arg>-Xlint:-options</arg>
+ <arg>-Xlint:-path</arg>
+ <arg>-Werror</arg>
+ </compilerArgs>
+ <showDeprecation>true</showDeprecation>
+ <showWarnings>true</showWarnings>
                 </configuration>
             </plugin>
 

diff -r 8f1d36e09621 -r a1527827672c pom.xml
--- a/pom.xml Mon Aug 15 13:23:30 2016 -0700
+++ b/pom.xml Fri Aug 19 12:56:17 2016 -0700
@@ -119,7 +119,7 @@
         <mail.probeFile/>
         <!-- for the osgiversion-maven-plugin -->
         <hk2.plugin.version>2.0.0</hk2.plugin.version>
- <javac.path>/opt/jdk1.5/bin/javac</javac.path>
+ <javac.path>/opt/jdk1.7/bin/javac</javac.path>
         <project.build.sourceEncoding>iso-8859-1</project.build.sourceEncoding>
         <findbugs.threshold>
             High
@@ -280,6 +280,36 @@
                 </plugins>
             </build>
         </profile>
+
+ <!--
+ A special profile for compiling with the real JDK 1.7
+ compiler, to make sure there are no accidental dependencies
+ on JDK 1.8 or newer APIs. Set the property javac.path to the path
+ to the JDK 1.7 compiler, e.g.,
+ "mvn -P1.7 -Djavac.path=/opt/jdk1.7/bin/javac".
+ -->
+ <profile>
+ <id>1.7</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <fork>true</fork>
+ <executable>${javac.path}</executable>
+ <compilerVersion>1.7</compilerVersion>
+ <source>1.7</source>
+ <target>1.7</target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
     </profiles>
 
     <build>
@@ -378,7 +408,10 @@
             </plugin>
 
             <!--
- Use the 1.8 compiler for JavaMail itself and the test classes.
+ Use the 1.8 compiler for JavaMail itself and the test classes,
+ but restrict it to 1.7 source and target. The 1.8 compiler is
+ used *only* to pick up the definition of the Repeatable
+ annotation, needed by MailServiceDefinition.
             -->
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
@@ -386,8 +419,8 @@
                     <execution>
                         <id>default-compile</id>
                         <configuration>
- <source>1.8</source>
- <target>1.8</target>
+ <source>1.7</source>
+ <target>1.7</target>
                             <!--
                                 XXX - workaround for bug in maven compiler
                                 plugin versions 3.0 - 3.3 (at least):
@@ -399,8 +432,8 @@
                     <execution>
                         <id>default-testCompile</id>
                         <configuration>
- <source>1.8</source>
- <target>1.8</target>
+ <source>1.7</source>
+ <target>1.7</target>
                         </configuration>
                     </execution>
                 </executions>


diff -r a1527827672c -r 3c3178d38f93 doc/release/CHANGES.txt
--- a/doc/release/CHANGES.txt Fri Aug 19 12:56:17 2016 -0700
+++ b/doc/release/CHANGES.txt Fri Aug 19 13:54:31 2016 -0700
@@ -15,6 +15,13 @@
 longer available.
 
 
+ CHANGES IN THE 1.6.0 RELEASE
+ ----------------------------
+The following bugs have been fixed in the 1.5.6 release.
+
+K 8398 MailSessionDefinition should use the Repeatable annotation for Java EE 8
+
+
                   CHANGES IN THE 1.5.6 RELEASE
                   ----------------------------
 The following bugs have been fixed in the 1.5.6 release.

diff -r a1527827672c -r 3c3178d38f93 mail/src/main/java/javax/mail/MailSessionDefinition.java
--- a/mail/src/main/java/javax/mail/MailSessionDefinition.java Fri Aug 19 12:56:17 2016 -0700
+++ b/mail/src/main/java/javax/mail/MailSessionDefinition.java Fri Aug 19 13:54:31 2016 -0700
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright (c) 2012-2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012-2016 Oracle and/or its affiliates. All rights reserved.
  *
  * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common Development
@@ -44,6 +44,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
+import java.lang.annotation.Repeatable;
 
 /**
  * Annotation used by Java EE applications to define a <code>MailSession</code>
@@ -61,6 +62,7 @@
  */
 @Target({ElementType.TYPE})
 @Retention(RetentionPolicy.RUNTIME)
+_at_Repeatable(MailSessionDefinitions.class)
 public @interface MailSessionDefinition {
 
     /**


diff -r 3c3178d38f93 -r 5b6fe1659601 doc/release/CHANGES.txt
--- a/doc/release/CHANGES.txt Fri Aug 19 13:54:31 2016 -0700
+++ b/doc/release/CHANGES.txt Fri Aug 19 14:04:32 2016 -0700
@@ -20,6 +20,7 @@
 The following bugs have been fixed in the 1.5.6 release.
 
 K 8398 MailSessionDefinition should use the Repeatable annotation for Java EE 8
+K 8399 IdleManager fails on Android
 
 
                   CHANGES IN THE 1.5.6 RELEASE

diff -r 3c3178d38f93 -r 5b6fe1659601 mail/src/main/java/com/sun/mail/iap/Protocol.java
--- a/mail/src/main/java/com/sun/mail/iap/Protocol.java Fri Aug 19 13:54:31 2016 -0700
+++ b/mail/src/main/java/com/sun/mail/iap/Protocol.java Fri Aug 19 14:04:32 2016 -0700
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright (c) 1997-2015 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997-2016 Oracle and/or its affiliates. All rights reserved.
  *
  * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common Development
@@ -51,6 +51,7 @@
 import java.util.zip.Inflater;
 import java.util.zip.InflaterInputStream;
 import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
 
 import com.sun.mail.util.*;
 import java.util.ArrayList;
@@ -538,7 +539,23 @@
      * @since JavaMail 1.5.2
      */
     public SocketChannel getChannel() {
- return socket.getChannel();
+ SocketChannel ret = socket.getChannel();
+ if (ret != null)
+ return ret;
+
+ // XXX - Android is broken and SSL wrapped sockets don't delegate
+ // the getChannel method to the wrapped Socket
+ if (socket instanceof SSLSocket) {
+ try {
+ Field f = socket.getClass().getDeclaredField("socket");
+ f.setAccessible(true);
+ Socket s = (Socket)f.get(socket);
+ ret = s.getChannel();
+ } catch (Exception ex) {
+ // ignore anything that might go wrong
+ }
+ }
+ return ret;
     }
 
     /**