-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
How to generate Checkstyle report for Google Guava project
Roman Ivanov edited this page Jan 29, 2017
·
21 revisions
- get sources:
git clone https://github.com/google/guava.git
- change pom.xml to add Checkstyle plugin config with overridden version of checkstyle library
<pluginManagement>
<plugins>
.......
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>6.12</version>
</dependency>
</dependencies>
<configuration>
<configLocation>/google_checks.xml</configLocation>
<enableFilesSummary>false</enableFilesSummary>
</configuration>
</plugin>
........
</pluginManagement>
</plugins>
if config already there , update version:
CS_VERSION='7.5' && xmlstarlet ed --ps -N pom=http://maven.apache.org/POM/4.0.0 -u "/pom:project/pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-checkstyle-plugin']/pom:dependencies/pom:dependency[pom:artifactId='checkstyle']/pom:version" -v "$CS_VERSION" pom.xml > new_pom.xml && mv new_pom.xml pom.xml
Run:
mvn clean jxr:aggregate checkstyle:checkstyle-aggregate
- To make report looks good, use css :
mkdir target/site/css
wget http://checkstyle.sourceforge.net/reports/google-style/guava/css/maven-base.css -O target/site/css/maven-base.css
wget http://checkstyle.sourceforge.net/reports/google-style/guava/css/maven-theme.css -O target/site/css/maven-theme.css
CS_VERSION=$(xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t -m "/pom:project/pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-checkstyle-plugin']/pom:dependencies/pom:dependency[pom:artifactId='checkstyle']/pom:version" -v . pom.xml)
echo "VERSION:"$CS_VERSION
tar cfz guava-report-$CS_VERSION.tar.gz target/site/
echo "exit" | ssh -t romanivanov,checkstyle@shell.sourceforge.net create
scp guava-report-$CS_VERSION.tar.gz romanivanov,checkstyle@shell.sourceforge.net:/home/project-web/checkstyle
ssh romanivanov,checkstyle@shell.sourceforge.net << EOF
cd /home/project-web/checkstyle
tar -xf guava-report-$CS_VERSION.tar.gz
rm -rf reports/google-style/guava/*
mv target/site/* reports/google-style/guava/
cd reports/google-style/guava/
ln -s checkstyle-aggregate.html index.html
cd ../../../
rm -rf target/
EOF
- Recheck that content is updated http://checkstyle.sourceforge.net/reports/google-style/guava/