You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by dc...@apache.org on 2021/03/23 12:28:51 UTC
[datasketches-memory] 01/01: Introduce maven multi-module
configuration
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
commit 57b9bf9c574267cf9250159da938a09d0ff43bf1
Author: David Cromberge <da...@gmail.com>
AuthorDate: Tue Mar 23 12:21:58 2021 +0000
Introduce maven multi-module configuration
The purpose of this change is to create a release that is usable
from multilpe Java versions. This is possible due to the MR-JAR
format (https://openjdk.java.net/jeps/238).
---
datasketches-memory-base/pom.xml | 81 ++
.../datasketches/memory/AccessByteBuffer.java | 0
.../apache/datasketches/memory/AllocateDirect.java | 4 +-
.../datasketches/memory/AllocateDirectMap.java | 54 +-
.../memory/AllocateDirectWritableMap.java | 0
.../memory/BBNonNativeWritableBufferImpl.java | 0
.../memory/BBNonNativeWritableMemoryImpl.java | 0
.../datasketches/memory/BBWritableBufferImpl.java | 0
.../datasketches/memory/BBWritableMemoryImpl.java | 0
.../org/apache/datasketches/memory/BaseBuffer.java | 0
.../org/apache/datasketches/memory/BaseState.java | 0
.../memory/BaseWritableBufferImpl.java | 0
.../memory/BaseWritableMemoryImpl.java | 0
.../org/apache/datasketches/memory/Buffer.java | 0
.../apache/datasketches/memory/CompareAndCopy.java | 0
.../memory/DefaultMemoryRequestServer.java | 0
.../memory/DirectNonNativeWritableBufferImpl.java | 0
.../memory/DirectNonNativeWritableMemoryImpl.java | 0
.../memory/DirectWritableBufferImpl.java | 0
.../memory/DirectWritableMemoryImpl.java | 0
.../org/apache/datasketches/memory/Handle.java | 0
.../memory/HeapNonNativeWritableBufferImpl.java | 0
.../memory/HeapNonNativeWritableMemoryImpl.java | 0
.../memory/HeapWritableBufferImpl.java | 0
.../memory/HeapWritableMemoryImpl.java | 0
.../java/org/apache/datasketches/memory/Ints.java | 0
.../apache/datasketches/memory/JDK7Compatible.java | 0
.../java/org/apache/datasketches/memory/Map.java | 0
.../org/apache/datasketches/memory/MapHandle.java | 0
.../memory/MapNonNativeWritableBufferImpl.java | 0
.../memory/MapNonNativeWritableMemoryImpl.java | 0
.../datasketches/memory/MapWritableBufferImpl.java | 0
.../datasketches/memory/MapWritableMemoryImpl.java | 0
.../org/apache/datasketches/memory/Memory.java | 0
.../datasketches/memory/MemoryRequestServer.java | 0
.../org/apache/datasketches/memory/NioBits.java | 20 +-
.../memory/NonNativeWritableBufferImpl.java | 0
.../memory/NonNativeWritableMemoryImpl.java | 0
.../java/org/apache/datasketches/memory/Prim.java | 0
.../datasketches/memory/ReadOnlyException.java | 0
.../apache/datasketches/memory/StepBoolean.java | 0
.../org/apache/datasketches/memory/UnsafeUtil.java | 0
.../java/org/apache/datasketches/memory/Utf8.java | 0
.../datasketches/memory/Utf8CodingException.java | 0
.../java/org/apache/datasketches/memory/Util.java | 0
.../apache/datasketches/memory/WritableBuffer.java | 0
.../datasketches/memory/WritableBufferImpl.java | 0
.../datasketches/memory/WritableDirectHandle.java | 0
.../apache/datasketches/memory/WritableHandle.java | 0
.../apache/datasketches/memory/WritableMap.java | 0
.../datasketches/memory/WritableMapHandle.java | 0
.../apache/datasketches/memory/WritableMemory.java | 0
.../datasketches/memory/WritableMemoryImpl.java | 0
.../org/apache/datasketches/memory/XxHash64.java | 0
.../apache/datasketches/memory/package-info.java | 0
.../src}/main/javadoc/overview.html | 0
.../memory/AllocateDirectMapMemoryTest.java | 0
.../memory/AllocateDirectMemoryTest.java | 0
.../AllocateDirectWritableMapMemoryTest.java | 0
.../apache/datasketches/memory/BaseBufferTest.java | 0
.../apache/datasketches/memory/BaseStateTest.java | 0
.../apache/datasketches/memory/Buffer2Test.java | 0
.../memory/BufferBoundaryCheckTest.java | 0
.../datasketches/memory/BufferInvariantsTest.java | 0
.../memory/BufferReadWriteSafetyTest.java | 0
.../org/apache/datasketches/memory/BufferTest.java | 0
.../datasketches/memory/CommonBufferTest.java | 0
.../datasketches/memory/CommonMemoryTest.java | 0
.../datasketches/memory/CopyMemoryOverlapTest.java | 0
.../apache/datasketches/memory/CopyMemoryTest.java | 0
.../memory/ExampleMemoryRequestServerTest.java | 0
.../memory/IgnoredArrayOverflowTest.java | 0
.../datasketches/memory/IsValidUtf8TestUtil.java | 0
.../apache/datasketches/memory/LeafImplTest.java | 0
.../memory/MemoryBoundaryCheckTest.java | 0
.../memory/MemoryReadWriteSafetyTest.java | 0
.../org/apache/datasketches/memory/MemoryTest.java | 0
.../datasketches/memory/MemoryWriteToTest.java | 0
.../apache/datasketches/memory/NioBitsTest.java | 0
.../memory/NonNativeWritableBufferImplTest.java | 0
.../memory/NonNativeWritableMemoryImplTest.java | 0
.../datasketches/memory/SpecificLeafTest.java | 0
.../apache/datasketches/memory/UnsafeUtilTest.java | 0
.../org/apache/datasketches/memory/Utf8Test.java | 0
.../org/apache/datasketches/memory/UtilTest.java | 0
.../memory/WritableBufferImplTest.java | 0
.../memory/WritableDirectCopyTest.java | 0
.../memory/WritableMemoryImplTest.java | 0
.../datasketches/memory/WritableMemoryTest.java | 0
.../datasketches/memory/XxHash64LoopingTest.java | 0
.../apache/datasketches/memory/XxHash64Test.java | 0
.../datasketches/memory/ZeroCapacityTest.java | 0
.../src}/test/resources/GettysburgAddress.txt | 0
datasketches-memory-java11/pom.xml | 97 ++
.../apache/datasketches/memory/AllocateDirect.java | 5 +-
.../datasketches/memory/AllocateDirectMap.java | 2 +-
.../org/apache/datasketches/memory/NioBits.java | 8 +-
.../src}/main/javadoc/overview.html | 0
.../datasketches/memory/AllocateDirectTest.java | 34 +-
datasketches-memory-multirelease/pom.xml | 82 ++
.../src/assembly/mrjar.xml | 56 +
pom.xml | 1318 ++++++++++----------
102 files changed, 1045 insertions(+), 716 deletions(-)
diff --git a/datasketches-memory-base/pom.xml b/datasketches-memory-base/pom.xml
new file mode 100644
index 0000000..29896c2
--- /dev/null
+++ b/datasketches-memory-base/pom.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.datasketches</groupId>
+ <artifactId>datasketches-memory-root</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>datasketches-memory-base</artifactId>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <maven.install.skip>true</maven.install.skip>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.12</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.1</version>
+ <configuration>
+ <source>1.8</source>
+ <target>1.8</target>
+ <jdkToolchain>
+ <version>1.8</version>
+ </jdkToolchain>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven-surefire-plugin.version}</version>
+ <configuration>
+ <trimStackTrace>false</trimStackTrace>
+ <useManifestOnlyJar>false</useManifestOnlyJar>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <jdkToolchain>
+ <version>1.8</version>
+ </jdkToolchain>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project>
diff --git a/src/main/java/org/apache/datasketches/memory/AccessByteBuffer.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AccessByteBuffer.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/AccessByteBuffer.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AccessByteBuffer.java
diff --git a/src/main/java/org/apache/datasketches/memory/AllocateDirect.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
similarity index 99%
copy from src/main/java/org/apache/datasketches/memory/AllocateDirect.java
copy to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
index 805554c..dbbcbfe 100644
--- a/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
+++ b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
@@ -136,9 +136,9 @@ final class AllocateDirect implements AutoCloseable {
BaseState.currentDirectMemoryAllocations_.decrementAndGet();
BaseState.currentDirectMemoryAllocated_.addAndGet(-capacity);
return true;
- }
+ }
return false;
}
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
similarity index 85%
copy from src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
copy to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
index 0dbe16a..b870d74 100644
--- a/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
+++ b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
@@ -71,23 +71,23 @@ class AllocateDirectMap implements Map {
static {
try {
FILE_CHANNEL_IMPL_MAP0_METHOD = FileChannelImpl.class
- .getDeclaredMethod("map0", int.class, long.class, long.class);
+ .getDeclaredMethod("map0", int.class, long.class, long.class);
FILE_CHANNEL_IMPL_MAP0_METHOD.setAccessible(true);
FILE_CHANNEL_IMPL_UNMAP0_METHOD = FileChannelImpl.class
- .getDeclaredMethod("unmap0", long.class, long.class);
+ .getDeclaredMethod("unmap0", long.class, long.class);
FILE_CHANNEL_IMPL_UNMAP0_METHOD.setAccessible(true);
MAPPED_BYTE_BUFFER_LOAD0_METHOD = MappedByteBuffer.class
- .getDeclaredMethod("load0", long.class, long.class);
+ .getDeclaredMethod("load0", long.class, long.class);
MAPPED_BYTE_BUFFER_LOAD0_METHOD.setAccessible(true);
MAPPED_BYTE_BUFFER_ISLOADED0_METHOD = MappedByteBuffer.class
- .getDeclaredMethod("isLoaded0", long.class, long.class, int.class);
+ .getDeclaredMethod("isLoaded0", long.class, long.class, int.class);
MAPPED_BYTE_BUFFER_ISLOADED0_METHOD.setAccessible(true);
MAPPED_BYTE_BUFFER_FORCE0_METHOD = MappedByteBuffer.class
- .getDeclaredMethod("force0", FileDescriptor.class, long.class, long.class);
+ .getDeclaredMethod("force0", FileDescriptor.class, long.class, long.class);
MAPPED_BYTE_BUFFER_FORCE0_METHOD.setAccessible(true);
} catch (final Exception e) {
throw new RuntimeException("Could not reflect static methods: " + e);
@@ -105,15 +105,15 @@ class AllocateDirectMap implements Map {
//called from AllocateDirectWritableMap constructor
@SuppressWarnings("resource")
AllocateDirectMap(final File file, final long fileOffsetBytes, final long capacityBytes,
- final boolean localReadOnly) {
+ final boolean localReadOnly) {
this.capacityBytes = capacityBytes;
resourceReadOnly = isFileReadOnly(file);
final long fileLength = file.length();
if ((localReadOnly || resourceReadOnly) && fileOffsetBytes + capacityBytes > fileLength) {
throw new IllegalArgumentException(
- "Read-only mode and requested map length is greater than current file length: "
- + "Requested Length = " + (fileOffsetBytes + capacityBytes)
- + ", Current File Length = " + fileLength);
+ "Read-only mode and requested map length is greater than current file length: "
+ + "Requested Length = " + (fileOffsetBytes + capacityBytes)
+ + ", Current File Length = " + fileLength);
}
raf = mapper(file, fileOffsetBytes, capacityBytes, resourceReadOnly);
nativeBaseOffset = map(raf.getChannel(), resourceReadOnly, fileOffsetBytes, capacityBytes);
@@ -139,11 +139,11 @@ class AllocateDirectMap implements Map {
try {
final int pageCount = NioBits.pageCount(capacityBytes);
return (boolean) MAPPED_BYTE_BUFFER_ISLOADED0_METHOD
- //isLoaded0 is effectively static, so ZERO_READ_ONLY_DIRECT_BYTE_BUFFER is not modified
- .invoke(AccessByteBuffer.ZERO_READ_ONLY_DIRECT_BYTE_BUFFER,
- nativeBaseOffset,
- capacityBytes,
- pageCount);
+ //isLoaded0 is effectively static, so ZERO_READ_ONLY_DIRECT_BYTE_BUFFER is not modified
+ .invoke(AccessByteBuffer.ZERO_READ_ONLY_DIRECT_BYTE_BUFFER,
+ nativeBaseOffset,
+ capacityBytes,
+ pageCount);
} catch (final Exception e) {
throw new RuntimeException(
String.format("Encountered %s exception while loading", e.getClass()));
@@ -163,7 +163,7 @@ class AllocateDirectMap implements Map {
// because the valid state is already changed.
cleaner.clean();
return true;
- }
+ }
return false;
} finally {
BaseState.reachabilityFence(this);
@@ -183,19 +183,19 @@ class AllocateDirectMap implements Map {
private void madvise() {
try {
MAPPED_BYTE_BUFFER_LOAD0_METHOD
- //load0 is effectively static, so ZERO_READ_ONLY_DIRECT_BYTE_BUFFER is not modified
- .invoke(AccessByteBuffer.ZERO_READ_ONLY_DIRECT_BYTE_BUFFER,
- nativeBaseOffset,
- capacityBytes);
+ //load0 is effectively static, so ZERO_READ_ONLY_DIRECT_BYTE_BUFFER is not modified
+ .invoke(AccessByteBuffer.ZERO_READ_ONLY_DIRECT_BYTE_BUFFER,
+ nativeBaseOffset,
+ capacityBytes);
} catch (final Exception e) {
throw new RuntimeException(
- String.format("Encountered %s exception while loading", e.getClass()));
+ String.format("Encountered %s exception while loading", e.getClass()));
}
}
//Does the actual mapping work, resourceReadOnly must already be set
private static RandomAccessFile mapper(final File file, final long fileOffset,
- final long capacityBytes, final boolean resourceReadOnly) {
+ final long capacityBytes, final boolean resourceReadOnly) {
final String mode = resourceReadOnly ? "r" : "rw";
final RandomAccessFile raf;
@@ -225,14 +225,14 @@ class AllocateDirectMap implements Map {
* @throws RuntimeException Encountered an exception while mapping
*/
private static long map(final FileChannel fileChannel, final boolean resourceReadOnly,
- final long position, final long lengthBytes) {
+ final long position, final long lengthBytes) {
final int pagePosition = (int) (position % unsafe.pageSize());
final long mapPosition = position - pagePosition;
final long mapSize = lengthBytes + pagePosition;
final int mapMode = resourceReadOnly ? MAP_RO : MAP_RW;
try {
final long nativeBaseOffset =
- (long) FILE_CHANNEL_IMPL_MAP0_METHOD.invoke(fileChannel, mapMode, mapPosition, mapSize);
+ (long) FILE_CHANNEL_IMPL_MAP0_METHOD.invoke(fileChannel, mapMode, mapPosition, mapSize);
return nativeBaseOffset;
} catch (final InvocationTargetException e) {
throw new RuntimeException("Exception while mapping", e.getTargetException());
@@ -259,7 +259,7 @@ class AllocateDirectMap implements Map {
private final StepBoolean valid = new StepBoolean(true); //only place for this
Deallocator(final long nativeBaseOffset, final long capacityBytes,
- final RandomAccessFile raf) {
+ final RandomAccessFile raf) {
BaseState.currentDirectMemoryMapAllocations_.incrementAndGet();
BaseState.currentDirectMemoryMapAllocated_.addAndGet(capacityBytes);
myRaf = raf;
@@ -294,7 +294,7 @@ class AllocateDirectMap implements Map {
BaseState.currentDirectMemoryMapAllocated_.addAndGet(-myCapacity);
}
return true;
- }
+ }
return false;
}
@@ -308,9 +308,9 @@ class AllocateDirectMap implements Map {
myRaf.close();
} catch (final Exception e) {
throw new RuntimeException(
- String.format("Encountered %s exception while freeing memory", e.getClass()));
+ String.format("Encountered %s exception while freeing memory", e.getClass()));
}
}
} //End of class Deallocator
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/apache/datasketches/memory/AllocateDirectWritableMap.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectWritableMap.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/AllocateDirectWritableMap.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/AllocateDirectWritableMap.java
diff --git a/src/main/java/org/apache/datasketches/memory/BBNonNativeWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBNonNativeWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BBNonNativeWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBNonNativeWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/BBNonNativeWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBNonNativeWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BBNonNativeWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBNonNativeWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/BBWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BBWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/BBWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BBWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BBWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/BaseBuffer.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseBuffer.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BaseBuffer.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseBuffer.java
diff --git a/src/main/java/org/apache/datasketches/memory/BaseState.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseState.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BaseState.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseState.java
diff --git a/src/main/java/org/apache/datasketches/memory/BaseWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BaseWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/BaseWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/BaseWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/BaseWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/Buffer.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Buffer.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Buffer.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Buffer.java
diff --git a/src/main/java/org/apache/datasketches/memory/CompareAndCopy.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/CompareAndCopy.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/CompareAndCopy.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/CompareAndCopy.java
diff --git a/src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java
diff --git a/src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectNonNativeWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/DirectWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/DirectWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/DirectWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/DirectWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/DirectWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/Handle.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Handle.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Handle.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Handle.java
diff --git a/src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapNonNativeWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/HeapWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/HeapWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/HeapWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/HeapWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/HeapWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/Ints.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Ints.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Ints.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Ints.java
diff --git a/src/main/java/org/apache/datasketches/memory/JDK7Compatible.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/JDK7Compatible.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/JDK7Compatible.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/JDK7Compatible.java
diff --git a/src/main/java/org/apache/datasketches/memory/Map.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Map.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Map.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Map.java
diff --git a/src/main/java/org/apache/datasketches/memory/MapHandle.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapHandle.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/MapHandle.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapHandle.java
diff --git a/src/main/java/org/apache/datasketches/memory/MapNonNativeWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapNonNativeWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/MapNonNativeWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapNonNativeWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/MapNonNativeWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapNonNativeWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/MapNonNativeWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapNonNativeWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/MapWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/MapWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/MapWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/MapWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MapWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/Memory.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Memory.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Memory.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Memory.java
diff --git a/src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java
diff --git a/src/main/java/org/apache/datasketches/memory/NioBits.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/NioBits.java
similarity index 90%
copy from src/main/java/org/apache/datasketches/memory/NioBits.java
copy to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/NioBits.java
index a2627b4..d0b4158 100644
--- a/src/main/java/org/apache/datasketches/memory/NioBits.java
+++ b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/NioBits.java
@@ -52,25 +52,25 @@ final class NioBits {
try {
VM_CLASS = Class.forName("sun.misc.VM");
VM_MAX_DIRECT_MEMORY_METHOD =
- VM_CLASS.getDeclaredMethod("maxDirectMemory");
+ VM_CLASS.getDeclaredMethod("maxDirectMemory");
VM_MAX_DIRECT_MEMORY_METHOD.setAccessible(true);
maxDBBMemory = (long)VM_MAX_DIRECT_MEMORY_METHOD
- .invoke(null); //static method
+ .invoke(null); //static method
VM_IS_DIRECT_MEMORY_PAGE_ALIGNED_METHOD =
- VM_CLASS.getDeclaredMethod("isDirectMemoryPageAligned");
+ VM_CLASS.getDeclaredMethod("isDirectMemoryPageAligned");
VM_IS_DIRECT_MEMORY_PAGE_ALIGNED_METHOD.setAccessible(true);
isPageAligned = (boolean)VM_IS_DIRECT_MEMORY_PAGE_ALIGNED_METHOD
- .invoke(null); //static method
+ .invoke(null); //static method
NIO_BITS_CLASS = Class.forName("java.nio.Bits");
NIO_BITS_RESERVE_MEMORY_METHOD = NIO_BITS_CLASS
- .getDeclaredMethod("reserveMemory", long.class, int.class);
+ .getDeclaredMethod("reserveMemory", long.class, int.class);
NIO_BITS_RESERVE_MEMORY_METHOD.setAccessible(true);
NIO_BITS_UNRESERVE_MEMORY_METHOD = NIO_BITS_CLASS
- .getDeclaredMethod("unreserveMemory", long.class, int.class);
+ .getDeclaredMethod("unreserveMemory", long.class, int.class);
NIO_BITS_UNRESERVE_MEMORY_METHOD.setAccessible(true);
final Field countField = NIO_BITS_CLASS.getDeclaredField("count");
@@ -144,7 +144,7 @@ final class NioBits {
reserveUnreserve(allocationSize, capacity, NIO_BITS_RESERVE_MEMORY_METHOD);
} catch (final Exception e) {
throw new RuntimeException("Could not invoke java.nio.Bits.reserveMemory(...): "
- + "allocationSize = " + allocationSize + ", capacity = " + capacity, e);
+ + "allocationSize = " + allocationSize + ", capacity = " + capacity, e);
}
}
@@ -153,12 +153,12 @@ final class NioBits {
reserveUnreserve(allocationSize, capacity, NIO_BITS_UNRESERVE_MEMORY_METHOD);
} catch (final Exception e) {
throw new RuntimeException("Could not invoke java.nio.Bits.unreserveMemory(...): "
- + "allocationSize = " + allocationSize + ", capacity = " + capacity, e);
+ + "allocationSize = " + allocationSize + ", capacity = " + capacity, e);
}
}
private static void reserveUnreserve(long allocationSize, long capacity, final Method method)
- throws Exception {
+ throws Exception {
Util.zeroCheck(capacity, "capacity");
// 1GB is a pretty "safe" limit.
final long chunkSizeLimit = 1L << 30;
@@ -173,4 +173,4 @@ final class NioBits {
allocationSize -= chunk;
}
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/apache/datasketches/memory/NonNativeWritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/NonNativeWritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/NonNativeWritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/NonNativeWritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/NonNativeWritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/NonNativeWritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/NonNativeWritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/NonNativeWritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/Prim.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Prim.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Prim.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Prim.java
diff --git a/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java
similarity index 100%
copy from src/main/java/org/apache/datasketches/memory/ReadOnlyException.java
copy to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java
diff --git a/src/main/java/org/apache/datasketches/memory/StepBoolean.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/StepBoolean.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/StepBoolean.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/StepBoolean.java
diff --git a/src/main/java/org/apache/datasketches/memory/UnsafeUtil.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/UnsafeUtil.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/UnsafeUtil.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/UnsafeUtil.java
diff --git a/src/main/java/org/apache/datasketches/memory/Utf8.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Utf8.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Utf8.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Utf8.java
diff --git a/src/main/java/org/apache/datasketches/memory/Utf8CodingException.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Utf8CodingException.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Utf8CodingException.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Utf8CodingException.java
diff --git a/src/main/java/org/apache/datasketches/memory/Util.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Util.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/Util.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/Util.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableBuffer.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableBuffer.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableBufferImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableBufferImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableBufferImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableBufferImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableDirectHandle.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableDirectHandle.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableDirectHandle.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableDirectHandle.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableHandle.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableHandle.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableHandle.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableHandle.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableMap.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMap.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableMap.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMap.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableMapHandle.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMapHandle.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableMapHandle.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMapHandle.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableMemory.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMemory.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableMemory.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMemory.java
diff --git a/src/main/java/org/apache/datasketches/memory/WritableMemoryImpl.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMemoryImpl.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/WritableMemoryImpl.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/WritableMemoryImpl.java
diff --git a/src/main/java/org/apache/datasketches/memory/XxHash64.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/XxHash64.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/XxHash64.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/XxHash64.java
diff --git a/src/main/java/org/apache/datasketches/memory/package-info.java b/datasketches-memory-base/src/main/java/org/apache/datasketches/memory/package-info.java
similarity index 100%
rename from src/main/java/org/apache/datasketches/memory/package-info.java
rename to datasketches-memory-base/src/main/java/org/apache/datasketches/memory/package-info.java
diff --git a/src/main/javadoc/overview.html b/datasketches-memory-base/src/main/javadoc/overview.html
similarity index 100%
copy from src/main/javadoc/overview.html
copy to datasketches-memory-base/src/main/javadoc/overview.html
diff --git a/src/test/java/org/apache/datasketches/memory/AllocateDirectMapMemoryTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/AllocateDirectMapMemoryTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/AllocateDirectMapMemoryTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/AllocateDirectMapMemoryTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/AllocateDirectMemoryTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/AllocateDirectMemoryTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/AllocateDirectMemoryTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/AllocateDirectMemoryTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/AllocateDirectWritableMapMemoryTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/AllocateDirectWritableMapMemoryTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/AllocateDirectWritableMapMemoryTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/AllocateDirectWritableMapMemoryTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/BaseBufferTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BaseBufferTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/BaseBufferTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BaseBufferTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/BaseStateTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BaseStateTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/BaseStateTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BaseStateTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/Buffer2Test.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/Buffer2Test.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/Buffer2Test.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/Buffer2Test.java
diff --git a/src/test/java/org/apache/datasketches/memory/BufferBoundaryCheckTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferBoundaryCheckTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/BufferBoundaryCheckTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferBoundaryCheckTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/BufferInvariantsTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferInvariantsTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/BufferInvariantsTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferInvariantsTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/BufferReadWriteSafetyTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferReadWriteSafetyTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/BufferReadWriteSafetyTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferReadWriteSafetyTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/BufferTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/BufferTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/BufferTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/CommonBufferTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CommonBufferTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/CommonBufferTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CommonBufferTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/CommonMemoryTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CommonMemoryTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/CommonMemoryTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CommonMemoryTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/CopyMemoryOverlapTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CopyMemoryOverlapTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/CopyMemoryOverlapTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CopyMemoryOverlapTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/CopyMemoryTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CopyMemoryTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/CopyMemoryTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/CopyMemoryTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/ExampleMemoryRequestServerTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/ExampleMemoryRequestServerTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/ExampleMemoryRequestServerTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/ExampleMemoryRequestServerTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/IgnoredArrayOverflowTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/IgnoredArrayOverflowTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/IgnoredArrayOverflowTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/IgnoredArrayOverflowTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/IsValidUtf8TestUtil.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/IsValidUtf8TestUtil.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/IsValidUtf8TestUtil.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/IsValidUtf8TestUtil.java
diff --git a/src/test/java/org/apache/datasketches/memory/LeafImplTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/LeafImplTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/LeafImplTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/LeafImplTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/MemoryBoundaryCheckTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryBoundaryCheckTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/MemoryBoundaryCheckTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryBoundaryCheckTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/MemoryReadWriteSafetyTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryReadWriteSafetyTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/MemoryReadWriteSafetyTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryReadWriteSafetyTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/MemoryTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/MemoryTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/MemoryWriteToTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryWriteToTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/MemoryWriteToTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/MemoryWriteToTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/NioBitsTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/NioBitsTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/NioBitsTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/NioBitsTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/NonNativeWritableBufferImplTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/NonNativeWritableBufferImplTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/NonNativeWritableBufferImplTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/NonNativeWritableBufferImplTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/NonNativeWritableMemoryImplTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/NonNativeWritableMemoryImplTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/NonNativeWritableMemoryImplTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/NonNativeWritableMemoryImplTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/SpecificLeafTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/SpecificLeafTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/SpecificLeafTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/SpecificLeafTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/UnsafeUtilTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/UnsafeUtilTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/UnsafeUtilTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/UnsafeUtilTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/Utf8Test.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/Utf8Test.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/Utf8Test.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/Utf8Test.java
diff --git a/src/test/java/org/apache/datasketches/memory/UtilTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/UtilTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/UtilTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/UtilTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/WritableBufferImplTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableBufferImplTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/WritableBufferImplTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableBufferImplTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/WritableDirectCopyTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableDirectCopyTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/WritableDirectCopyTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableDirectCopyTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/WritableMemoryImplTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableMemoryImplTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/WritableMemoryImplTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableMemoryImplTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/WritableMemoryTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableMemoryTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/WritableMemoryTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/WritableMemoryTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/XxHash64LoopingTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/XxHash64LoopingTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/XxHash64LoopingTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/XxHash64LoopingTest.java
diff --git a/src/test/java/org/apache/datasketches/memory/XxHash64Test.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/XxHash64Test.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/XxHash64Test.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/XxHash64Test.java
diff --git a/src/test/java/org/apache/datasketches/memory/ZeroCapacityTest.java b/datasketches-memory-base/src/test/java/org/apache/datasketches/memory/ZeroCapacityTest.java
similarity index 100%
rename from src/test/java/org/apache/datasketches/memory/ZeroCapacityTest.java
rename to datasketches-memory-base/src/test/java/org/apache/datasketches/memory/ZeroCapacityTest.java
diff --git a/src/test/resources/GettysburgAddress.txt b/datasketches-memory-base/src/test/resources/GettysburgAddress.txt
similarity index 100%
rename from src/test/resources/GettysburgAddress.txt
rename to datasketches-memory-base/src/test/resources/GettysburgAddress.txt
diff --git a/datasketches-memory-java11/pom.xml b/datasketches-memory-java11/pom.xml
new file mode 100644
index 0000000..a3fcd86
--- /dev/null
+++ b/datasketches-memory-java11/pom.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.datasketches</groupId>
+ <artifactId>datasketches-memory-root</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>datasketches-memory-java11</artifactId>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <maven.install.skip>true</maven.install.skip>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.datasketches</groupId>
+ <artifactId>datasketches-memory-base</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.12</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.1</version>
+ <configuration>
+ <source>11</source>
+ <target>11</target>
+ <compilerArgs>
+ <arg>--add-exports</arg>
+ <arg>java.base/sun.nio.ch=ALL-UNNAMED</arg>
+ <arg>--add-exports</arg>
+ <arg>java.base/jdk.internal.ref=ALL-UNNAMED</arg>
+ </compilerArgs>
+ <jdkToolchain>
+ <version>11</version>
+ </jdkToolchain>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven-surefire-plugin.version}</version>
+ <configuration>
+ <trimStackTrace>false</trimStackTrace>
+ <useManifestOnlyJar>false</useManifestOnlyJar>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <argLine>
+ --add-opens java.base/java.nio=ALL-UNNAMED
+ --add-opens java.base/java.lang=ALL-UNNAMED
+ --add-opens java.base/jdk.internal.misc=ALL-UNNAMED
+ --add-opens java.base/jdk.internal.ref=ALL-UNNAMED
+ --add-opens java.base/sun.nio.ch=ALL-UNNAMED
+ </argLine>
+ <jdkToolchain>
+ <version>11</version>
+ </jdkToolchain>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/src/main/java/org/apache/datasketches/memory/AllocateDirect.java b/datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
similarity index 97%
rename from src/main/java/org/apache/datasketches/memory/AllocateDirect.java
rename to datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
index 805554c..7fcd287 100644
--- a/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
+++ b/datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
@@ -21,11 +21,10 @@ package org.apache.datasketches.memory;
import static org.apache.datasketches.memory.UnsafeUtil.unsafe;
+import jdk.internal.ref.Cleaner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import sun.misc.Cleaner;
-
/**
* Provides access to direct (native) memory.
*
@@ -37,7 +36,7 @@ final class AllocateDirect implements AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(AllocateDirect.class);
private final Deallocator deallocator;
- private final Cleaner cleaner; //TODO-JDK9 import jdk.internal.ref.Cleaner;
+ private final Cleaner cleaner;
private final long nativeBaseOffset;
/**
diff --git a/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java b/datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
similarity index 99%
rename from src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
rename to datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
index 0dbe16a..aba9ebd 100644
--- a/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
+++ b/datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/AllocateDirectMap.java
@@ -30,10 +30,10 @@ import java.lang.reflect.Method;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
+import jdk.internal.ref.Cleaner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import sun.misc.Cleaner; //TODO-JDK9 jdk.internal.ref.Cleaner;
import sun.nio.ch.FileChannelImpl;
/**
diff --git a/src/main/java/org/apache/datasketches/memory/NioBits.java b/datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/NioBits.java
similarity index 98%
rename from src/main/java/org/apache/datasketches/memory/NioBits.java
rename to datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/NioBits.java
index a2627b4..973fb54 100644
--- a/src/main/java/org/apache/datasketches/memory/NioBits.java
+++ b/datasketches-memory-java11/src/main/java/org/apache/datasketches/memory/NioBits.java
@@ -50,7 +50,7 @@ final class NioBits {
static {
try {
- VM_CLASS = Class.forName("sun.misc.VM");
+ VM_CLASS = Class.forName("jdk.internal.misc.VM");
VM_MAX_DIRECT_MEMORY_METHOD =
VM_CLASS.getDeclaredMethod("maxDirectMemory");
VM_MAX_DIRECT_MEMORY_METHOD.setAccessible(true);
@@ -73,15 +73,15 @@ final class NioBits {
.getDeclaredMethod("unreserveMemory", long.class, int.class);
NIO_BITS_UNRESERVE_MEMORY_METHOD.setAccessible(true);
- final Field countField = NIO_BITS_CLASS.getDeclaredField("count");
+ final Field countField = NIO_BITS_CLASS.getDeclaredField("COUNT");
countField.setAccessible(true);
nioBitsCount = (AtomicLong) (countField.get(null));
- final Field reservedMemoryField = NIO_BITS_CLASS.getDeclaredField("reservedMemory");
+ final Field reservedMemoryField = NIO_BITS_CLASS.getDeclaredField("RESERVED_MEMORY");
reservedMemoryField.setAccessible(true);
nioBitsReservedMemory = (AtomicLong) (reservedMemoryField.get(null));
- final Field totalCapacityField = NIO_BITS_CLASS.getDeclaredField("totalCapacity");
+ final Field totalCapacityField = NIO_BITS_CLASS.getDeclaredField("TOTAL_CAPACITY");
totalCapacityField.setAccessible(true);
nioBitsTotalCapacity = (AtomicLong) (totalCapacityField.get(null));
diff --git a/src/main/javadoc/overview.html b/datasketches-memory-java11/src/main/javadoc/overview.html
similarity index 100%
rename from src/main/javadoc/overview.html
rename to datasketches-memory-java11/src/main/javadoc/overview.html
diff --git a/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java b/datasketches-memory-java11/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
similarity index 61%
rename from src/main/java/org/apache/datasketches/memory/ReadOnlyException.java
rename to datasketches-memory-java11/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
index ebced06..e89396a 100644
--- a/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java
+++ b/datasketches-memory-java11/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
@@ -17,22 +17,28 @@
* under the License.
*/
+/*
+ * Note: Lincoln's Gettysburg Address is in the public domain. See LICENSE.
+ */
+
package org.apache.datasketches.memory;
-/**
- * The exception thrown when attempting to write into a read-only Resource.
- *
- * @author Praveenkumar Venkatesan
- */
-public class ReadOnlyException extends UnsupportedOperationException {
- private static final long serialVersionUID = 1L;
+import org.testng.annotations.Test;
+
+import static org.testng.Assert.assertEquals;
- /**
- * Read Only Exception
- * @param message the error message
- */
- public ReadOnlyException(final String message) {
- super(message);
+@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);
+ }
}
+ }
}
-
diff --git a/datasketches-memory-multirelease/pom.xml b/datasketches-memory-multirelease/pom.xml
new file mode 100644
index 0000000..9845c73
--- /dev/null
+++ b/datasketches-memory-multirelease/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.datasketches</groupId>
+ <artifactId>datasketches-memory-root</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>datasketches-memory-multirelease</artifactId>
+ <name>${project.artifactId}</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <!-- Extends Apache Parent pom, apache-release profile -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven-javadoc-plugin.version}</version>
+ <configuration>
+ <docfilessubdirs>true</docfilessubdirs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>3.1.0</version>
+ <configuration>
+ <appendAssemblyId>false</appendAssemblyId>
+ <descriptors>
+ <descriptor>src/assembly/mrjar.xml</descriptor>
+ </descriptors>
+ <archive>
+ <manifestEntries>
+ <Multi-Release>true</Multi-Release>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies><!-- add multirelease-base dependencies if any -->
+ </dependencies>
+</project>
diff --git a/datasketches-memory-multirelease/src/assembly/mrjar.xml b/datasketches-memory-multirelease/src/assembly/mrjar.xml
new file mode 100644
index 0000000..1900300
--- /dev/null
+++ b/datasketches-memory-multirelease/src/assembly/mrjar.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
+ <id>mvjar</id>
+ <formats>
+ <format>jar</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <moduleSets>
+ <moduleSet>
+ <useAllReactorProjects>true</useAllReactorProjects>
+ <includes>
+ <include>org.apache.datasketches:datasketches-memory-base</include>
+ </includes>
+ <binaries>
+ <unpack>true</unpack>
+ <includeDependencies>false</includeDependencies>
+ </binaries>
+ </moduleSet>
+ <moduleSet>
+ <useAllReactorProjects>true</useAllReactorProjects>
+ <includes>
+ <include>org.apache.datasketches:datasketches-memory-java11</include>
+ </includes>
+ <binaries>
+ <outputDirectory>META-INF/versions/11</outputDirectory>
+ <unpack>true</unpack>
+ <includeDependencies>false</includeDependencies>
+ <unpackOptions>
+ <excludes>
+ <exclude>/META-INF/**</exclude>
+ </excludes>
+ </unpackOptions>
+ </binaries>
+ </moduleSet>
+ </moduleSets>
+</assembly>
diff --git a/pom.xml b/pom.xml
index 446e689..1d46750 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,671 +20,679 @@ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>23</version>
- </parent>
-
- <groupId>org.apache.datasketches</groupId>
- <artifactId>datasketches-memory</artifactId>
- <version>1.4.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>${project.artifactId}</name>
- <description>High-performance native memory access.</description>
- <url>https://datasketches.apache.org/</url>
- <inceptionYear>2015</inceptionYear>
-
- <mailingLists>
- <mailingList>
- <name>DataSketches Developers</name>
- <subscribe>dev-subscribe@datasketches.apache.org</subscribe>
- <unsubscribe>dev-unsubscribe@datasketches.apache.org</unsubscribe>
- <post>dev@datasketches.apache.org</post>
- <archive>https://mail-archives.apache.org/mod_mbox/datasketches-dev</archive>
- </mailingList>
- <mailingList>
- <name>sketches-user</name>
- <archive>https://groups.google.com/forum/#!forum/sketches-user</archive>
- <subscribe>mailto:sketches-user%2Bsubscribe@googlegroups.com</subscribe>
- <unsubscribe>mailto:sketches-user%2Bunsubscribe@googlegroups.com</unsubscribe>
- <post>mailto:sketches-user@googlegroups.com</post>
- </mailingList>
- </mailingLists>
-
- <scm>
- <connection>scm:git:ssh://git@github.com/apache/${project.artifactId}.git</connection>
- <developerConnection>scm:git:ssh://git@github.com/apache/${project.artifactId}.git</developerConnection>
- <url>https://github.com/apache/${project.artifactId}</url>
- <tag>HEAD</tag>
- </scm>
-
- <issueManagement>
- <!-- <system>jira</system>
- <url>https://issues.apache.org/jira/browse/DATASKETCHES</url> -->
- <system>GitHub</system>
- <url>https://github.com/apache/${project.artifactId}/issues</url>
- </issueManagement>
-
- <developers>
- <developer>
- <name>The Apache DataSketches Team</name>
- <email>dev@datasketches.apache.org</email>
- <url>https://datasketches.apache.org</url>
- <organization>Apache Software Foundation</organization>
- <organizationUrl>http://www.apache.org</organizationUrl>
- </developer>
- </developers>
-
- <properties>
- <!-- UNIQUE FOR THIS JAVA COMPONENT -->
- <slf4j-api.version>1.7.30</slf4j-api.version>
- <slf4j-simple.version>1.7.30</slf4j-simple.version>
- <protobuf-java.version>3.6.0</protobuf-java.version>
- <!-- Used for UTF8 testing -->
- <zero-allocation-hashing.version>0.8</zero-allocation-hashing.version>
- <!-- END:UNIQUE FOR THIS JAVA COMPONENT -->
-
- <!-- Test -->
- <testng.version>7.1.0</testng.version>
-
- <!-- System-wide properties -->
- <maven.version>3.5.0</maven.version>
- <java.version>1.8</java.version>
- <maven.compiler.source>${java.version}</maven.compiler.source>
- <maven.compiler.target>${java.version}</maven.compiler.target>
- <argLine>-Xmx4g -Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8</argLine>
- <charset.encoding>UTF-8</charset.encoding>
- <project.build.sourceEncoding>${charset.encoding}</project.build.sourceEncoding>
- <project.build.resourceEncoding>${charset.encoding}</project.build.resourceEncoding>
- <project.reporting.outputEncoding>${charset.encoding}</project.reporting.outputEncoding>
-
- <!-- org.codehaus plugins -->
- <!-- used for strict profile testing-->
- <plexus-compiler-javac-errorprone.version>2.8.5</plexus-compiler-javac-errorprone.version>
- <versions-maven-plugin.version>2.8.1</versions-maven-plugin.version>
-
- <!-- Maven Plugins -->
- <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version> <!-- overrides parent -->
- <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version> <!-- overrides parent -->
- <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version> <!-- overrides parent -->
- <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version> <!-- overrides parent -->
- <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version> <!-- overrides parent -->
- <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> <!-- overrides parent -->
- <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version> <!-- overrides parent -->
- <maven-release-plugin.version>3.0.0-M1</maven-release-plugin.version> <!-- overrides parent -->
- <maven-remote-resources-plugin.version>[1.7.0,)</maven-remote-resources-plugin.version> <!-- overrides parent -->
- <maven-source-plugin.version>3.2.1</maven-source-plugin.version> <!-- overrides parent -->
- <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version> <!-- overrides parent -->
- <!-- Apache Plugins -->
- <apache-rat-plugin.version>0.13</apache-rat-plugin.version> <!-- overrides parent -->
- <!-- org.jacoco Maven Plugins -->
- <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
- <!-- org.eluder Maven Plugins -->
- <coveralls-repo-token></coveralls-repo-token>
- <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
- <!-- other -->
- <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
- <git-commit-id-plugin.version>4.0.4</git-commit-id-plugin.version>
- </properties>
-
- <repositories>
- <repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>https://repository.apache.org/content/groups/snapshots/org/apache/datasketches/</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>apache</id>
- <name>Apache Releases Repository</name>
- <url>https://repository.apache.org/content/repositories/releases/org/apache/datasketches/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <dependencies>
- <!-- UNIQUE FOR THIS JAVA COMPONENT -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j-api.version}</version>
- </dependency>
- <!-- Test Scope -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <version>${slf4j-simple.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <!-- Used for UTF8 testing -->
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>${protobuf-java.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <!-- Used for xxHash testing -->
- <groupId>net.openhft</groupId>
- <artifactId>zero-allocation-hashing</artifactId>
- <version>${zero-allocation-hashing.version}</version>
- <scope>test</scope>
- </dependency>
- <!-- END: UNIQUE FOR THIS JAVA COMPONENT -->
-
- <!-- Test Scope -->
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>${testng.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <pluginManagement>
- <plugins>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>versions-maven-plugin</artifactId>
- <version>${versions-maven-plugin.version}</version>
- </plugin>
-
- <plugin>
- <!-- We want to deploy the artifacts to a staging location for perusal -->
- <!-- Apache Parent pom: apache-release profile -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>${maven-deploy-plugin.version}</version>
- </plugin>
-
- <plugin>
- <!-- Apache Parent pom, pluginManagement-->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>${maven-release-plugin.version}</version>
- </plugin>
-
- <plugin>
- <!-- Extends Apache Parent pom, pluginManagement-->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>${maven-jar-plugin.version}</version>
- <executions>
- <execution>
- <id>default-jar</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- <execution>
- <id>default-test-jar</id>
- <phase>package</phase>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <!-- Extends Apache Parent pom, apache-release profile -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>${maven-javadoc-plugin.version}</version>
- <configuration>
- <docfilessubdirs>true</docfilessubdirs>
- </configuration>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>${maven-enforcer-plugin.version}</version>
- <executions>
- <execution>
- <id>enforce-banned-dependencies</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireJavaVersion>
- <version>${java.version}</version>
- </requireJavaVersion>
- <requireMavenVersion>
- <version>${maven.version},</version>
- </requireMavenVersion>
- <bannedDependencies>
- <excludes>
- <!--LGPL licensed library-->
- <exclude>com.google.code.findbugs:annotations</exclude>
- </excludes>
- </bannedDependencies>
- </rules>
- <fail>true</fail>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <!-- Apache Parent pom, pluginManagement-->
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <version>${apache-rat-plugin.version}</version>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <outputDirectory>${project.basedir}/rat</outputDirectory>
- <consoleOutput>true</consoleOutput>
- <useDefaultExcludes>true</useDefaultExcludes>
- <excludes>
- <!-- rat uses .gitignore for excludes by default -->
- <exclude>**/*.yaml</exclude>
- <exclude>**/*.yml</exclude>
- <exclude>**/.*</exclude>
- <exclude>**/test/resources/**/*.txt</exclude>
- <exclude>LICENSE</exclude>
- <exclude>NOTICE</exclude>
- </excludes>
- </configuration>
- </plugin>
-
- <plugin>
- <!-- Extends Apache Parent pom, apache-release profile -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>${maven-source-plugin.version}</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- <execution>
- <id>attach-test-sources</id>
- <phase>package</phase>
- <goals>
- <goal>test-jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <!-- Apache Parent pom, pluginManagement-->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${maven-surefire-plugin.version}</version>
- <configuration>
- <trimStackTrace>false</trimStackTrace>
- <useManifestOnlyJar>false</useManifestOnlyJar>
- <redirectTestOutputToFile>true</redirectTestOutputToFile>
- </configuration>
- </plugin>
-
- <plugin>
- <!-- Generates code coverage report from website. -->
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>${jacoco-maven-plugin.version}</version>
- <executions>
- <execution>
- <id>default-prepare-agent</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </execution>
- <execution>
- <id>default-report</id>
- <goals>
- <goal>report</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <!-- Submit code coverage report to Coveralls.io. -->
- <groupId>org.eluder.coveralls</groupId>
- <artifactId>coveralls-maven-plugin</artifactId>
- <version>${coveralls-maven-plugin.version}</version>
- <configuration>
- <repoToken>${coveralls-repo-token}</repoToken>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>${lifecycle-mapping.version}</version>
- </plugin>
-
- <plugin>
- <groupId>pl.project13.maven</groupId>
- <artifactId>git.commit-id-plugin</artifactId>
- <version>${git-commit-id-plugin.version}</version>
- </plugin>
-
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eluder.coveralls</groupId>
- <artifactId>coveralls-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>pl.project13.maven</groupId>
- <artifactId>git.commit-id-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- <profiles>
- <!-- Ignore nuisance warning from Apache parent plugin:
- "maven-remote-resources-plugin (goal "process") is ignored by m2e".
- This also should fix the Maven warning that it can't find the lifecycle-mapping jar.
- This profile is only active when the property "m2e.version" is set,
- which is the case when building in Eclipse with m2e.
- The ignore below tells m2eclipse to skip the execution.
- -->
- <profile>
- <id>m2e</id>
- <activation>
- <property>
- <name>m2e.version</name>
- </property>
- </activation>
- <build>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>23</version>
+ </parent>
+
+ <groupId>org.apache.datasketches</groupId>
+ <artifactId>datasketches-memory-root</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>${project.artifactId}</name>
+ <description>High-performance native memory access.</description>
+ <url>https://datasketches.apache.org/</url>
+ <inceptionYear>2015</inceptionYear>
+
+ <mailingLists>
+ <mailingList>
+ <name>DataSketches Developers</name>
+ <subscribe>dev-subscribe@datasketches.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@datasketches.apache.org</unsubscribe>
+ <post>dev@datasketches.apache.org</post>
+ <archive>https://mail-archives.apache.org/mod_mbox/datasketches-dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>sketches-user</name>
+ <archive>https://groups.google.com/forum/#!forum/sketches-user</archive>
+ <subscribe>mailto:sketches-user%2Bsubscribe@googlegroups.com</subscribe>
+ <unsubscribe>mailto:sketches-user%2Bunsubscribe@googlegroups.com</unsubscribe>
+ <post>mailto:sketches-user@googlegroups.com</post>
+ </mailingList>
+ </mailingLists>
+
+ <scm>
+ <connection>scm:git:ssh://git@github.com/apache/${project.artifactId}.git</connection>
+ <developerConnection>scm:git:ssh://git@github.com/apache/${project.artifactId}.git</developerConnection>
+ <url>https://github.com/apache/${project.artifactId}</url>
+ <tag>HEAD</tag>
+ </scm>
+
+ <issueManagement>
+ <!-- <system>jira</system>
+ <url>https://issues.apache.org/jira/browse/DATASKETCHES</url> -->
+ <system>GitHub</system>
+ <url>https://github.com/apache/${project.artifactId}/issues</url>
+ </issueManagement>
+
+ <developers>
+ <developer>
+ <name>The Apache DataSketches Team</name>
+ <email>dev@datasketches.apache.org</email>
+ <url>https://datasketches.apache.org</url>
+ <organization>Apache Software Foundation</organization>
+ <organizationUrl>http://www.apache.org</organizationUrl>
+ </developer>
+ </developers>
+
+ <properties>
+ <!-- UNIQUE FOR THIS JAVA COMPONENT -->
+ <slf4j-api.version>1.7.30</slf4j-api.version>
+ <slf4j-simple.version>1.7.30</slf4j-simple.version>
+ <protobuf-java.version>3.6.0</protobuf-java.version>
+ <!-- Used for UTF8 testing -->
+ <zero-allocation-hashing.version>0.8</zero-allocation-hashing.version>
+ <!-- END:UNIQUE FOR THIS JAVA COMPONENT -->
+
+ <!-- Test -->
+ <testng.version>7.1.0</testng.version>
+
+ <!-- System-wide properties -->
+ <maven.version>3.5.0</maven.version>
+ <java.version>11</java.version>
+ <maven.compiler.source>${java.version}</maven.compiler.source>
+ <maven.compiler.target>${java.version}</maven.compiler.target>
+ <argLine>-Xmx4g -Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8</argLine>
+ <charset.encoding>UTF-8</charset.encoding>
+ <project.build.sourceEncoding>${charset.encoding}</project.build.sourceEncoding>
+ <project.build.resourceEncoding>${charset.encoding}</project.build.resourceEncoding>
+ <project.reporting.outputEncoding>${charset.encoding}</project.reporting.outputEncoding>
+
+ <!-- org.codehaus plugins -->
+ <!-- used for strict profile testing-->
+ <plexus-compiler-javac-errorprone.version>2.8.5</plexus-compiler-javac-errorprone.version>
+ <versions-maven-plugin.version>2.8.1</versions-maven-plugin.version>
+
+ <!-- Maven Plugins -->
+ <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version> <!-- overrides parent -->
+ <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version> <!-- overrides parent -->
+ <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version> <!-- overrides parent -->
+ <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version> <!-- overrides parent -->
+ <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version> <!-- overrides parent -->
+ <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> <!-- overrides parent -->
+ <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version> <!-- overrides parent -->
+ <maven-release-plugin.version>3.0.0-M1</maven-release-plugin.version> <!-- overrides parent -->
+ <maven-remote-resources-plugin.version>[1.7.0,)</maven-remote-resources-plugin.version> <!-- overrides parent -->
+ <maven-source-plugin.version>3.2.1</maven-source-plugin.version> <!-- overrides parent -->
+ <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version> <!-- overrides parent -->
+ <!-- Apache Plugins -->
+ <apache-rat-plugin.version>0.13</apache-rat-plugin.version> <!-- overrides parent -->
+ <!-- org.jacoco Maven Plugins -->
+ <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
+ <!-- org.eluder Maven Plugins -->
+ <coveralls-repo-token></coveralls-repo-token>
+ <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
+ <!-- other -->
+ <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
+ <toolchain.vendor>openjdk</toolchain.vendor>
+ <git-commit-id-plugin.version>4.0.4</git-commit-id-plugin.version>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>apache.snapshots</id>
+ <name>Apache Snapshot Repository</name>
+ <url>https://repository.apache.org/content/groups/snapshots/org/apache/datasketches/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>apache</id>
+ <name>Apache Releases Repository</name>
+ <url>https://repository.apache.org/content/repositories/releases/org/apache/datasketches/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <!-- UNIQUE FOR THIS JAVA COMPONENT -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j-api.version}</version>
+ </dependency>
+ <!-- Test Scope -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>${slf4j-simple.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <!-- Used for UTF8 testing -->
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>${protobuf-java.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <!-- Used for xxHash testing -->
+ <groupId>net.openhft</groupId>
+ <artifactId>zero-allocation-hashing</artifactId>
+ <version>${zero-allocation-hashing.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- END: UNIQUE FOR THIS JAVA COMPONENT -->
+
+ <!-- Test Scope -->
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>${testng.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
<pluginManagement>
- <plugins>
+ <plugins>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>versions-maven-plugin</artifactId>
+ <version>${versions-maven-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <!-- We want to deploy the artifacts to a staging location for perusal -->
+ <!-- Apache Parent pom: apache-release profile -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>${maven-deploy-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>${maven-release-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <!-- Extends Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${maven-jar-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>default-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-test-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <!-- Extends Apache Parent pom, apache-release profile -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven-javadoc-plugin.version}</version>
+ <configuration>
+ <docfilessubdirs>true</docfilessubdirs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${maven-enforcer-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>enforce-banned-dependencies</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>${java.version}</version>
+ </requireJavaVersion>
+ <requireMavenVersion>
+ <version>${maven.version},</version>
+ </requireMavenVersion>
+ <bannedDependencies>
+ <excludes>
+ <!--LGPL licensed library-->
+ <exclude>com.google.code.findbugs:annotations</exclude>
+ </excludes>
+ </bannedDependencies>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>${apache-rat-plugin.version}</version>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <outputDirectory>${project.basedir}/rat</outputDirectory>
+ <consoleOutput>true</consoleOutput>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <excludes>
+ <!-- rat uses .gitignore for excludes by default -->
+ <exclude>**/*.yaml</exclude>
+ <exclude>**/*.yml</exclude>
+ <exclude>**/.*</exclude>
+ <exclude>**/test/resources/**/*.txt</exclude>
+ <exclude>LICENSE</exclude>
+ <exclude>NOTICE</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <!-- Extends Apache Parent pom, apache-release profile -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>${maven-source-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>attach-test-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>test-jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven-surefire-plugin.version}</version>
+ <configuration>
+ <trimStackTrace>false</trimStackTrace>
+ <useManifestOnlyJar>false</useManifestOnlyJar>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <!-- Generates code coverage report from website. -->
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco-maven-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>default-prepare-agent</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-report</id>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <!-- Submit code coverage report to Coveralls.io. -->
+ <groupId>org.eluder.coveralls</groupId>
+ <artifactId>coveralls-maven-plugin</artifactId>
+ <version>${coveralls-maven-plugin.version}</version>
+ <configuration>
+ <repoToken>${coveralls-repo-token}</repoToken>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>${lifecycle-mapping.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git.commit-id-plugin</artifactId>
+ <version>${git-commit-id-plugin.version}</version>
+ </plugin>
+
+ </plugins>
+ </pluginManagement>
+ <plugins>
<plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>${lifecycle-mapping.version}</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-remote-resources-plugin</artifactId>
- <versionRange>${maven-remote-resources-plugin.version}</versionRange>
- <goals>
- <goal>process</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore/>
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
</plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <profile>
- <id>strict</id>
- <build>
- <pluginManagement>
- <plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>${maven-compiler-plugin.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-compiler-javac-errorprone</artifactId>
- <version>${plexus-compiler-javac-errorprone.version}</version>
- </dependency>
- </dependencies>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- <compilerId>javac-with-errorprone</compilerId>
- <forceJavacCompilerUse>true</forceJavacCompilerUse>
- </configuration>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
</plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
-
- <!-- This profile is used to release signed jars to the Apache Nexus repository.
- This must be executed from a git repository set at the proper Release branch (e.g., 1.1.X)
- and at a Release Candidate tag (e.g., 1.1.0-RC1).
- The pom version in the release branch must be properly set to something like: "1.1.0".
- The pom version in the master would be set to something like: "1.2.0-SNAPSHOT".
- Test Command: mvn clean verify -Pnexus-jars -DskipTests=true
- Command: mvn clean deploy -Dnexus-jars
- Verify Command (from terminal): gpg -v --verify $ASC $FILE # dashdashverify
- -->
- <profile>
- <id>nexus-jars</id>
- <build>
- <pluginManagement>
- <plugins>
<plugin>
- <groupId>pl.project13.maven</groupId>
- <artifactId>git-commit-id-plugin</artifactId>
- <version>${git-commit-id-plugin.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>revision</goal>
- </goals>
- <phase>initialize</phase>
- </execution>
- </executions>
- <configuration>
- <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
- <dateFormatTimeZone>UTC</dateFormatTimeZone>
- <verbose>false</verbose>
- <skipPoms>false</skipPoms>
- <format>json</format>
- <generateGitPropertiesFile>true</generateGitPropertiesFile>
- <generateGitPropertiesFilename>${project.build.directory}/git.properties</generateGitPropertiesFilename>
- <failOnNoGitDirectory>true</failOnNoGitDirectory>
- <failOnUnableToExtractRepoInfo>true</failOnUnableToExtractRepoInfo>
- <commitIdGenerationMode>full</commitIdGenerationMode>
- <includeOnlyProperties>
- <includeProperty>git.branch</includeProperty>
- <includeProperty>git.commit.id.full</includeProperty>
- <includeProperty>git.commit.time</includeProperty>
- <includeProperty>git.commit.user.email</includeProperty>
- <includeProperty>git.tags</includeProperty>
- </includeOnlyProperties>
- <gitDescribe>
- <skip>false</skip>
- <always>true</always>
- <abbrev>7</abbrev>
- <dirty>-dirty</dirty>
- <tags>true</tags>
- <forceLongFormat>true</forceLongFormat>
- </gitDescribe>
- </configuration>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
</plugin>
-
- <!-- Extends Apache Parent pom, pluginManagement-->
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>${maven-jar-plugin.version}</version>
- <executions>
- <execution>
- <id>default-jar</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- <execution>
- <id>default-test-jar</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <archive>
- <manifest>
- <addDefaultEntries>false</addDefaultEntries>
- <addDefaultSpecificationEntries>false</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>false</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Build-Jdk>${java.version} (${java.vendor} ${java.vm.version})</Build-Jdk>
- <Build-OS>${os.name} ${os.arch} ${os.version}</Build-OS>
- <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
- <GroupId-ArtifactId>${project.groupId}:${project.artifactId}</GroupId-ArtifactId>
- <git-branch>${git.branch}</git-branch>
- <git-commit-id>${git.commit.id.full}</git-commit-id>
- <git-commit-time>${git.commit.time}</git-commit-time>
- <git-commit-user-email>${git.commit.user.email}</git-commit-user-email>
- <git-commit-tag>${git.tags}</git-commit-tag>
- </manifestEntries>
- </archive>
- </configuration>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
</plugin>
-
- <!-- We want to sign the artifacts, POM, and all attached artifacts -->
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>${maven-gpg-plugin.version}</version>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <gpgArguments>
- <arg>--verbose</arg>
- <!-- prints the algorithm used -->
- <arg>--personal-digest-preferences=SHA512</arg>
- </gpgArguments>
- </configuration>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eluder.coveralls</groupId>
+ <artifactId>coveralls-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git.commit-id-plugin</artifactId>
</plugin>
- </plugins>
- </pluginManagement>
-
- <plugins>
- <plugin>
- <groupId>pl.project13.maven</groupId>
- <artifactId>git-commit-id-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
- <!-- Disable source release assembly for 'apache-release' profile.
- This is performed from a script outside Maven
- -->
- <profile>
- <id>apache-release</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>${maven-assembly-plugin.version}</version>
- <executions>
- <execution>
- <id>source-release-assembly</id>
- <phase>none</phase>
- </execution>
- </executions>
- </plugin>
</plugins>
- </build>
- </profile>
- </profiles>
+ </build>
+ <profiles>
+ <!-- Ignore nuisance warning from Apache parent plugin:
+ "maven-remote-resources-plugin (goal "process") is ignored by m2e".
+ This also should fix the Maven warning that it can't find the lifecycle-mapping jar.
+ This profile is only active when the property "m2e.version" is set,
+ which is the case when building in Eclipse with m2e.
+ The ignore below tells m2eclipse to skip the execution.
+ -->
+ <profile>
+ <id>m2e</id>
+ <activation>
+ <property>
+ <name>m2e.version</name>
+ </property>
+ </activation>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>${lifecycle-mapping.version}</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <versionRange>${maven-remote-resources-plugin.version}</versionRange>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore/>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <profile>
+ <id>strict</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-javac-errorprone</artifactId>
+ <version>${plexus-compiler-javac-errorprone.version}</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <compilerId>javac-with-errorprone</compilerId>
+ <forceJavacCompilerUse>true</forceJavacCompilerUse>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+ <!-- This profile is used to release signed jars to the Apache Nexus repository.
+ This must be executed from a git repository set at the proper Release branch (e.g., 1.1.X)
+ and at a Release Candidate tag (e.g., 1.1.0-RC1).
+ The pom version in the release branch must be properly set to something like: "1.1.0".
+ The pom version in the master would be set to something like: "1.2.0-SNAPSHOT".
+ Test Command: mvn clean verify -Pnexus-jars -DskipTests=true
+ Command: mvn clean deploy -Dnexus-jars
+ Verify Command (from terminal): gpg -v --verify $ASC $FILE # dashdashverify
+ -->
+ <profile>
+ <id>nexus-jars</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ <version>${git-commit-id-plugin.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>revision</goal>
+ </goals>
+ <phase>initialize</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
+ <dateFormatTimeZone>UTC</dateFormatTimeZone>
+ <verbose>false</verbose>
+ <skipPoms>false</skipPoms>
+ <format>json</format>
+ <generateGitPropertiesFile>true</generateGitPropertiesFile>
+ <generateGitPropertiesFilename>${project.build.directory}/git.properties</generateGitPropertiesFilename>
+ <failOnNoGitDirectory>true</failOnNoGitDirectory>
+ <failOnUnableToExtractRepoInfo>true</failOnUnableToExtractRepoInfo>
+ <commitIdGenerationMode>full</commitIdGenerationMode>
+ <includeOnlyProperties>
+ <includeProperty>git.branch</includeProperty>
+ <includeProperty>git.commit.id.full</includeProperty>
+ <includeProperty>git.commit.time</includeProperty>
+ <includeProperty>git.commit.user.email</includeProperty>
+ <includeProperty>git.tags</includeProperty>
+ </includeOnlyProperties>
+ <gitDescribe>
+ <skip>false</skip>
+ <always>true</always>
+ <abbrev>7</abbrev>
+ <dirty>-dirty</dirty>
+ <tags>true</tags>
+ <forceLongFormat>true</forceLongFormat>
+ </gitDescribe>
+ </configuration>
+ </plugin>
+
+ <!-- Extends Apache Parent pom, pluginManagement-->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${maven-jar-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>default-jar</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-test-jar</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultEntries>false</addDefaultEntries>
+ <addDefaultSpecificationEntries>false</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>false</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Build-Jdk>${java.version} (${java.vendor} ${java.vm.version})</Build-Jdk>
+ <Build-OS>${os.name} ${os.arch} ${os.version}</Build-OS>
+ <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
+ <GroupId-ArtifactId>${project.groupId}:${project.artifactId}</GroupId-ArtifactId>
+ <git-branch>${git.branch}</git-branch>
+ <git-commit-id>${git.commit.id.full}</git-commit-id>
+ <git-commit-time>${git.commit.time}</git-commit-time>
+ <git-commit-user-email>${git.commit.user.email}</git-commit-user-email>
+ <git-commit-tag>${git.tags}</git-commit-tag>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <!-- We want to sign the artifacts, POM, and all attached artifacts -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>${maven-gpg-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <gpgArguments>
+ <arg>--verbose</arg>
+ <!-- prints the algorithm used -->
+ <arg>--personal-digest-preferences=SHA512</arg>
+ </gpgArguments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <!-- Disable source release assembly for 'apache-release' profile.
+ This is performed from a script outside Maven
+ -->
+ <profile>
+ <id>apache-release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>${maven-assembly-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>source-release-assembly</id>
+ <phase>none</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <modules>
+ <module>datasketches-memory-base</module>
+ <module>datasketches-memory-java11</module>
+ <module>datasketches-memory-multirelease</module>
+ </modules>
+
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org