@@ -22,17 +22,35 @@ | |||
<configuration> | |||
<compilerArgument>-proc:none</compilerArgument> | |||
</configuration> | |||
</plugin> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-jar-plugin</artifactId> | |||
<configuration> | |||
<archive> | |||
<manifestEntries> | |||
<Automatic-Module-Name>org.pf4j</Automatic-Module-Name> | |||
</manifestEntries> | |||
</archive> | |||
</configuration> | |||
<executions> | |||
<!-- compile everything for Java 8 except the module-info.java --> | |||
<execution> | |||
<id>default-compile</id> | |||
<goals> | |||
<goal>compile</goal> | |||
</goals> | |||
<configuration> | |||
<excludes> | |||
<exclude>module-info.java</exclude> | |||
</excludes> | |||
</configuration> | |||
</execution> | |||
<!-- compile module-info.java for Java 9+ --> | |||
<execution> | |||
<id>java9-compile</id> | |||
<goals> | |||
<goal>compile</goal> | |||
</goals> | |||
<configuration> | |||
<release>9</release> | |||
<multiReleaseOutput>true</multiReleaseOutput> | |||
<includes> | |||
<include>module-info.java</include> | |||
</includes> | |||
</configuration> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
@@ -69,11 +87,12 @@ | |||
</dependency> | |||
<dependency> | |||
<!-- An empty artifact, required while JUnit 4 is on the classpath to override its | |||
dependency on hamcrest. | |||
<!-- | |||
An empty artifact, required while JUnit 4 is on the classpath to override its | |||
dependency on hamcrest. | |||
See http://hamcrest.org/JavaHamcrest/distributables#upgrading-from-hamcrest-1x | |||
--> | |||
See http://hamcrest.org/JavaHamcrest/distributables#upgrading-from-hamcrest-1x | |||
--> | |||
<groupId>org.hamcrest</groupId> | |||
<artifactId>hamcrest-core</artifactId> | |||
<version>${hamcrest.version}</version> |
@@ -0,0 +1,47 @@ | |||
/* | |||
* Copyright (C) 2012-present the original author or authors. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
/** | |||
* Module descriptor for PF4J. | |||
* | |||
* @author Decebal Suiu | |||
* @author Andreas Rudolph | |||
*/ | |||
module org.pf4j { | |||
requires java.base; | |||
// provides javax.annotation | |||
requires java.compiler; | |||
// provided by the ASM library | |||
requires org.objectweb.asm; | |||
// The SLF4J library currently does not provide a module. | |||
// Version 1.8 provides a module called "org.slf4j". But this version is | |||
// currently in beta stage. Therefore I'm not sure, if we already like to | |||
// use it. | |||
requires slf4j.api; | |||
// The java-semver library currently does not provide a module. | |||
// Maybe we should send them a pull request, that at least they provide an | |||
// automatic module name in their MANIFEST file. | |||
requires java.semver; | |||
// Maybe we should reconsider the package hierarchy, that only classes are | |||
// exported, which are required by 3rd party developers. | |||
exports org.pf4j; | |||
exports org.pf4j.processor; | |||
} |
@@ -43,8 +43,7 @@ | |||
<properties> | |||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |||
<maven.compiler.target>1.8</maven.compiler.target> | |||
<maven.compiler.source>1.8</maven.compiler.source> | |||
<maven.compiler.release>8</maven.compiler.release> | |||
<slf4j.version>1.7.25</slf4j.version> | |||
<asm.version>7.1</asm.version> |