diff --git a/.travis-support b/.travis-support
deleted file mode 160000
index b97def2..0000000
--- a/.travis-support
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b97def251b784ecc8de6d3cc30d2793ac0bd375e
diff --git a/Jenkinsfile.groovy b/Jenkinsfile.groovy
index baea78b..6b4d689 100644
--- a/Jenkinsfile.groovy
+++ b/Jenkinsfile.groovy
@@ -1,18 +1,9 @@
-// non-standard Jenkinsfile
-// * only publish code coverage to codacy for builder module
-// * only deploy artifacts for ruleset and tile modules
-
final String mvn = "mvn --batch-mode --update-snapshots"
pipeline {
agent any
stages {
- stage('Environment') {
- steps {
- sh 'set'
- }
- }
- stage('no SNAPSHOT in master') {
+ stage('master != SNAPSHOT') {
// checks that the pom version is not a snapshot when the current or target branch is master
when {
expression {
@@ -24,19 +15,34 @@ pipeline {
error("Build failed because SNAPSHOT version")
}
}
- stage('Static Code Analysis') {
- when { expression { findFiles(glob: '**/src/main/java/**/*.java').length > 0 } }
+ stage('Build & Test') {
steps {
withMaven(maven: 'maven', jdk: 'JDK LTS') {
- sh "${mvn} compile"
- sh "${mvn} checkstyle:checkstyle"
- sh "${mvn} pmd:pmd"
+ sh "${mvn} clean compile checkstyle:checkstyle pmd:pmd test"
+ //junit '**/target/surefire-reports/*.xml'
+ sh "${mvn} -pl builder jacoco:report com.gavinmogan:codacy-maven-plugin:coverage " +
+ "-DcoverageReportFile=target/site/jacoco/jacoco.xml " +
+ "-DprojectToken=`$JENKINS_HOME/codacy/token` " +
+ "-DapiToken=`$JENKINS_HOME/codacy/apitoken` " +
+ "-Dcommit=`git rev-parse HEAD`"
+ jacoco exclusionPattern: '**/*{Test|IT|Main|Application|Immutable}.class'
pmd canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '', unHealthy: ''
+ step([$class: 'hudson.plugins.checkstyle.CheckStylePublisher',
+ pattern: '**/target/checkstyle-result.xml',
+ healthy:'20',
+ unHealthy:'100'])
}
}
}
- stage('SonarQube (develop only)') {
- when { expression { env.GIT_BRANCH == 'develop' && env.GIT_URL.startsWith('https://') } }
+ stage('Verify & Install') {
+ steps {
+ withMaven(maven: 'maven', jdk: 'JDK LTS') {
+ sh "${mvn} -DskipTests install"
+ }
+ }
+ }
+ stage('SonarQube (github only)') {
+ when { expression { env.GIT_URL.startsWith('https://github.com') } }
steps {
withSonarQubeEnv('sonarqube') {
withMaven(maven: 'maven', jdk: 'JDK LTS') {
@@ -45,47 +51,24 @@ pipeline {
}
}
}
- stage('Build Java Next') {
- steps {
- withMaven(maven: 'maven', jdk: 'JDK Next') {
- sh "${mvn} clean install -Djava.version=9 -Dmaven-enforcer-plugin.version=3.0.0-M1"
- //TODO: check that git status is still clean - i.e. builder didn't update any rulesets
- }
- }
- }
- stage('Build Java LTS') {
- steps {
- withMaven(maven: 'maven', jdk: 'JDK LTS') {
- sh "${mvn} clean install"
- //TODO: check that git status is still clean - i.e. builder didn't update any rulesets
- }
- }
- }
- stage('Test Results') {
- when { expression { findFiles(glob: '**/target/surefire-reports/*.xml').length > 0 } }
- steps {
- junit '**/target/surefire-reports/*.xml'
- jacoco exclusionPattern: '**/*{Test|IT|Main|Application|Immutable}.class'
- withMaven(maven: 'maven', jdk: 'JDK LTS') {
- sh "${mvn} -pl builder com.gavinmogan:codacy-maven-plugin:coverage " +
- "-DcoverageReportFile=target/site/jacoco/jacoco.xml " +
- "-DprojectToken=`$JENKINS_HOME/codacy/token` " +
- "-DapiToken=`$JENKINS_HOME/codacy/apitoken` " +
- "-Dcommit=`git rev-parse HEAD`"
- }
- }
- }
stage('Archiving') {
when { expression { findFiles(glob: '**/target/*.jar').length > 0 } }
steps {
archiveArtifacts '**/target/*.jar'
}
}
- stage('Deploy') {
- when { expression { (env.GIT_BRANCH == 'master' && env.GIT_URL.startsWith('https://')) } }
+ stage('Deploy (master on github)') {
+ when { expression { (env.GIT_BRANCH == 'master' && env.GIT_URL.startsWith('https://github.com')) } }
steps {
withMaven(maven: 'maven', jdk: 'JDK LTS') {
- sh "${mvn} -pl ruleset,tile deploy --activate-profiles release -DskipTests=true"
+ sh "${mvn} deploy --activate-profiles release -DskipTests=true"
+ }
+ }
+ }
+ stage('Build Java 9') {
+ steps {
+ withMaven(maven: 'maven', jdk: 'JDK 9') {
+ sh "${mvn} clean verify -Djava.version=9"
}
}
}
diff --git a/builder/pom.xml b/builder/pom.xml
index 73d39c3..9c3c734 100644
--- a/builder/pom.xml
+++ b/builder/pom.xml
@@ -7,7 +7,7 @@
net.kemitix
kemitix-parent
- 5.0.3
+ 5.1.0
@@ -20,7 +20,7 @@
true
1.8
2.10
- 0.3.0
+ 0.8.1
8.7
1.27.0
@@ -142,14 +142,14 @@
true
- net.kemitix.tiles:maven-plugins-tile:${kemitix-tiles.version}
- net.kemitix.tiles:enforcer-tile:${kemitix-tiles.version}
- net.kemitix.tiles:compiler-tile:${kemitix-tiles.version}
- net.kemitix.tiles:huntbugs-tile:${kemitix-tiles.version}
- net.kemitix.tiles:pmd-tile:${kemitix-tiles.version}
- net.kemitix.tiles:testing-tile:${kemitix-tiles.version}
- net.kemitix.tiles:coverage-tile:${kemitix-tiles.version}
- net.kemitix.tiles:pitest-tile:${kemitix-tiles.version}
+ net.kemitix.tiles:maven-plugins:${kemitix-tiles.version}
+ net.kemitix.tiles:enforcer:${kemitix-tiles.version}
+ net.kemitix.tiles:compiler:${kemitix-tiles.version}
+ net.kemitix.tiles:huntbugs:${kemitix-tiles.version}
+ net.kemitix.tiles:pmd:${kemitix-tiles.version}
+ net.kemitix.tiles:testing:${kemitix-tiles.version}
+ net.kemitix.tiles:coverage:${kemitix-tiles.version}
+ net.kemitix.tiles:pitest:${kemitix-tiles.version}
diff --git a/circle.yml b/circle.yml
deleted file mode 100644
index 280d970..0000000
--- a/circle.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-test:
- override:
- - ./mvnw clean install
diff --git a/regressions/pom.xml b/regressions/pom.xml
index fa3f0bd..8a18a88 100644
--- a/regressions/pom.xml
+++ b/regressions/pom.xml
@@ -6,7 +6,7 @@
net.kemitix
kemitix-parent
- 5.0.3
+ 5.1.0
@@ -17,8 +17,9 @@
true
2.10
- 0.2.0
+ 0.8.1
+ 1.8
8.7
1.27.0
3.0.0
@@ -50,8 +51,8 @@
true
- net.kemitix.tiles:maven-plugins-tile:${kemitix-tiles.version}
- net.kemitix.tiles:compiler-tile:${kemitix-tiles.version}
+ net.kemitix.tiles:maven-plugins:${kemitix-tiles.version}
+ net.kemitix.tiles:compiler:${kemitix-tiles.version}
diff --git a/ruleset/pom.xml b/ruleset/pom.xml
index 591f02d..ca03294 100644
--- a/ruleset/pom.xml
+++ b/ruleset/pom.xml
@@ -7,7 +7,7 @@
net.kemitix
kemitix-parent
- 5.0.3
+ 5.1.0
@@ -22,7 +22,7 @@
2.10
- 0.2.0
+ 0.8.1
3.0.2
@@ -57,9 +57,8 @@
true
- net.kemitix.tiles:maven-plugins-tile:${kemitix-tiles.version}
- net.kemitix.tiles:enforcer-tile:${kemitix-tiles.version}
- net.kemitix.tiles:release-tile:${kemitix-tiles.version}
+ net.kemitix.tiles:maven-plugins:${kemitix-tiles.version}
+ net.kemitix.tiles:enforcer:${kemitix-tiles.version}
diff --git a/shippable.yml b/shippable.yml
deleted file mode 100644
index 3d074c8..0000000
--- a/shippable.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-language: java
-jdk:
-- oraclejdk8
-cache:
- directories:
- - "$HOME/.m2"
-install: true
-script: "./mvnw clean install"
diff --git a/tile/pom.xml b/tile/pom.xml
index f27b587..0d21a6b 100644
--- a/tile/pom.xml
+++ b/tile/pom.xml
@@ -5,7 +5,7 @@
net.kemitix
kemitix-parent
- 5.0.3
+ 5.1.0
4.0.0
@@ -18,7 +18,7 @@
2.10
- 0.2.0
+ 0.8.1
@@ -30,8 +30,7 @@
true
- net.kemitix.tiles:maven-plugins-tile:${kemitix-tiles.version}
- net.kemitix.tiles:release-tile:${kemitix-tiles.version}
+ net.kemitix.tiles:maven-plugins:${kemitix-tiles.version}
diff --git a/wercker.yml b/wercker.yml
deleted file mode 100644
index b152705..0000000
--- a/wercker.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-box: maven:3.5.0-jdk-8
-
-build:
- steps:
- - xenoterracide/maven:
- goals: clean install