Enable build and format validation Validate the formatting of Java files using GJF 1.7. Output with formatting issues is provided as automated commends to the code under review. Change-Id: I2f31723c394c645b627ddf13b5f56e2fae96eb71
diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..a090baf --- /dev/null +++ b/Jenkinsfile
@@ -0,0 +1,31 @@ +pipeline { + agent { label 'bazel-debian' } + stages { + stage('GJF') { + steps { + sh 'mvn process-sources' + script { + def formatOut = sh (script: 'git status --porcelain', returnStdout: true) + if (formatOut.trim()) { + def files = formatOut.split('\n').collect { it.split(' ').last() } + files.each { gerritComment path:it, message: 'Needs reformatting with GJF' } + gerritReview labels: [Formatting: -1] + } else { + gerritReview labels: [Formatting: 1] + } + } + } + } + stage('build') { + steps { + gerritReview labels: [Verified: 0], message: "Build started: ${env.BUILD_URL}" + sh 'mvn test' + } + } + } + post { + success { gerritReview labels: [Verified: 1] } + unstable { gerritReview labels: [Verified: 0], message: "Build is unstable: ${env.BUILD_URL}" } + failure { gerritReview labels: [Verified: -1], message: "Build failed: ${env.BUILD_URL}" } + } +}
diff --git a/pom.xml b/pom.xml index 9b8a945..98cf971 100644 --- a/pom.xml +++ b/pom.xml
@@ -124,6 +124,30 @@ </execution> </executions> </plugin> + <plugin> + <groupId>com.theoryinpractise</groupId> + <artifactId>googleformatter-maven-plugin</artifactId> + <version>1.7.3</version> + <executions> + <execution> + <id>reformat-sources</id> + <configuration> + <includeStale>false</includeStale> + <style>GOOGLE</style> + <formatMain>true</formatMain> + <formatTest>true</formatTest> + <filterModified>false</filterModified> + <skip>false</skip> + <fixImports>true</fixImports> + <maxLineLength>100</maxLineLength> + </configuration> + <goals> + <goal>format</goal> + </goals> + <phase>process-sources</phase> + </execution> + </executions> + </plugin> </plugins> </build>