pipeline { agent any stages { stage('Compile'){ steps { sh "mkdir -p bin" sh ''' CP=$(find /tool/junit4 -name "*.jar" | tr \'\\n\' \':\') /tool/jdk1.6.0_45/bin/javac -target 1.5 -cp $CP -d bin \$(find ./src/* | grep .java) ''' } } stage('Test'){ steps { sh ''' CP=$(find /tool/junit4 -name "*.jar" | tr \'\\n\' \':\') find bin/test -name "*.class" | sed \'s/bin\\///\' | sed \'s/\\.class//\' | tr \'/\' \'.\' | xargs -I {} java -cp ./bin:$CP org.junit.runner.JUnitCore {} ''' } } stage('Package'){ steps { dir("bin") { sh "/tool/jdk1.6.0_45/bin/jar cvfm ../CrossJeeves.jar ../manifest.txt ." } } } stage('Archive Artifacts') { when {triggeredBy 'UserIdCause'} steps{ archiveArtifacts artifacts: 'CrossJeeves.jar' } } } }