pipeline { agent any options { skipDefaultCheckout() disableConcurrentBuilds() timeout(time: 10, unit: 'MINUTES') buildDiscarder(logRotator(numToKeepStr: '10')) } stages { stage('Checkout') { steps { checkout scm sh 'git rev-parse HEAD' } } stage('Compile and lint') { steps { sh ''' mkdir -p build/classes javac -Xlint:all -Werror -d build/classes \ src/main/java/edu/stevens/smartpark/ParkingLot.java \ src/test/java/edu/stevens/smartpark/ParkingLotTest.java ''' } } stage('Unit tests') { steps { sh 'java -cp build/classes edu.stevens.smartpark.ParkingLotTest' } } } }