Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions main-github/latest-release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Release Notes v1.2.1

- Maven POM updated to module-info.java in source artifact.
- Maven POM updated to fix/remove maven-javadoc-plugin not creating package-list.
- Maven POM updated for known issue with maven-surefire-plugin; exceptions occurring when module-info.java file is in the path and/or reuseForks is false.
- Updated archived artifact entries in production jar file (including fields in manifest file).
- Updated read me with correct Maven execution for creating/installing artifacts to local repository.
117 changes: 99 additions & 18 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>app.zoftwhere.mutable</groupId>
<artifactId>mutable-library</artifactId>
<version>1.2.0</version>
<version>1.2.1</version>

<properties>
<!-- Settings: maven-resource-plugin -->
Expand Down Expand Up @@ -90,13 +90,26 @@
<execution>
<id>default-compile</id>
<phase>none</phase>
<configuration>
<release>${maven.compiler.test-jdk}</release>
</configuration>
</execution>
<execution>
<id>main-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<release>${maven.compiler.test-jdk}</release>
</configuration>
</execution>
<execution>
<id>main-compile-jdk8</id>
<phase>none</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<source>${maven.compiler.main-jdk}</source>
<target>${maven.compiler.main-jdk}</target>
Expand All @@ -118,13 +131,11 @@
</execution>
</executions>
<configuration>
<source>${maven.compiler.test-jdk}</source>
<target>${maven.compiler.test-jdk}</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Xlint:all,-processing,-cast,-serial,-try</arg>
</compilerArgs>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>

Expand All @@ -150,7 +161,7 @@
</execution>
<execution>
<id>test-resources</id>
<phase>process-resources</phase>
<phase>process-test-resources</phase>
<goals>
<goal>testResources</goal>
</goals>
Expand All @@ -166,6 +177,10 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<!-- https://issues.apache.org/jira/browse/SUREFIRE-1534 -->
<forkCount>0</forkCount>
<reuseForks>false</reuseForks>
<useSystemClassLoader>false</useSystemClassLoader>
<printSummary>false</printSummary>
</configuration>
</plugin>
Expand Down Expand Up @@ -200,7 +215,7 @@
</execution>
<execution>
<id>test-jar</id>
<phase>package</phase>
<phase>none</phase>
<goals>
<goal>test-jar</goal>
</goals>
Expand All @@ -212,13 +227,20 @@
</executions>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addClasspath>false</addClasspath>
</manifest>
<manifestEntries>
<Main-Class/>
<Class-Path/>
<Dependencies/>
<Implementation-Title>${project.artifactId}</Implementation-Title>
<Implementation-Vendor>${project.groupId}</Implementation-Vendor>
<Implementation-Version>${project.version}</Implementation-Version>
<Specification-Title>${project.artifactId}</Specification-Title>
<Specification-Vendor>${project.groupId}</Specification-Vendor>
<Specification-Version>${project.version}</Specification-Version>
</manifestEntries>
</archive>
</configuration>
Expand All @@ -228,20 +250,42 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<id>main-javadoc</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<failOnWarnings>true</failOnWarnings>
<sourceFileExcludes>
<exclude>module-info.java</exclude>
</sourceFileExcludes>
</configuration>
</execution>
<execution>
<id>test-javadoc</id>
<phase>none</phase>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<failOnWarnings>false</failOnWarnings>
</configuration>
</execution>
</executions>
<configuration>
<quiet>true</quiet>
<failOnError>true</failOnError>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<phase>none</phase>
</execution>
<execution>
<id>default-source</id>
<phase>none</phase>
</execution>
<execution>
<id>main-source</id>
<phase>package</phase>
Expand All @@ -254,7 +298,7 @@
</execution>
<execution>
<id>test-source</id>
<phase>package</phase>
<phase>none</phase>
<goals>
<goal>test-jar</goal>
</goals>
Expand All @@ -264,14 +308,32 @@
</execution>
</executions>
<configuration>
<forceCreation>true</forceCreation>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install-plugin.version}</version>
<executions>
<execution>
<id>main-install</id>
<phase>none</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<pomFile>${project.basedir}/pom.xml</pomFile>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<file>${project.build.directory}/${project.build.finalName}.jar</file>
<packaging>jar</packaging>
<sources>${project.build.directory}/${project.build.finalName}-sources.jar</sources>
<javadoc>${project.build.directory}/${project.build.finalName}-javadoc.jar</javadoc>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
Expand All @@ -280,13 +342,33 @@
<version>${maven-deploy-plugin.version}</version>
</plugin>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>main-jpms</id>
<phase>prepare-package</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.basedir}/main-jpms</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.moditect</groupId>
<artifactId>moditect-maven-plugin</artifactId>
<version>1.0.0.Beta2</version>
<executions>
<execution>
<id>add-module-info</id>
<id>main-jpms</id>
<phase>package</phase>
<goals>
<goal>add-module-info</goal>
Expand All @@ -302,5 +384,4 @@
</plugin>
</plugins>
</build>

</project>
10 changes: 8 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,15 @@ The ZoftWhere Mutable Library provides mutable classes for scopes where final ar

## Compiling and Installing the Library

The source code can be compiled with Java language version 8. It has been tested with Oracle JDK8, JDK11 and JDK12.
The source code can be compiled with Java language version 8. It has been tested with Oracle JDK8, JDK11 and JDK12. The test sources are compiled against JDK 11.

The project is Maven based, so executing the ```mvn install``` should install the library to the local repository. It has been tested with Apache Maven v3.6.1
The project is Maven based, so executing the ```mvn install``` should install the library to the local repository (Requires at least JDK11). It has been tested with Apache Maven v3.6.1.

If the project needs to be installed against JDK8, it can be accomplished by calling the following Maven command:

``` shell script
mvn clean compiler:compile@main-compile-jdk8 jar:jar@main-jar build-helper:add-source@main-jpms source:jar@main-sources javadoc:jar@main-javadoc moditect:add-module-info@main-jpms install:install-file@main-install
```


## Examples
Expand Down