Merge branch 'master' into Move_to_GitHubActions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..48891d7
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,36 @@
+# The default behavior, which overrides 'core.autocrlf', is to use Git's
+# built-in heuristics to determine whether a particular file is text or binary.
+# Text files are automatically normalized to the user's platforms.
+* text=auto
+
+# Explicitly declare text files that should always be normalized and converted
+# to native line endings.
+.asf.yaml text
+.gitattributes text
+.gitignore text
+git.properties text
+.travis.yml text
+LICENSE text
+NOTICE text
+*.html text
+*.java text
+*.md text
+*.properties text
+*.sh text
+*.xml text
+*.yml text
+*.yaml text
+
+# Declare files that will always have CRLF line endings on checkout.
+
+# Explicitly denote all files that are truly binary and should not be modified.
+*.jpg binary
+*.png binary
+*.svg binary
+
+# Declare files that should be ignored when creating an archive of the git repository
+.asf.yaml export-ignore
+.gitattributes export-ignore
+.gitignore export-ignore
+.travis.yml export-ignore
+.github/ export-ignore
diff --git a/.github/workflows/.toolchains.xml b/.github/workflows/.toolchains.xml
new file mode 100644
index 0000000..a7d1161
--- /dev/null
+++ b/.github/workflows/.toolchains.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF8"?>
+<toolchains>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>8</version>
+ <vendor>openjdk</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${JAVA_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+</toolchains>
\ No newline at end of file
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..698d6c6
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,53 @@
+name: Java Test Coverage with Maven, Coveralls
+
+on:
+ pull_request:
+ push:
+ branches: [ master ]
+
+env:
+ MAVEN_OPTS: -Xmx4g -Xms1g
+ repo_token: ${{secrets.coveralls_token}}
+
+jobs:
+ build:
+ name: Build, Test, Coverage
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
+ uses: actions/checkout@v2
+ with:
+ persist-credentials: false
+
+ - name: Cache local Maven repository
+ uses: actions/cache@v2
+ with:
+ path: ~/.m2/repository
+ key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: build-${{ runner.os }}-maven-
+
+ - name: Install JDK
+ uses: AdoptOpenJDK/install-jdk@v1
+ with:
+ version: '8'
+ architecture: x64
+ impl: hotspot
+ targets: 'JDK_8;JAVA_HOME'
+
+ - name: Install Dependencies
+ run: >
+ mvn clean install -B -V -q
+ -DskipTests=true
+ -Dmaven.javadoc.skip=true
+ -Dgpg.skip=true
+ --toolchains .github/workflows/.toolchains.xml
+
+ - name: Test & Report
+ if: ${{ success() }}
+ run: >
+ mvn verify coveralls:report -B -V -q
+ -Dcoveralls-repo-token=${repo_token}
+ -Dmaven.javadoc.skip=true
+ -Dgpg.skip=true
+ --toolchains .github/workflows/.toolchains.xml
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 2883397..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# http://docs.travis-ci.com/user/customizing-the-build/
-
-language: java
-
-dist: trusty
-
-jdk:
- - openjdk8
-
-install:
- - mvn clean install -q -Dmaven.javadoc.skip=true -Dsource.skip=true -DskipTests=true -Dgpg.skip=true
-
-before_script:
- - _JAVA_OPTIONS="-Xmx4g -Xms1g"
-
-script:
- - mvn clean compile test -q -Dgpg.skip=true
-
-after_success:
- - mvn clean test jacoco:report coveralls:report -q -DrepoToken=$coveralls_token
-
-notifications:
- email: false
-
-cache:
- directories:
- - .autoconf
- - $HOME/.m2
diff --git a/pom.xml b/pom.xml
index b3447ce..c137b6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,17 +30,14 @@
</parent>
<groupId>org.apache.datasketches</groupId>
-
- <!-- UNIQUE FOR THIS JAVA COMPONENT -->
<artifactId>datasketches-memory</artifactId>
<version>1.4.0-SNAPSHOT</version>
- <description>High-performance native memory access.</description>
- <!-- END: UNIQUE FOR THIS JAVA COMPONENT -->
+ <packaging>jar</packaging>
- <url>https://datasketches.apache.org/</url>
<name>${project.artifactId}</name>
+ <description>High-performance native memory access.</description>
+ <url>https://datasketches.apache.org/</url>
<inceptionYear>2015</inceptionYear>
- <packaging>jar</packaging> <!-- jar is the default -->
<mailingLists>
<mailingList>
@@ -128,6 +125,7 @@
<!-- 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>
@@ -231,12 +229,14 @@
<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>
@@ -309,7 +309,9 @@
<useDefaultExcludes>true</useDefaultExcludes>
<excludes>
<!-- rat uses .gitignore for excludes by default -->
- <exclude>.asf.yaml</exclude>
+ <exclude>**/*.yaml</exclude>
+ <exclude>**/*.yml</exclude>
+ <exclude>**/.*</exclude>
<exclude>**/test/resources/**/*.txt</exclude>
<exclude>LICENSE</exclude>
<exclude>NOTICE</exclude>
@@ -356,11 +358,17 @@
<version>${jacoco-maven-plugin.version}</version>
<executions>
<execution>
- <id>prepare-agent</id>
+ <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>
@@ -369,7 +377,7 @@
<artifactId>coveralls-maven-plugin</artifactId>
<version>${coveralls-maven-plugin.version}</version>
<configuration>
- <!-- Since we use Travis CI we do not have to put a Coveralls token here. -->
+ <repoToken>${coveralls-repo-token}</repoToken>
</configuration>
</plugin>
</plugins>
@@ -472,7 +480,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>${maven-compiler-plugin.version}</version> <!-- 3.8.1 -->
+ <version>${maven-compiler-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>