* Map and set the 'jenkins' user home directory (/home/jenkins) on the host (Jenkins server / worker node) filesystem to the Docker Container (virtual) filesystem's /tmp/jenkins-home directory.
* Change Docker Container 'inside' environment settings when deploying artifacts and docs to no longer set the '--name' option.
Declaring open mnodules will hopefully address this problem in the Jenkins CI build:
10:41:50 > Task :spring-geode-docs:asciidoctor
10:41:50 2022-02-23T18:41:49.599Z [main] WARN FilenoUtil : Native subprocess control requires open access to the JDK IO subsystem
10:41:50 Pass '--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED' to enable.
* Declare CHECKSTYLE_VERSION class member constant in the CheckstylePlugin.
* Remove the PlublishLocalPlugin.
* Replace use of the deprecated JavaPluginConvention with JavaPluginExtension in the JavadocApiPlugin.
* Replace the EclipseWtpPlugin with the EclipsePlugin applied in the AbstractSpringJavaPlugin class.
* Review and fix spelling error in CopyPropertiesPlugin Javadoc.
* Review, refactor and polish the Spring Gradle PropDepsPlugins including PropDepsPlugins for IntelliJ IDEA and Eclipse.
Add test.properties to the application classpath to disable the use of direct (main memory) ByteBuffers in Java NIO.
Use of direct ByteBuffers results in the following Exception:
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible: module java.base does not "opens java.nio" to unnamed module @2e0fa5d3
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:343)
... 69 more
The 'geode.home' System property configuration was used to resolve the Apache Geode Management (Admin) REST API interface WAR file, which is not resolved the application / test runtime classpath.
The Apache Geode WAR file containing the Web application for the Management (Admin) REST API interface is resolvable from the application / test runtime classpath when the org.apache.geode:geode-web module is on the classpath.
Therefore, the project supplied Apache Geode WAR file is no longer necessary.
Replace all javax package namespace imports with jakarta packages.
Declare the jakarta.annotations:jakarta.annotations-api dependency in the spring-geode-autoconfigure module.