This is an automated email from the ASF dual-hosted git repository.
dcromberge pushed a commit to branch multi-module-experimental
in repository https://gitbox.apache.org/repos/asf/datasketches-memory.git
The following commit(s) were added to refs/heads/multi-module-experimental by
this push:
new 6658c40 Add JPMS test module
6658c40 is described below
commit 6658c407358f85735131699c9462a589678a63ba
Author: David Cromberge <[email protected]>
AuthorDate: Wed Mar 31 21:53:36 2021 +0100
Add JPMS test module
---
.../src/assembly/mrjar.xml | 4 +-
.../apache/datasketches/memory/AllocateDirect.java | 2 +
.../datasketches/memory/AllocateDirectMap.java | 1 +
.../memory/{ => internal}/CleanerWrapper.java | 8 +--
.../pom.xml | 2 +-
.../apache/datasketches/memory/NioBitsFields.java | 0
.../src/main/javadoc/overview.html | 0
.../pom.xml | 8 ++-
.../src/test/java/module-info.java | 7 +++
.../memory/java/nine/tests/CleanerWrapperTest.java | 64 ++++++++++++++++++++++
.../pom.xml | 11 +++-
.../src/main/java/module-info.java | 1 +
.../apache/datasketches/memory/NioBitsFields.java | 0
.../memory/internal}/CleanerWrapper.java | 8 +--
.../src/main/javadoc/overview.html | 34 ------------
.../datasketches/memory/AllocateDirectTest.java | 47 ----------------
.../datasketches/memory/AllocateDirectTest.java | 47 ----------------
pom.xml | 7 +--
18 files changed, 103 insertions(+), 148 deletions(-)
diff --git a/datasketches-memory-assembly/src/assembly/mrjar.xml
b/datasketches-memory-assembly/src/assembly/mrjar.xml
index b9e9100..171f8eb 100644
--- a/datasketches-memory-assembly/src/assembly/mrjar.xml
+++ b/datasketches-memory-assembly/src/assembly/mrjar.xml
@@ -39,7 +39,7 @@
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
- <include>org.apache.datasketches:datasketches-memory-java9</include>
+
<include>org.apache.datasketches:datasketches-memory-java-nine</include>
</includes>
<binaries>
<outputDirectory>META-INF/versions/9</outputDirectory>
@@ -55,7 +55,7 @@
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
- <include>org.apache.datasketches:datasketches-memory-java11</include>
+
<include>org.apache.datasketches:datasketches-memory-java-eleven</include>
</includes>
<binaries>
<outputDirectory>META-INF/versions/11</outputDirectory>
diff --git
a/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
index 7130487..af1034d 100644
---
a/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
+++
b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
@@ -19,6 +19,8 @@
package org.apache.datasketches.memory;
+import org.apache.datasketches.memory.internal.CleanerWrapper;
+
import static org.apache.datasketches.memory.UnsafeUtil.unsafe;
import java.util.logging.Logger;
diff --git
a/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
index 9362320..f9046c2 100644
---
a/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
+++
b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
@@ -31,6 +31,7 @@ import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.util.logging.Logger;
+import org.apache.datasketches.memory.internal.CleanerWrapper;
import sun.nio.ch.FileChannelImpl;
/**
diff --git
a/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/CleanerWrapper.java
b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/internal/CleanerWrapper.java
similarity index 88%
rename from
datasketches-memory-base/src/main/java/org/apache/datasketches/memory/CleanerWrapper.java
rename to
datasketches-memory-base/src/main/java/org/apache/datasketches/memory/internal/CleanerWrapper.java
index b78fcd6..999197d 100644
---
a/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/CleanerWrapper.java
+++
b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/internal/CleanerWrapper.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.memory;
+package org.apache.datasketches.memory.internal;
import sun.misc.Cleaner;
@@ -30,14 +30,14 @@ import sun.misc.Cleaner;
* For more information, see:
* https://openjdk.java.net/jeps/238
*/
-class CleanerWrapper {
+public class CleanerWrapper {
private final Cleaner cleaner;
- CleanerWrapper(Object referent, Runnable deallocator) {
+ public CleanerWrapper(Object referent, Runnable deallocator) {
cleaner = Cleaner.create(referent, deallocator);
}
- void clean() {
+ public void clean() {
cleaner.clean();
}
}
diff --git a/datasketches-memory-java11/pom.xml
b/datasketches-memory-java-eleven/pom.xml
similarity index 97%
copy from datasketches-memory-java11/pom.xml
copy to datasketches-memory-java-eleven/pom.xml
index 09dbccb..5a7588b 100644
--- a/datasketches-memory-java11/pom.xml
+++ b/datasketches-memory-java-eleven/pom.xml
@@ -30,7 +30,7 @@
<version>1.4.0-SNAPSHOT</version>
</parent>
- <artifactId>datasketches-memory-java11</artifactId>
+ <artifactId>datasketches-memory-java-eleven</artifactId>
<name>${project.artifactId}</name>
<properties>
diff --git
a/datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
b/datasketches-memory-java-eleven/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
similarity index 100%
rename from
datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
rename to
datasketches-memory-java-eleven/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
diff --git a/datasketches-memory-java9/src/main/javadoc/overview.html
b/datasketches-memory-java-eleven/src/main/javadoc/overview.html
similarity index 100%
rename from datasketches-memory-java9/src/main/javadoc/overview.html
rename to datasketches-memory-java-eleven/src/main/javadoc/overview.html
diff --git a/datasketches-memory-java9/pom.xml
b/datasketches-memory-java-nine-tests/pom.xml
similarity index 90%
rename from datasketches-memory-java9/pom.xml
rename to datasketches-memory-java-nine-tests/pom.xml
index 6eb2eff..f170018 100644
--- a/datasketches-memory-java9/pom.xml
+++ b/datasketches-memory-java-nine-tests/pom.xml
@@ -30,7 +30,7 @@
<version>1.4.0-SNAPSHOT</version>
</parent>
- <artifactId>datasketches-memory-java9</artifactId>
+ <artifactId>datasketches-memory-java-nine-tests</artifactId>
<name>${project.artifactId}</name>
<properties>
@@ -38,9 +38,10 @@
</properties>
<dependencies>
+ <!-- Test Scope -->
<dependency>
<groupId>org.apache.datasketches</groupId>
- <artifactId>datasketches-memory-base</artifactId>
+ <artifactId>datasketches-memory-java-nine</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
@@ -75,6 +76,9 @@
<trimStackTrace>false</trimStackTrace>
<useManifestOnlyJar>false</useManifestOnlyJar>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <argLine>
+ --add-opens
java.base/jdk.internal.ref=org.apache.datasketches.memory
+ </argLine>
<jdkToolchain>
<version>9</version>
</jdkToolchain>
diff --git a/datasketches-memory-java-nine-tests/src/test/java/module-info.java
b/datasketches-memory-java-nine-tests/src/test/java/module-info.java
new file mode 100644
index 0000000..90d7db5
--- /dev/null
+++ b/datasketches-memory-java-nine-tests/src/test/java/module-info.java
@@ -0,0 +1,7 @@
+module org.apache.datasketches.memory.java.nine.tests {
+ requires java.base;
+ requires org.testng;
+ requires org.apache.datasketches.memory;
+
+ exports org.apache.datasketches.memory.java.nine.tests to org.testng;
+}
\ No newline at end of file
diff --git
a/datasketches-memory-java-nine-tests/src/test/java/org/apache/datasketches/memory/java/nine/tests/CleanerWrapperTest.java
b/datasketches-memory-java-nine-tests/src/test/java/org/apache/datasketches/memory/java/nine/tests/CleanerWrapperTest.java
new file mode 100644
index 0000000..1a16b06
--- /dev/null
+++
b/datasketches-memory-java-nine-tests/src/test/java/org/apache/datasketches/memory/java/nine/tests/CleanerWrapperTest.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+package org.apache.datasketches.memory.java.nine.tests;
+
+import org.apache.datasketches.memory.internal.CleanerWrapper;
+import org.testng.annotations.Test;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+
+@SuppressWarnings("javadoc")
+public class CleanerWrapperTest {
+
+ @Test
+ public void cleanerDeallocates() {
+ SimpleDeallocator deallocator = new SimpleDeallocator();
+ CleanerWrapper cleaner = new CleanerWrapper(this, deallocator);
+ cleaner.clean();
+ assertTrue(deallocator.getHasRun());
+ }
+
+ @Test
+ public void noDeallocation() {
+ SimpleDeallocator deallocator = new SimpleDeallocator();
+ CleanerWrapper cleaner = new CleanerWrapper(this, deallocator);
+ assertFalse(deallocator.getHasRun());
+ }
+
+ private static final class SimpleDeallocator implements Runnable {
+ static final AtomicBoolean hasRun = new AtomicBoolean();
+
+ private SimpleDeallocator() {
+ hasRun.set(false);
+ }
+
+ @Override
+ public void run() {
+ hasRun.compareAndSet(false, true);
+ }
+
+ public Boolean getHasRun() {
+ return hasRun.get();
+ }
+ }
+}
diff --git a/datasketches-memory-java11/pom.xml
b/datasketches-memory-java-nine/pom.xml
similarity index 84%
rename from datasketches-memory-java11/pom.xml
rename to datasketches-memory-java-nine/pom.xml
index 09dbccb..67b388e 100644
--- a/datasketches-memory-java11/pom.xml
+++ b/datasketches-memory-java-nine/pom.xml
@@ -30,7 +30,7 @@
<version>1.4.0-SNAPSHOT</version>
</parent>
- <artifactId>datasketches-memory-java11</artifactId>
+ <artifactId>datasketches-memory-java-nine</artifactId>
<name>${project.artifactId}</name>
<properties>
@@ -54,9 +54,14 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
- <release>11</release>
+ <source>9</source>
+ <target>9</target>
+ <compilerArgs>
+ <arg>--add-exports</arg>
+
<arg>java.base/jdk.internal.ref=org.apache.datasketches.memory</arg>
+ </compilerArgs>
<jdkToolchain>
- <version>11</version>
+ <version>9</version>
</jdkToolchain>
</configuration>
</plugin>
diff --git a/datasketches-memory-java9/src/main/java/module-info.java
b/datasketches-memory-java-nine/src/main/java/module-info.java
similarity index 90%
rename from datasketches-memory-java9/src/main/java/module-info.java
rename to datasketches-memory-java-nine/src/main/java/module-info.java
index e802741..bb2803d 100644
--- a/datasketches-memory-java9/src/main/java/module-info.java
+++ b/datasketches-memory-java-nine/src/main/java/module-info.java
@@ -23,4 +23,5 @@ module org.apache.datasketches.memory {
requires jdk.unsupported;
exports org.apache.datasketches.memory;
+ exports org.apache.datasketches.memory.internal to
org.apache.datasketches.memory.java.nine.tests;
}
\ No newline at end of file
diff --git
a/datasketches-memory-java9/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
b/datasketches-memory-java-nine/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
similarity index 100%
rename from
datasketches-memory-java9/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
rename to
datasketches-memory-java-nine/src/main/java/org/apache/datasketches/memory/NioBitsFields.java
diff --git
a/datasketches-memory-java9/src/main/java/org/apache/datasketches/memory/CleanerWrapper.java
b/datasketches-memory-java-nine/src/main/java/org/apache/datasketches/memory/internal/CleanerWrapper.java
similarity index 88%
rename from
datasketches-memory-java9/src/main/java/org/apache/datasketches/memory/CleanerWrapper.java
rename to
datasketches-memory-java-nine/src/main/java/org/apache/datasketches/memory/internal/CleanerWrapper.java
index 145c74f..f257e31 100644
---
a/datasketches-memory-java9/src/main/java/org/apache/datasketches/memory/CleanerWrapper.java
+++
b/datasketches-memory-java-nine/src/main/java/org/apache/datasketches/memory/internal/CleanerWrapper.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.datasketches.memory;
+package org.apache.datasketches.memory.internal;
import jdk.internal.ref.Cleaner;
@@ -30,14 +30,14 @@ import jdk.internal.ref.Cleaner;
* For more information, see:
* https://openjdk.java.net/jeps/238
*/
-class CleanerWrapper {
+public class CleanerWrapper {
private final Cleaner cleaner;
- CleanerWrapper(Object referent, Runnable deallocator) {
+ public CleanerWrapper(Object referent, Runnable deallocator) {
cleaner = Cleaner.create(referent, deallocator);
}
- void clean() {
+ public void clean() {
cleaner.clean();
}
}
diff --git a/datasketches-memory-java11/src/main/javadoc/overview.html
b/datasketches-memory-java11/src/main/javadoc/overview.html
deleted file mode 100644
index 86ef2bb..0000000
--- a/datasketches-memory-java11/src/main/javadoc/overview.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
--->
-
-<html>
-<head>
-</head>
-<body>
-<h2>Memory</h2>
-<h3>Overview</h3>
-
-<p><b><a href="org/apache/datasketches/memory/package-summary.html">Memory
Package Overview</a></b></p>
-
-<p>Note: If the requirements or promises of any method's contract are not
fulfilled (that is, if there is a bug in either the method or its caller), then
an unchecked exception will be thrown. The precise type of such an unchecked
exception does not form part of any method's contract.</p>
-</body>
-</html>
\ No newline at end of file
diff --git
a/datasketches-memory-java11/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
b/datasketches-memory-java11/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
deleted file mode 100644
index d99a768..0000000
---
a/datasketches-memory-java11/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-/*
- * Note: Lincoln's Gettysburg Address is in the public domain. See LICENSE.
- */
-
-// Commented out, testing needs to be a standalone module
-/*
-package org.apache.datasketches.memory;
-
-import org.testng.annotations.Test;
-
-import static org.testng.Assert.assertEquals;
-
-@SuppressWarnings("javadoc")
-public class AllocateDirectTest {
-
- @Test
- public void simpleAllocateDirect() {
- int longs = 32;
- try (WritableDirectHandle wh = WritableMemory.allocateDirect(longs << 3)) {
- WritableMemory wMem1 = wh.get();
- for (int i = 0; i < longs; i++) {
- wMem1.putLong(i << 3, i);
- assertEquals(wMem1.getLong(i << 3), i);
- }
- }
- }
-}
-*/
\ No newline at end of file
diff --git
a/datasketches-memory-java9/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
b/datasketches-memory-java9/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
deleted file mode 100644
index d99a768..0000000
---
a/datasketches-memory-java9/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-/*
- * Note: Lincoln's Gettysburg Address is in the public domain. See LICENSE.
- */
-
-// Commented out, testing needs to be a standalone module
-/*
-package org.apache.datasketches.memory;
-
-import org.testng.annotations.Test;
-
-import static org.testng.Assert.assertEquals;
-
-@SuppressWarnings("javadoc")
-public class AllocateDirectTest {
-
- @Test
- public void simpleAllocateDirect() {
- int longs = 32;
- try (WritableDirectHandle wh = WritableMemory.allocateDirect(longs << 3)) {
- WritableMemory wMem1 = wh.get();
- for (int i = 0; i < longs; i++) {
- wMem1.putLong(i << 3, i);
- assertEquals(wMem1.getLong(i << 3), i);
- }
- }
- }
-}
-*/
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 5425d7a..df38972 100644
--- a/pom.xml
+++ b/pom.xml
@@ -232,8 +232,6 @@ under the License.
</executions>
</plugin>
-
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
@@ -632,8 +630,9 @@ under the License.
<modules>
<module>datasketches-memory-base</module>
- <module>datasketches-memory-java9</module>
- <module>datasketches-memory-java11</module>
+ <module>datasketches-memory-java-nine</module>
+ <module>datasketches-memory-java-nine-tests</module>
+ <module>datasketches-memory-java-eleven</module>
<module>datasketches-memory-assembly</module>
</modules>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]