Skip to content
matthugs edited this page Aug 11, 2015 · 3 revisions

CS 1331 Checkstyle Wiki

This Wiki provides information about the checkstyle project maintained by the instructional staff of Computer Science 1331 at Georgia Institute of Technology. For the course, students are required to conform to style guidelines in homework submissions, and are docked points for violations reported by checkstyle.

The course version of the checkstyle tool has been changed from the main branch of open-source development mostly to streamline distribution to students, many of whom may be learning to use the command line for the first time. Checkstyle is usually distributed with at least two files: an executable .jar alongside an .xml configuration file. For this project we bundle the latter configuration into the .jar file, so that students have only one file to keep track of (and a shorter command to type).

Configuration Files

The specific configuration bundled into our distribution is, necessarily, a part of this project. Future changes to these configurations (including adding or removing checks) should be made to either the [base checkstyle checks][] or the [javadoc-specific checkstyle checks][]. These two configuration files are separated mainly to support the usual course policy of adopting javadoc conventions slightly later than the main body of checkstyle checks. [base checkstyle checks]: <../blob/master/src/main/resources/cs1331_javadoc.xml> [javadoc-specific checkstyle checks]: <../blob/master/src/main/resources/cs1331_javadoc.xml>

How to Build

To build the project, you will need the build tool [Maven][]. Maven is magical in several respects, but if you have never used it before then it will need to pull in a great deal of dependencies to build checkstyle. Unfortunately no other build tools are still supported by the main trunk of checkstyle development. [Maven]: https://maven.apache.org/

Use the following Maven command:

mvn -Passembly -Dlinkcheck.skip=true package

The command-line parameters in the above command serve to slightly speed up the build process, which will take a great deal of time. The first time you use this command Maven will likely need to download numerous dependencies (along with extensions for itself). It’s recommended you do this somewhere where you have a fast internet connection and a cup of coffee already close at hand.