Java 10 removed, among other things, the activation framework, and it's easier to dump it than to fool around with the optional dependency, for us and for users (if there were any). Any objections to my merging this to master and resuming preparations for, now, a 2.0 release?
Thanks, Matt On Thu, Aug 30, 2018, 6:07 PM <mben...@apache.org> wrote: > This is an automated email from the ASF dual-hosted git repository. > > mbenson pushed a commit to branch java10 > in repository https://gitbox.apache.org/repos/asf/commons-weaver.git > > commit 69ef91e50a3fe3b736696c0ddc307e3c5bde0cb3 > Author: Matt Benson <mben...@apache.org> > AuthorDate: Thu Aug 30 18:06:47 2018 -0500 > > Build on Java 10; modification to public API requires major version > bump > --- > ant/pom.xml | 2 +- > build-tools/pom.xml | 2 +- > dist/pom.xml | 2 +- > maven-plugin/pom.xml | 2 +- > modules/normalizer/pom.xml | 6 ++-- > .../commons/weaver/normalizer/Normalizer.java | 4 +-- > modules/pom.xml | 2 +- > modules/privilizer/api/pom.xml | 2 +- > modules/privilizer/pom.xml | 2 +- > modules/privilizer/weaver/pom.xml | 2 +- > .../commons/weaver/privilizer/Privilizer.java | 4 +-- > parent/pom.xml | 2 +- > pom.xml | 33 > +++++++++++++++++++++- > processor/pom.xml | 2 +- > .../commons/weaver/model/WeaveEnvironment.java | 15 +++++----- > 15 files changed, 54 insertions(+), 28 deletions(-) > > diff --git a/ant/pom.xml b/ant/pom.xml > index 247b51f..4407ec4 100644 > --- a/ant/pom.xml > +++ b/ant/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > <relativePath>../parent/pom.xml</relativePath> > </parent> > > diff --git a/build-tools/pom.xml b/build-tools/pom.xml > index f856c89..03ac52f 100644 > --- a/build-tools/pom.xml > +++ b/build-tools/pom.xml > @@ -21,7 +21,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-base</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > </parent> > <modelVersion>4.0.0</modelVersion> > <artifactId>commons-weaver-build-tools</artifactId> > diff --git a/dist/pom.xml b/dist/pom.xml > index 32b5cb5..2adc395 100644 > --- a/dist/pom.xml > +++ b/dist/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > <relativePath>../parent/pom.xml</relativePath> > </parent> > > diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml > index 2548342..4ddf85d 100644 > --- a/maven-plugin/pom.xml > +++ b/maven-plugin/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > <relativePath>../parent/pom.xml</relativePath> > </parent> > > diff --git a/modules/normalizer/pom.xml b/modules/normalizer/pom.xml > index 9d5378e..fbf6403 100644 > --- a/modules/normalizer/pom.xml > +++ b/modules/normalizer/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-modules-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > </parent> > <artifactId>commons-weaver-normalizer</artifactId> > <name>Apache Commons Weaver Normalizer</name> > @@ -206,9 +206,9 @@ under the License. > <version>${ant.version}</version> > </dependency> > <dependency> > - <groupId>org.eclipse.jdt.core.compiler</groupId> > + <groupId>org.eclipse.jdt</groupId> > <artifactId>ecj</artifactId> > - <version>4.4.2</version> > + <version>3.14.0</version> > </dependency> > </dependencies> > </plugin> > diff --git > a/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java > b/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java > index 6d12d42..1bc29fd 100644 > --- > a/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java > +++ > b/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java > @@ -32,8 +32,6 @@ import java.util.Map; > import java.util.Set; > import java.util.stream.Stream; > > -import javax.activation.DataSource; > - > import org.apache.commons.lang3.ArrayUtils; > import org.apache.commons.lang3.Conversion; > import org.apache.commons.lang3.Validate; > @@ -275,7 +273,7 @@ public class Normalizer { > super.visitEnd(); > final byte[] bytecode = ((ClassWriter) cv).toByteArray(); > > - final DataSource classfile = env.getClassfile(className); > + final WeaveEnvironment.Resource classfile = > env.getClassfile(className); > env.debug("Writing class %s to %s", className, > classfile.getName()); > try (OutputStream outputStream = classfile.getOutputStream()) > { > outputStream.write(bytecode); > diff --git a/modules/pom.xml b/modules/pom.xml > index 127682d..ce924dd 100644 > --- a/modules/pom.xml > +++ b/modules/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <artifactId>commons-weaver-parent</artifactId> > <groupId>org.apache.commons</groupId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > <relativePath>../parent/pom.xml</relativePath> > </parent> > > diff --git a/modules/privilizer/api/pom.xml > b/modules/privilizer/api/pom.xml > index b694280..5c6d26a 100644 > --- a/modules/privilizer/api/pom.xml > +++ b/modules/privilizer/api/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-privilizer-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > </parent> > > <artifactId>commons-weaver-privilizer-api</artifactId> > diff --git a/modules/privilizer/pom.xml b/modules/privilizer/pom.xml > index af7aedc..279ad8c 100644 > --- a/modules/privilizer/pom.xml > +++ b/modules/privilizer/pom.xml > @@ -23,7 +23,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-modules-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > </parent> > > <artifactId>commons-weaver-privilizer-parent</artifactId> > diff --git a/modules/privilizer/weaver/pom.xml > b/modules/privilizer/weaver/pom.xml > index 1119dc5..e9003a4 100644 > --- a/modules/privilizer/weaver/pom.xml > +++ b/modules/privilizer/weaver/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-privilizer-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > </parent> > > <artifactId>commons-weaver-privilizer</artifactId> > diff --git > a/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java > b/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java > index 218cea3..0799bb0 100644 > --- > a/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java > +++ > b/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java > @@ -26,8 +26,6 @@ import java.io.StringWriter; > import java.util.HashSet; > import java.util.Set; > > -import javax.activation.DataSource; > - > import org.apache.commons.lang3.BooleanUtils; > import org.apache.commons.lang3.StringUtils; > import org.apache.commons.lang3.Validate; > @@ -109,7 +107,7 @@ public class Privilizer { > if (verify) { > verify(className, bytecode); > } > - final DataSource classfile = env.getClassfile(className); > + final WeaveEnvironment.Resource classfile = > env.getClassfile(className); > env.debug("Writing class %s to resource %s", className, > classfile.getName()); > try (OutputStream outputStream = classfile.getOutputStream()) > { > outputStream.write(bytecode); > diff --git a/parent/pom.xml b/parent/pom.xml > index 6acbe0d..e5f276c 100755 > --- a/parent/pom.xml > +++ b/parent/pom.xml > @@ -23,7 +23,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-base</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > </parent> > > <artifactId>commons-weaver-parent</artifactId> > diff --git a/pom.xml b/pom.xml > index 16d2759..6d4224c 100644 > --- a/pom.xml > +++ b/pom.xml > @@ -27,7 +27,7 @@ under the License. > </parent> > > <artifactId>commons-weaver-base</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > <packaging>pom</packaging> > > <name>Apache Commons Weaver</name> > @@ -58,6 +58,8 @@ under the License. > <commons.scmPubUrl> > https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${commons.site.path} > </commons.scmPubUrl> > > <commons.japicmp.version>0.11.1</commons.japicmp.version> > + <!-- remove after 2.0 release: --> > + > <commons.japicmp.breakBuildOnBinaryIncompatibleModifications>false</commons.japicmp.breakBuildOnBinaryIncompatibleModifications> > > <!-- most Java-related items are defined in parent/pom.xml; > define these here for the animal-sniffer config of > commons-parent: --> > @@ -362,6 +364,35 @@ under the License. > > <profiles> > <profile> > + <id>java10plus</id> > + <activation> > + <jdk>[10,)</jdk> > + </activation> > + <build> > + <pluginManagement> > + <plugins> > + <plugin> > + <groupId>com.github.siom79.japicmp</groupId> > + <artifactId>japicmp-maven-plugin</artifactId> > + <dependencies> > + <dependency> > + <groupId>org.glassfish.jaxb</groupId> > + <artifactId>jaxb-runtime</artifactId> > + <version>2.3.0.1</version> > + </dependency> > + <!-- needed temporarily to compare against the 1.x API > --> > + <dependency> > + <groupId>javax.activation</groupId> > + <artifactId>javax.activation-api</artifactId> > + <version>1.2.0</version> > + </dependency> > + </dependencies> > + </plugin> > + </plugins> > + </pluginManagement> > + </build> > + </profile> > + <profile> > <id>release</id> > <build> > <plugins> > diff --git a/processor/pom.xml b/processor/pom.xml > index e68d99f..f3b7413 100644 > --- a/processor/pom.xml > +++ b/processor/pom.xml > @@ -22,7 +22,7 @@ under the License. > <parent> > <groupId>org.apache.commons</groupId> > <artifactId>commons-weaver-parent</artifactId> > - <version>1.4-SNAPSHOT</version> > + <version>2.0-SNAPSHOT</version> > <relativePath>../parent/pom.xml</relativePath> > </parent> > > diff --git > a/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java > b/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java > index 955f2d4..5785dff 100644 > --- > a/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java > +++ > b/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java > @@ -35,7 +35,10 @@ import org.apache.commons.weaver.spi.Weaver; > * Encapsulates the environment in which a {@link Weaver} or {@link > Cleaner} must operate. > */ > public abstract class WeaveEnvironment { > - private class Resource implements DataSource { > + /** > + * Represents a {@link WeaveEnvironment} resource. > + */ > + public class Resource { > private final String name; > > Resource(final String name) { > @@ -46,7 +49,6 @@ public abstract class WeaveEnvironment { > * Get the content type, always "application/octet-stream". > * @return {@link String} > */ > - @Override > public String getContentType() { > return CONTENT_TYPE; > } > @@ -54,7 +56,6 @@ public abstract class WeaveEnvironment { > /** > * Get an {@link InputStream} for reading this {@link Resource}. > */ > - @Override > public InputStream getInputStream() throws IOException { > return classLoader.getResourceAsStream(name); > } > @@ -63,7 +64,6 @@ public abstract class WeaveEnvironment { > * Get the name of this {@link Resource}. > * @return {@link String} > */ > - @Override > public String getName() { > return name; > } > @@ -72,7 +72,6 @@ public abstract class WeaveEnvironment { > * Get an {@link OutputStream} for writing to this {@link > Resource}. > * @return {@link OutputStream} > */ > - @Override > public OutputStream getOutputStream() throws IOException { > return WeaveEnvironment.this.getOutputStream(name); > } > @@ -177,7 +176,7 @@ public abstract class WeaveEnvironment { > * @param cls type > * @return {@link DataSource} > */ > - public final DataSource getClassfile(final Class<?> cls) { > + public final Resource getClassfile(final Class<?> cls) { > return getClassfile(cls.getName()); > } > > @@ -186,7 +185,7 @@ public abstract class WeaveEnvironment { > * @param classname of type > * @return {@link DataSource} > */ > - public final DataSource getClassfile(final String classname) { > + public final Resource getClassfile(final String classname) { > return getResource(getResourceName(classname)); > } > > @@ -195,7 +194,7 @@ public abstract class WeaveEnvironment { > * @param name of resource > * @return {@link DataSource} > */ > - public final DataSource getResource(final String name) { > + public final Resource getResource(final String name) { > return new Resource(name); > } > > >