-
Notifications
You must be signed in to change notification settings - Fork 1
CS 1331 Checkstyle
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).
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>
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.