Skip to content
This repository has been archived by the owner on Apr 2, 2023. It is now read-only.

Commit

Permalink
build updates (#27)
Browse files Browse the repository at this point in the history
  • Loading branch information
jplock committed Nov 27, 2017
1 parent 07aaac4 commit b16fe9d
Show file tree
Hide file tree
Showing 15 changed files with 647 additions and 79 deletions.
3 changes: 2 additions & 1 deletion .codeclimate.yml
Expand Up @@ -4,7 +4,8 @@ engines:
channel: "beta"
checkstyle:
enabled: true
config: checkstyle.xml
config:
file: "checkstyle.xml"
channel: "beta"

ratings:
Expand Down
12 changes: 9 additions & 3 deletions .editorconfig
@@ -1,14 +1,20 @@
# Configuration file for EditorConfig: http://editorconfig.org
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space

[*.{java,xml}]
indent_size = 4
[*.properties]
charset = latin1

[travis.yml]
indent_size = 2
indent_style = space

[*.md]
trim_trailing_whitespace = false
1 change: 1 addition & 0 deletions .mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip
25 changes: 19 additions & 6 deletions .travis.yml
@@ -1,20 +1,33 @@
sudo: false
dist: trusty
language: java
jdk:
- oraclejdk8
before_install:
- ulimit -c unlimited -S
- mvn -N io.takari:maven:wrapper
after_success:
- bash .travis_after_success.sh
cache:
directories:
- $HOME/.m2

addons:
apt:
packages:
- oracle-java8-installer
matrix:
include:
- os: linux
jdk: oraclejdk8
addons:
apt:
packages:
- oracle-java8-installer
- os: linux
jdk: oraclejdk9
addons:
apt:
packages:
- oracle-java9-installer

env:
global:
# CI_DEPLOY_USERNAME
- secure: "dFeIAk6zsQdcDwC4r0gO4EOE7rgN2WjkIe2Me/5JIzvCmAK5R+aGvHUnOwMfqd/0W52vuidNMyVv7IjrsPsMmRIepquOskZbCCNLj2mfrS7M74Ou+mYaGiLIW5yhRBe5fMti3wyuy8bBf7k/o0IyUuhc5sbkLdHGBKAm58Y5XaX1uYUvA1VbxY60FqsdCFagi1GlQX4qTnCIyn7HXFtmzTJk4LT39lh6kvxKXuTyYD/zMcHi7BqWHDdOz0GBLyO9dhDfFBSjtbUuKyKcdgIDLU4HPgzL3yWUzYP5ExV+WG61fcxpv+y7cmlbNnS42ul8iiQeRDhetbJyWq4YLiBRwrQaYUwtWvUiokDMaDCrQDQjqYf9QJcaQHNIIXrvSfWM3//lRL7EaAyQTZ+ZbHSo+jSBPhJzASnVUhfw39uiWzhBAfx/ObYnofDajYK8UglQdydwEkJw2Lg5mzkIQ1HmWp0pRAwxyOY6X6w0FMT8qfL9N6YTCB4Ea/pEMnO6rLgIyZmZ+Rm6sWjIraTes5YQgIlpEMAOtUAVH51g3q1uWF6IVVx3Hkk2z4HkvOs4JGobCf6BCq+fSVLG1XoMDpFiynBrh4oUeKIDlJhV21nq7JXQEtSL5VmxETf/7mMmGV4R9uZfP/WE0DYwqip74Y3NpUdKYWx4vTORN9gLlqBcz0k="
# CI_DEPLOY_PASSWORD
- secure: "HFfzO8oID3XaMkrTtTXFFvmDpFebKwj3TgJG1jt2SxjlQs6kWVqz4L10sFjGyFhHl3nc6ADUyuksUtFznEhtEZ5sE8YBAotBox/iDH94A4tOBTWqKm6q/MA28Ge2x6kiq4Md2GSaSSspmEYn7heB0L7phIOycv6xU+D6fX57/1aX6ky2UAjqEtX+dpqmh+dtZk/BUxCKATEQ3ezz3oaiUa0F7Udbq9hZ61ZAEHlSsyitjPOQkglXX3pIsw1cDX3lm7OlIrajVAYnGEp1UZGBn87oG1kuH7foSk7v7rgveDMsUmxrraD+//UUrc/ymLIN+AljFwNnLNTgBSZRbUSq6F2yQCIWq0TZwyRJq1Pf2bQ40AYo5ME/bQ8dC+vfVIpnCnjCjlrx8xMv3lU6ebwYyWs1dOLdm/6K0kpu3wxLfb6XBYE9amyttdk+U5sEn8N04uRUND2uDmxqUpdIDej+vlxSReBZwTMjLGmcDu4cri3Z6SvoqmhjvHcjHO0JwM8DqcGIAffIAGSfcz1X48JibHNfVIWKcLo6dBM4Juhuz5DbLh8mccRg3j+KBp+Xy8FSMSWkxvOb06ErBU51wsTYCY17lAZOCq2l8sNkti7/slS0ltOmki5M5JPRggwrEKksyemrcrfuwHyqquadn2z9znXWWq9jaDTlTA7Z4lz9b20="
24 changes: 17 additions & 7 deletions .travis_after_success.sh
@@ -1,15 +1,25 @@
#!/bin/bash

if [[ "${TRAVIS_JDK_VERSION}" != "oraclejdk8" ]]; then
echo "Skipping after_success actions for JDK version ${TRAVIS_JDK_VERSION}"
echo "Skipping after_success actions for JDK version \"${TRAVIS_JDK_VERSION}\""
exit
fi

mvn -B cobertura:cobertura coveralls:report
./mvnw -B cobertura:cobertura coveralls:report

# Do not deploy SNAPSHOT artifacts for PRs
if [[ "$TRAVIS_PULL_REQUEST" = "false" ]]; then
mvn -B deploy --settings maven_deploy_settings.xml -Dmaven.test.skip=true -Dfindbugs.skip=true
else
echo 'Pull request, skipping deploy.'
if [[ -n ${TRAVIS_TAG} ]]; then
echo "Skipping deployment for tag \"${TRAVIS_TAG}\""
exit
fi

if [[ ${TRAVIS_BRANCH} != 'master' ]]; then
echo "Skipping deployment for branch \"${TRAVIS_BRANCH}\""
exit
fi

if [[ "$TRAVIS_PULL_REQUEST" = "true" ]]; then
echo "Skipping deployment for pull request"
exit
fi

./mvnw -B deploy --settings maven_deploy_settings.xml -Dmaven.test.skip=true -Dfindbugs.skip=true
7 changes: 5 additions & 2 deletions checkstyle.xml
Expand Up @@ -3,9 +3,12 @@
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="severity" value="warning"/>
<property name="localeLanguage" value="en"/>

<module name="FileTabCharacter"/>

<module name="FileTabCharacter">
<property name="fileExtensions" value="java"/>
</module>

<module name="TreeWalker">

Expand Down
12 changes: 0 additions & 12 deletions findbugs-exclude.xml

This file was deleted.

227 changes: 227 additions & 0 deletions mvnw
@@ -0,0 +1,227 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# 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.
# ----------------------------------------------------------------------------

# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------

if [ -z "$MAVEN_SKIP_RC" ] ; then

if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi

if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi

fi

# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
export JAVA_HOME="`/usr/libexec/java_home`"
else
export JAVA_HOME="/Library/Java/Home"
fi
fi
;;
esac

if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi

if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"

# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done

saveddir=`pwd`

M2_HOME=`dirname "$PRG"`/..

# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`

cd "$saveddir"
# echo Using m2 at $M2_HOME
fi

# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi

# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
# TODO classpath?
fi

if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi

if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi

if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi

if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi

CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher

# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {

if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi

basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=`cd "$wdir/.."; pwd`
fi
# end of workaround
done
echo "${basedir}"
}

# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}

BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
exit 1;
fi

export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
if [ "$MVNW_VERBOSE" = true ]; then
echo $MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"

# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi

WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain

exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

0 comments on commit b16fe9d

Please sign in to comment.