checkout: post: - git clone https://github.com/checkstyle/contribution dependencies: cache_directories: - groovy-2.4.7 pre: - if [ ! -d groovy-2.4.7 ]; then wget https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.7.zip && unzip apache-groovy-binary-2.4.7.zip; fi # we to override as 'mvn dependecy:go-ofline' does not download all dependencies override: - mvn install -Pno-validations - eval $TESTER_DEPENDENCIES machine: java: version: oraclejdk8 environment: CMD1: "cd contribution/checkstyle-tester" DEP1: " && sed -i'' 's/^guava/#guava/' projects-to-test-on.properties" # we need this to let pass 'mvn site' on no-projects mode to download all dependecies DEP2: " && echo 'class ClassEmpty{}' > src/main/java/EmptyClass.java" DEP3: " && /home/ubuntu/checkstyle/groovy-2.4.7/bin/groovy launch.groovy --listOfProjects projects-to-test-on.properties --config my_check.xml" TESTER_DEPENDENCIES: $CMD1$DEP1$DEP2$DEP3 CMD2: " && sed -i'' 's/^openjdk/#openjdk/' projects-for-circle.properties" CMD3: " && /home/ubuntu/checkstyle/groovy-2.4.7/bin/groovy launch.groovy --listOfProjects projects-for-circle.properties --config checks-nonjavadoc-error.xml" OPENJDK7: " && sed -i'' 's/#openjdk7/openjdk7/' projects-for-circle.properties" OPENJDK8: " && sed -i'' 's/#openjdk8/openjdk8/' projects-for-circle.properties" OPENJDK9: " && sed -i'' 's/#openjdk9/openjdk9/' projects-for-circle.properties" INFINISPAN: " && sed -i'' 's/#infinispan/infinispan/' projects-for-circle.properties" PROTONPACK: " && sed -i'' 's/#protonpack/protonpack/' projects-for-circle.properties" JOOL: " && sed -i'' 's/#jOOL/jOOL/' projects-for-circle.properties" TAPESTRY: " && sed -i'' 's/#tapestry-5/tapestry-5/' projects-for-circle.properties" COMMONS: " && sed -i'' 's/#apache-commons/apache-commons/' projects-for-circle.properties" LUCENE: " && sed -i'' 's/#lucene-solr/lucene-solr/' projects-for-circle.properties" STORM: " && sed -i'' 's/#storm/storm/' projects-for-circle.properties" HADOOP: " && sed -i'' 's/#hadoop/hadoop/' projects-for-circle.properties" CASSANDRA: " && sed -i'' 's/#cassandra/cassandra/' projects-for-circle.properties" SCOUTER: " && sed -i'' 's/#scouter/scouter/' projects-for-circle.properties" GROOVY: " && sed -i'' 's/#groovy/groovy/' projects-for-circle.properties" # Test over openjdk7,8 TEST_1: $CMD1$CMD2$OPENJDK7$OPENJDK8$CMD3 # Test over infinispan, protonpack, jOOL, lucene-solr, openjdk9 TEST_2: $CMD1$CMD2$INFINISPAN$PROTONPACK$JOOL$LUCENE$OPENJDK9$CMD3 # Test over tapestry5, storm, cassandra TEST_3: $CMD1$CMD2$TAPESTRY$STORM$CASSANDRA$CMD3 # Test over apache-commons, hadoop, scouter, groovy TEST_4: $CMD1$CMD2$COMMONS$HADOOP$SCOUTER$GROOVY$CMD3 SKIP_FILES: ".github|appveyor.yml|.travis.yml|.ci|distelli-manifest.yml|fast-forward-merge.sh|LICENSE|LICENSE.apache20|README.md|release.sh|RIGHTS.antlr|shippable.yml|wercker.yml|intellij-idea-inspections.xml|org.eclipse.jdt.core.prefs" test: override: - if [ $(git diff --name-only HEAD HEAD~1 | grep -vE $SKIP_FILES | wc -c) -gt 0 ] ; then case $CIRCLE_NODE_INDEX in 0) eval $TEST_1 ;; 1) eval $TEST_2 ;; 2) eval $TEST_3 ;; 3) eval $TEST_4 ;; esac; fi: parallel: true