|
|
@@ -6,8 +6,12 @@
|
|
|
|
|
|
## Download and Installation
|
|
|
|
|
|
-### Building from sources
|
|
|
+### Downloading a release
|
|
|
+Download a [released version](https://github.com/jplag/jplag/releases), the most recent is [v2.12.1](https://github.com/jplag/jplag/releases/tag/v2.12.1-SNAPSHOT).
|
|
|
+All releases are single-JAR releases.
|
|
|
|
|
|
+### Building from sources
|
|
|
+*Note that v3.0.0 is still very much a work in progress, we thus recommend using a released version for now.*
|
|
|
1. Download or clone the code from this repository.
|
|
|
2. Run `mvn clean install` from the root of the repository to install all submodules. You will find the JARs in the respective `target` directories.
|
|
|
3. Inside the `jplag` directory run `mvn clean generate-sources package assembly:single`.
|
|
|
@@ -23,8 +27,8 @@ You'll find the generated JAR with all dependencies in `jplag/target`.
|
|
|
* All Cluster-related code fragments are commented and marked as `TODO`
|
|
|
* The new `JPlagOptions` class replaces all previous Options-related classes and manages all available program options
|
|
|
* Added the `argparse4j` package to properly parse CLI arguments
|
|
|
-* Renamed the `Program` class to `JPlag`. It contains the main logic the parse submissions and delegate the comparison of files to one of the new `ComparisonStrategy` implementing classes.
|
|
|
-* Deleted the **experimental** comparison mode. The **external** and **special** comparsion strategies are commented and marked as `TODO`. The **Normal** and **Revision** strategy should work as intended.
|
|
|
+* Renamed the `Program` class to `JPlag`. It contains the main logic, the parsed submissions, and delegates the comparison of files to one of the new `ComparisonStrategy` implementing classes.
|
|
|
+* Deleted the **experimental** comparison mode. The **external** and **special** comparison strategies are commented out and marked as `TODO`. The **Normal** and **Revision** strategies should work as intended.
|
|
|
* The new `JPlagResult` class is supposed to bundle all results of a plagiarism detection run. An instance of this class can optionally be passed to the new `Report` class to generate web pages of the results
|
|
|
* While re-implementing the CLI, we renamed/removed some arguments to adapt the CLI to the new code structure. A detailed description of all available options of the new CLI can be found below.
|
|
|
* The new `JPlagComparison` class replaces the old `AllMatches` class.
|
|
|
@@ -193,7 +197,7 @@ To prevent JPlag from detecting similarities in the `main` function (and other p
|
|
|
The `<base-code-name>` in the example above is `BaseCode`.
|
|
|
|
|
|
## Contributing
|
|
|
-We're happy to incorporate all improvements to JPlag into this code base. Feel free to fork the project and send pull requests.
|
|
|
+We're happy to incorporate all improvements to JPlag into this codebase. Feel free to fork the project and send pull requests.
|
|
|
|
|
|
### Adding new languages
|
|
|
-Adding a new language frontend is quite simple. Have a look at one of the `jplag.frontend` projects. All you need is a parser for the language (e.g., for ANTLR or for JavaCC) and a few lines of code that sends the tokens (that are generated by the parser) to JPlag.
|
|
|
+Adding a new language frontend is quite simple. Have a look at one of the `jplag.frontend` projects. All you need is a parser for the language (e.g., for ANTLR or for JavaCC) and a few lines of code that send the tokens (that are generated by the parser) to JPlag.
|