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/08/19 22:18:24 UTC
svn commit: r49567 [14/14] - in /dev/datasketches/memory/2.0.0-RC1: ./
apache-datasketches-memory-2.0.0-src/
apache-datasketches-memory-2.0.0-src/datasketches-memory-java11/
apache-datasketches-memory-2.0.0-src/datasketches-memory-java11/src/
apache-da...
Added: dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/docs/usage-instructions.md
==============================================================================
--- dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/docs/usage-instructions.md (added)
+++ dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/docs/usage-instructions.md Thu Aug 19 22:18:24 2021
@@ -0,0 +1,203 @@
+<!--
+ 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.
+-->
+
+# Usage Instructions
+
+You may need to supply additional runtime arguments to the JVM depending on how you are using the Datasketches Memory library.
+There are several applicable use cases that are considered:
+
+1. Using the library from a Java 8 application
+2. Using the library with on-heap memory only
+3. Using off-heap memory in a non-modularized Java 9+ application
+4. Using off-heap memory in a modularized Java 9+ application
+
+### 1) Using the library from a Java 8 application
+
+No additional runtime arguments are required.
+
+As an example, consider the following launch script that compiles and runs a simple Java 8 application:
+
+```shell
+ export JAVA_HOME=$JAVA8_HOME
+ export JAVAC=$JAVA_HOME/bin/javac
+ export JAR=$JAVA_HOME/bin/jar
+ export JAVA=$JAVA_HOME/bin/java
+ patha=nomvn-jdk8
+
+ cd $patha
+ echo PWD:$(pwd)
+ echo $JAVA_HOME
+
+ echo "--- CLEAN & COMPILE ---"
+ rm -rf target
+ mkdir target
+ mkdir target/classes
+ mkdir target/test-classes
+
+ $JAVAC -d target/test-classes/ -cp "libs/*" $(find . -name '*.java')
+
+ echo "---- RUN ----"
+ echo PWD:$(pwd)
+
+ $JAVA\
+ -cp target/test-classes:libs/*:src/test/resources/\
+ org.xyz.memory.CheckJava8
+```
+
+### 2) Using the library with on-heap memory only, or with off-heap memory allocated via ByteBuffer by the user.
+
+No additional runtime arguments are required, regardless of whether the library is used from a Java 8 or Java 9+
+application.
+
+As an example, consider the following launch script that compiles and runs a simple Java 9 application that only exclusively
+uses on-heap memory:
+
+```shell
+ export JAVA_HOME=$JAVA9_HOME
+ export JAVAC=$JAVA_HOME/bin/javac
+ export JAR=$JAVA_HOME/bin/jar
+ export JAVA=$JAVA_HOME/bin/java
+ patha=nomvn-nomod-heap-jdk9
+
+ cd $patha
+ echo PWD:$(pwd)
+ echo $JAVA_HOME
+
+ echo "--- CLEAN & COMPILE ---"
+ rm -rf target
+ mkdir target
+ mkdir target/classes
+ mkdir target/test-classes
+
+ $JAVAC -d target/test-classes -cp "mods/*":"libs/*" -p mods $(find . -name '*.java')
+
+ echo "---- RUN ----"
+
+ echo PWD:$(pwd)
+
+ $JAVA\
+ -cp target/test-classes:"mods/*":"libs/*":src/test/resources\
+ org.xyz.memory.CheckJava9plus
+```
+
+### 3) Using off-heap memory in a non-modularized Java 9+ application
+
+The following section applies to applications that are not modularized JPMS applications.
+
+In order to allocate off-heap memory using the `WritableMemory.allocateDirect(...)` method in Java 9 and above, you must provide the
+following runtime arguments to the JVM:
+
+```shell
+ --add-exports java.base/jdk.internal.misc=ALL-UNNAMED\
+ --add-exports java.base/jdk.internal.ref=ALL-UNNAMED\
+ --add-opens java.base/java.nio=ALL-UNNAMED\
+ --add-opens java.base/sun.nio.ch=ALL-UNNAMED\
+```
+
+These arguments expose encapsulated packages in the `java.base` package to the `org.apache.datasketches.memory` module,
+which runs as an UNNAMED module in a non-JPMS (non-modularized) application.
+
+The following launch script compiles and runs a non-modularized Java 9 application:
+
+```shell
+
+ export JAVA_HOME=$JAVA9_HOME
+ export JAVAC=$JAVA_HOME/bin/javac
+ export JAR=$JAVA_HOME/bin/jar
+ export JAVA=$JAVA_HOME/bin/java
+ patha=nomvn-nomod-jdk9
+
+ cd $patha
+ echo PWD:$(pwd)
+ echo $JAVA_HOME
+
+ echo "--- CLEAN & COMPILE ---"
+ rm -rf target
+ mkdir target
+ mkdir target/classes
+ mkdir target/test-classes
+
+ $JAVAC -d target/test-classes -cp "mods/*":"libs/*" -p mods $(find . -name '*.java')
+
+ echo "---- RUN ----"
+
+ echo PWD:$(pwd)
+
+ $JAVA\
+ --add-exports java.base/jdk.internal.misc=ALL-UNNAMED\
+ --add-exports java.base/jdk.internal.ref=ALL-UNNAMED\
+ --add-opens java.base/java.nio=ALL-UNNAMED\
+ --add-opens java.base/sun.nio.ch=ALL-UNNAMED\
+ -cp target/test-classes:"mods/*":"libs/*":src/test/resources\
+ org.xyz.memory.CheckJava9plus
+```
+where the traditional classpath (`-cp`) argument contains all modules, libraries and resources.
+
+Note: `mods` is a local directory containing external modules, and `libs` is a localy directory for external library
+dependencies. No distinction is made between modules and libraries since they are both appended to the classpath.
+
+### 4) Using off-heap memory in a modularized Java 9+ application
+
+The following section applies to modularized JPMS applications.
+
+In order to allocate off-heap memory using the `WritableMemory.allocateDirect(...)` method in Java 9 and above, you must provide the
+following runtime arguments to the JVM:
+
+```shell
+ --add-exports java.base/jdk.internal.misc=org.apache.datasketches.memory\
+ --add-exports java.base/jdk.internal.ref=org.apache.datasketches.memory\
+ --add-opens java.base/java.nio=org.apache.datasketches.memory\
+ --add-opens java.base/sun.nio.ch=org.apache.datasketches.memory\
+```
+
+These arguments expose encapsulated packages in the `java.base` package to the `org.apache.datasketches.memory` module.
+
+The following launch script compiles and runs a modularized Java 9 application:
+
+```shell
+ export JAVA_HOME=$JAVA9_HOME
+ export JAVAC=$JAVA_HOME/bin/javac
+ export JAR=$JAVA_HOME/bin/jar
+ export JAVA=$JAVA_HOME/bin/java
+ patha=nomvn-mod-jdk9
+
+ cd $patha
+ echo PWD:$(pwd)
+ echo $JAVA_HOME
+
+ echo "--- CLEAN & COMPILE ---"
+ rm -rf target
+ mkdir target
+ mkdir target/classes
+ mkdir target/test-classes
+
+ $JAVAC -d target/test-classes -cp "libs/*" -p mods $(find . -name '*.java')
+
+ echo "---- RUN ----"
+ echo PWD:$(pwd)
+
+ $JAVA\
+ --add-opens java.base/java.nio=org.apache.datasketches.memory\
+ --add-opens java.base/sun.nio.ch=org.apache.datasketches.memory\
+ -cp "/libs/*":src/test/resources\
+ -p target/test-classes:mods\
+ -m org.xyz.memory/org.xyz.memory.CheckJava9plus
+```
+where the traditional classpath (`-cp`) argument contains libraries and resources, and the module-path argument (`-p`)
+references all external modules and compiled classes for the current user application, which is itself a module.
Added: dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/git.properties
==============================================================================
--- dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/git.properties (added)
+++ dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/git.properties Thu Aug 19 22:18:24 2021
@@ -0,0 +1,9 @@
+{
+ "Implementation-Vendor" : "The Apache Software Foundataion",
+ "GroupId-ArtifactId" : "org.apache.datasketches:datasketches-memory",
+ "git.branch" : "2.0.X",
+ "git.commit.id.full" : "86de062d3e92e26440ba3f270a5e95dd1f106dd6",
+ "git.commit.time" : "2021-08-19T22:23:59+01:00",
+ "git-commit-user-email" : "davecromberge@gmail.com",
+ "git.commit.tag" : "2.0.0-RC1",
+}
Added: dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/pom.xml
==============================================================================
--- dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/pom.xml (added)
+++ dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/pom.xml Thu Aug 19 22:18:24 2021
@@ -0,0 +1,538 @@
+<?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/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>2.0.0</version>
+ <!-- Required for multi-module project -->
+ <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>
+
+ <!--
+ NOTE:
+ The datasketches-memory submodule uses the Maven project-aggregation feature and does not inherit
+ from this root module as a parent; so that there is no runtime dependency on the parent project (root module).
+ As a result, some properties from this POM (including the version) are duplicated in the datasketches-memory
+ module for inclusion in the assembled artifacts. For more information, see:
+ https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Aggregation -->
+
+
+ <properties>
+ <!-- UNIQUE FOR THIS JAVA COMPONENT -->
+ <protobuf-java.version>4.0.0-rc-2</protobuf-java.version>
+ <!-- Used for UTF8 testing -->
+ <zero-allocation-hashing.version>0.15</zero-allocation-hashing.version>
+ <!-- END:UNIQUE FOR THIS JAVA COMPONENT -->
+
+ <!-- Test -->
+ <!-- Version 7.4.0 fails to locate jquery.min.js for reporting on debian systems -->
+ <testng.version>7.1.0</testng.version>
+
+ <!-- System-wide properties -->
+ <maven.version>3.5.0</maven.version>
+ <java.version>1.8</java.version>
+ <jdk-toolchain.version>8</jdk-toolchain.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-M3</maven-enforcer-plugin.version> <!-- overrides parent -->
+ <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> <!-- overrides parent -->
+ <maven-javadoc-plugin.version>3.3.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 -->
+ <maven-toolchains-plugin.version>3.0.0</maven-toolchains-plugin.version>
+ <maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
+ <!-- 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>
+ <maven.deploy.skip>true</maven.deploy.skip>
+ <maven.install.skip>true</maven.install.skip>
+ <maven.javadoc.skip>true</maven.javadoc.skip>
+ </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>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>${testng.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>
+ </dependencies>
+ </dependencyManagement>
+
+ <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>
+ <doclint>none</doclint>
+ <jdkToolchain>
+ <version>${jdk-toolchain.version}</version>
+ </jdkToolchain>
+ <excludePackageNames>org.apache.datasketches.memory.internal</excludePackageNames>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <phase>package</phase>
+ <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>[1.8,1.9),[8,14)</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>
+ <exclude>**/*.yaml</exclude>
+ <exclude>**/*.yml</exclude>
+ <exclude>**/.*/**/*</exclude>
+ <exclude>**/.clover/**/*</exclude>
+ <exclude>**/test/resources/**/*.txt</exclude>
+ <exclude>**/docs/*.md</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>
+ <jdkToolchain>
+ <version>${jdk-toolchain.version}</version>
+ </jdkToolchain>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-toolchains-plugin</artifactId>
+ <version>${maven-toolchains-plugin.version}</version>
+ <configuration>
+ <toolchains>
+ <jdk>
+ <version>[1.8,1.9),[9,14)</version>
+ </jdk>
+ </toolchains>
+ </configuration>
+ <executions>
+ <execution>
+ <goals><goal>toolchain</goal></goals>
+ </execution>
+ </executions>
+ </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>
+ </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>
+ <!--suppress UnresolvedMavenProperty -->
+ <repoToken>${coveralls-repo-token}</repoToken>
+ <!--suppress UnresolvedMavenProperty -->
+ <jacocoReports>${maven.multiModuleProjectDirectory}/datasketches-memory/target/site/jacoco-aggregate/jacoco.xml</jacocoReports>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <configuration>
+ <jdkToolchain>
+ <version>${jdk-toolchain.version}</version>
+ </jdkToolchain>
+ </configuration>
+ </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.eluder.coveralls</groupId>
+ <artifactId>coveralls-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <!-- 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>
+
+ <profile>
+ <id>only-eclipse</id>
+ <activation>
+ <property>
+ <name>m2e.version</name>
+ </property>
+ </activation>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>${maven-remote-resources-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>process-resource-bundles</id>
+ <phase>none</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
+
+ </profiles>
+
+ <!-- This Maven project is divided into an aggregator project (the root), that manages a group of submodules that
+ inherit configuration from this root module.
+ A multi-module project is used to target different version-specific features of the Java language APIs.
+ Furthermore, it is a structure that is supported in most IDEs allowing minimal disruption to developers that
+ contribute to this project -->
+ <modules>
+ <module>datasketches-memory-java8</module>
+ <module>datasketches-memory-java8-tests</module>
+ <module>datasketches-memory-java9</module>
+ <module>datasketches-memory-java11</module>
+ <module>datasketches-memory</module>
+ <module>datasketches-memory-resources</module>
+ </modules>
+
+</project>
Added: dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/CloverConfig.txt
==============================================================================
--- dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/CloverConfig.txt (added)
+++ dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/CloverConfig.txt Thu Aug 19 22:18:24 2021
@@ -0,0 +1,49 @@
+# 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.
+
+Clover Config for Eclipse:
+
+At Project Level Properties:
+ Instrumentation:
+ Initstring: Default value
+ Output Folder: ...project output dir(s)
+ Flush Policy: At JVM shutdown ...
+ Misc: Fully qualify ... , Instrument and compile at statement level
+ Contexts:
+ Check: assert statements
+ Add Custom Coverage Context Filter:
+ private-constructor: also see link below
+ Method
+ (.* )?private +[a-zA-Z0-9_$]+ *\( *\).*
+ Source Files
+ Only look ...
+ [check] src/main/java[includes=**/*.java][excludes=]
+ [check] src/test/java[includes=**/*.java][excludes=]
+ Test Classes
+ Assume all source in the specified folders are tests or test utility classes
+ [check] src/test/java
+
+At Clover "down-triangle" menu:
+ Columns:
+ Element
+ % TOTAL Coverage
+ Uncovered Elements: Custom: %UncoveredElements * TotalElements / 100
+ Total Elements
+
+
+
+http://alexruizlog.blogspot.com/2009/04/how-to-make-clover-ignore-private_21.html
\ No newline at end of file
Added: dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/FindBugsExcludeFilter.xml
==============================================================================
--- dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/FindBugsExcludeFilter.xml (added)
+++ dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/FindBugsExcludeFilter.xml Thu Aug 19 22:18:24 2021
@@ -0,0 +1,96 @@
+<?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.
+-->
+
+<FindBugsFilter> <!-- memory -->
+
+ <!-- Too many false positives to be useful. I could not make it happy :( -->
+ <Match>
+ <Bug pattern="SF_SWITCH_NO_DEFAULT" />
+ </Match>
+
+ <Match> <!-- Exclude for test classes; too many False Positives. -->
+ <Bug pattern="NP_NULL_PARAM_DEREF_NONVIRTUAL" />
+ <Class name="~.*\.*Test" />
+ </Match>
+
+ <Match> <!-- Exclude for test classes; too many False Positives. -->
+ <Bug pattern="DLS_DEAD_LOCAL_STORE" />
+ <Class name="~.*\.*Test" />
+ </Match>
+
+</FindBugsFilter>
+
+
+
+<!-- Examples: -->
+
+<!-- Exclude java.* classes -->
+ <!--
+ <Match>
+ <Package name="java\.*" />
+ </Match>
+-->
+
+ <!-- Exclude test classes -->
+<!--
+ <Match>
+ <Class name="~.*\.*Test" />
+ </Match>
+-->
+
+<!--
+ <Match>
+ <Class name="com.foobar.ClassNotToBeAnalyzed" />
+ </Match>
+-->
+<!--
+ <Match>
+ <Class name="com.foobar.ClassWithSomeBugsMatched" />
+ <Bug code="DE,UrF,SIC" />
+ </Match>
+-->
+ <!-- Match all XYZ violations. -->
+<!--
+ <Match>
+ <Bug code="XYZ" />
+ </Match>
+-->
+ <!-- Match all doublecheck violations in these methods of "AnotherClass". -->
+<!--
+ <Match>
+ <Class name="com.foobar.AnotherClass" />
+ <Or>
+ <Method name="nonOverloadedMethod" />
+ <Method name="frob" params="int,java.lang.String" returns="void" />
+ <Method name="blat" params="" returns="boolean" />
+ </Or>
+ <Bug code="DC" />
+ </Match>
+-->
+ <!-- A method with a dead local store false positive (medium priority). -->
+<!--
+ <Match>
+ <Class name="com.foobar.MyClass" />
+ <Method name="someMethod" />
+ <Bug pattern="DLS_DEAD_LOCAL_STORE" />
+ <Priority value="2" />
+ </Match>
+-->
Added: dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/MemoryCheckstyle.xml
==============================================================================
--- dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/MemoryCheckstyle.xml (added)
+++ dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/MemoryCheckstyle.xml Thu Aug 19 22:18:24 2021
@@ -0,0 +1,398 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC
+ "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
+ "https://checkstyle.org/dtds/configuration_1_3.dtd">
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!--
+ MemoryCheckstyle.xml
+
+ Checkstyle is very configurable. Be sure to read the documentation at
+ http://checkstyle.sourceforge.net (or in your downloaded distribution).
+
+ To completely disable a check, comment it out, delete it, or set
+ property name="severity" value="ignore".
+-->
+
+<module name="Checker">
+ <property name="charset" value="UTF-8"/>
+ <property name="severity" value="warning"/>
+ <property name="fileExtensions" value="java"/>
+
+ <module name="BeforeExecutionExclusionFileFilter">
+ <property name="fileNamePattern" value="src[\\/]test[\\/]java[\\/].+$|module\-info\.java.+$"/>
+ </module>
+
+ <module name="FileTabCharacter">
+ <property name="eachLine" value="true"/>
+ </module>
+
+ <module name="JavadocPackage"/>
+
+ <module name="NewlineAtEndOfFile">
+ <property name="lineSeparator" value="lf"/>
+ </module>
+
+ <!-- Size Violations -->
+ <module name="LineLength">
+ <property name="severity" value="warning"/>
+ <property name="max" value="120"/>
+ <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
+ <!-- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> -->
+ </module>
+
+ <module name="SuppressWithPlainTextCommentFilter">
+ <property name="offCommentFormat" value="//CHECKSTYLE.OFF\: ([\w\|]+)"/>
+ <property name="onCommentFormat" value="//CHECKSTYLE.ON\: ([\w\|]+)"/>
+ <property name="checkFormat" value="$1"/>
+ </module>
+
+ <!-- ******************************************************** -->
+
+ <module name="TreeWalker">
+
+ <!-- Annotations -->
+ <module name="AnnotationLocation">
+ <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
+ </module>
+
+ <module name="AnnotationLocation">
+ <property name="tokens" value="VARIABLE_DEF"/>
+ <property name="allowSamelineMultipleAnnotations" value="true"/>
+ </module>
+
+ <!-- Block Checks -->
+ <module name="EmptyBlock">
+ <property name="severity" value="warning"/>
+ <property name="option" value="TEXT"/>
+ <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="EmptyCatchBlock">
+ <property name="severity" value="ignore"/>
+ <property name="exceptionVariableName" value="expected"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="LeftCurly">
+ <!-- doesn't allow for if (n == 0) { return 0.0; }, which is readable and not corruptable -->
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="NeedBraces">
+ <property name="allowSingleLineStatement" value="false"/> <!-- default = false -->
+ <property name="allowEmptyLoopBody" value="false"/> <!-- default = false -->
+ </module>
+
+ <module name="RightCurly">
+ <!-- requires right curly start a new line; alone: on a line alone -->
+ <property name="severity" value="ignore"/>
+ <property name="option" value="alone"/>
+ <property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <!-- Coding -->
+ <module name="FallThrough">
+ <property name="severity" value="warning"/>
+ <property name="reliefPattern" value="fallthru|falls? ?through|FALL[- ]?THROUGH"/>
+ <!-- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> -->
+ </module>
+
+ <module name="FinalLocalVariable">
+ <property name="severity" value="warning"/>
+ <property name="tokens" value="VARIABLE_DEF,PARAMETER_DEF"/>
+ </module>
+
+ <module name="IllegalTokenText">
+ <property name="severity" value="warning"/>
+ <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
+ <property name="format" value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
+ <property name="message" value="Avoid using corresponding octal or Unicode escape."/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="MissingSwitchDefault">
+ <!-- Too many false positives -->
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="MultipleVariableDeclarations">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="NoFinalizer">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="OneStatementPerLine">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="OverloadMethodsDeclarationOrder">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="VariableDeclarationUsageDistance">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <!-- Class Design -->
+ <module name="OneTopLevelClass"/>
+
+ <module name="FinalClass"/>
+
+ <!-- Imports -->
+ <module name="AvoidStarImport"/>
+
+ <module name="CustomImportOrder">
+ <property name="specialImportsRegExp" value="org"/>
+ <property name="sortImportsInGroupAlphabetically" value="true"/>
+ <property name="separateLineBetweenGroups" value="true"/>
+ <!-- Google: "STATIC###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE" -->
+ <property name="customImportOrderRules" value="STATIC###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE"/>
+ </module>
+
+ <module name="RedundantImport"/>
+
+ <module name="UnusedImports"/>
+
+ <!-- Filters -->
+ <!-- Enable suppression using comments: //CHECKSTYLE.OFF: "RULE" and //CHECKSTYLE.ON: "RULE"
+ You must specify the specific rule, as in: //CHECKSTYLE.OFF: LineLength -->
+ <module name="SuppressionCommentFilter">
+ <property name="offCommentFormat" value="//CHECKSTYLE.OFF\: ([\w\|]+)"/>
+ <property name="onCommentFormat" value="//CHECKSTYLE.ON\: ([\w\|]+)"/>
+ <property name="checkFormat" value="$1"/>
+ </module>
+
+ <!-- Javadoc Comments -->
+ <!-- JavadocPackage under Checker -->
+ <module name="AtclauseOrder">
+ <property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
+ <property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
+ </module>
+
+ <module name="JavadocMethod">
+ <property name="scope" value="public"/>
+ <property name="allowMissingParamTags" value="false"/> <!-- default -->
+ <property name="allowMissingReturnTag" value="false"/> <!-- default -->
+ <property name="allowedAnnotations" value="Override, Test"/>
+ </module>
+
+ <module name="JavadocParagraph"/>
+
+ <module name="JavadocTagContinuationIndentation">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="NonEmptyAtclauseDescription"/>
+
+ <module name="SingleLineJavadoc">
+ <property name="ignoreInlineTags" value="false"/>
+ </module>
+
+ <module name="SummaryJavadocCheck">
+ <property name="severity" value="ignore"/>
+ <property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <!-- Miscellaneous -->
+ <module name="ArrayTypeStyle">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="AvoidEscapedUnicodeCharacters">
+ <property name="severity" value="warning"/>
+ <property name="allowEscapesForControlCharacters" value="true"/>
+ <property name="allowByTailComment" value="true"/>
+ <property name="allowNonPrintableEscapes" value="true"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="CommentsIndentation">
+ <property name="severity" value="warning"/>
+ <!-- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> -->
+ </module>
+
+ <module name="Indentation">
+ <property name="severity" value="ignore"/>
+ <property name="basicOffset" value="2"/>
+ <property name="braceAdjustment" value="0"/> <!-- default -->
+ <property name="caseIndent" value="2"/>
+ <property name="throwsIndent" value="4"/>
+ <property name="lineWrappingIndentation" value="4"/>
+ <property name="arrayInitIndent" value="2"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="OuterTypeFilename">
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="TodoComment">
+ <property name="severity" value="ignore"/>
+ <property name="format" value="(//TODO)|(//FIXME)"/>
+ </module>
+
+ <module name="UpperEll">
+ <property name="severity" value="warning"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <!-- Modifiers -->
+ <module name="ModifierOrder">
+ <property name="severity" value="ignore"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <!-- Naming Conventions -->
+ <module name="AbbreviationAsWordInName">
+ <property name="severity" value="ignore"/>
+ <property name="ignoreFinal" value="false"/>
+ <property name="allowedAbbreviationLength" value="1"/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="ClassTypeParameterName">
+ <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
+ <message key="name.invalidPattern"
+ value="Class type name ''{0}'' must match pattern ''{1}''."/>
+ </module>
+
+ <module name="LocalVariableName">
+ <property name="severity" value="ignore"/>
+ <property name="tokens" value="VARIABLE_DEF"/>
+ <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
+ <property name="allowOneCharVarInForLoop" value="true"/>
+ <message key="name.invalidPattern"
+ value="Local variable name ''{0}'' must match pattern ''{1}''."/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="MemberName">
+ <property name="severity" value="ignore"/>
+ <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
+ <message key="name.invalidPattern"
+ value="Member name ''{0}'' must match pattern ''{1}''."/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="MethodName">
+ <property name="severity" value="ignore"/>
+ <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
+ <message key="name.invalidPattern"
+ value="Method name ''{0}'' must match pattern ''{1}''."/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="MethodTypeParameterName">
+ <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
+ <message key="name.invalidPattern"
+ value="Method type name ''{0}'' must match pattern ''{1}''."/>
+ </module>
+
+ <module name="PackageName">
+ <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
+ <message key="name.invalidPattern"
+ value="Package name ''{0}'' must match pattern ''{1}''."/>
+ </module>
+
+ <module name="ParameterName">
+ <property name="severity" value="ignore"/>
+ <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
+ <message key="name.invalidPattern"
+ value="Parameter name ''{0}'' must match pattern ''{1}''."/>
+ <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
+ </module>
+
+ <module name="TypeName">
+ <message key="name.invalidPattern"
+ value="Type name ''{0}'' must match pattern ''{1}''."/>
+ </module>
+
+ <!-- Regexp -->
+ <module name="Regexp">
+ <property name="severity" value="ignore"/>
+ <property name="format" value="[ \t]+$"/>
+ <property name="illegalPattern" value="true"/>
+ <property name="message" value="Trailing whitespace"/>
+ <property name="ignoreComments" value="true"/>
+ </module>
+
+ <!-- Whitespace -->
+ <module name="EmptyLineSeparator">
+ <property name="allowNoEmptyLineBetweenFields" value="true"/>
+ </module>
+
+ <module name="GenericWhitespace">
+ <message key="ws.followed"
+ value="GenericWhitespace ''{0}'' is followed by whitespace."/>
+ <message key="ws.preceded"
+ value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
+ <message key="ws.illegalFollow"
+ value="GenericWhitespace ''{0}'' should followed by whitespace."/>
+ <message key="ws.notPreceded"
+ value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
+ </module>
+
+ <module name="NoLineWrap"/> <!-- Only for import and package statements -->
+
+ <module name="MethodParamPad"/>
+
+ <module name="OperatorWrap">
+ <property name="option" value="NL"/>
+ <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
+ </module>
+
+ <module name="SeparatorWrap">
+ <property name="tokens" value="DOT"/>
+ <property name="option" value="nl"/>
+ </module>
+
+ <module name="SeparatorWrap">
+ <property name="tokens" value="COMMA"/>
+ <property name="option" value="EOL"/>
+ </module>
+
+ <module name="WhitespaceAround">
+ <property name="allowEmptyConstructors" value="true"/>
+ <property name="allowEmptyMethods" value="true"/>
+ <property name="allowEmptyTypes" value="true"/>
+ <property name="allowEmptyLoops" value="true"/>
+ <message key="ws.notPreceded" value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
+ <message key="ws.notFollowed" value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
+ </module>
+
+ </module> <!-- End of TreeWalker -->
+
+</module>
Added: dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/toolchains.xml
==============================================================================
--- dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/toolchains.xml (added)
+++ dev/datasketches/memory/2.0.0-RC1/apache-datasketches-memory-2.0.0-src/tools/toolchains.xml Thu Aug 19 22:18:24 2021
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF8"?>
+
+<!--
+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.
+-->
+
+<toolchains>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.8</version>
+ <vendor>openjdk</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA8_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>8</version>
+ <vendor>openjdk</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA8_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>9</version>
+ <vendor>openjdk</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA9_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>11</version>
+ <vendor>openjdk</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA11_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+</toolchains>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org