diff --git a/Dockerfile b/Dockerfile index cca808c94..0c086f805 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ COPY src ./src # Lastly, make build-artifact naming version-independent RUN mvn -e -B package -DskipTests=${SKIP_TESTS} && \ mkdir -p /build/bin && \ - mv target/Litterbox-*-SNAPSHOT.full.jar bin/Litterbox.jar + mv target/Litterbox-*.full.jar bin/Litterbox.jar # Slim container image for running LitterBox FROM docker.io/library/eclipse-temurin:17-jre diff --git a/README.md b/README.md index a2072a463..74dbdd150 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ produce an executable jar-file, run the following command: mvn package ``` -This will produce `target/Litterbox-1.8.full.jar` +This will produce `target/Litterbox-1.9.full.jar` ## Using LitterBox @@ -35,7 +35,7 @@ This will produce `target/Litterbox-1.8.full.jar` To see an overview of the command line options available in LitterBox type: ```bash -java -jar Litterbox-1.8.full.jar --help +java -jar Litterbox-1.9.full.jar --help ``` ### Basic usage @@ -44,7 +44,7 @@ LitterBox parses the JSON file of a Scratch project, which contains its source code. Given such a JSON file, LitterBox is invoked as follows: ```bash -java -jar Litterbox-1.8.full.jar check --path +java -jar Litterbox-1.9.full.jar check --path ``` As a result, LitterBox will report any occurrences of bug patterns or @@ -57,7 +57,7 @@ If you want to check a specific project given its ID (which you can find in the URL of the project), you can use the following command: ```bash -java -jar Litterbox-1.8.full.jar check --project-id --path +java -jar Litterbox-1.9.full.jar check --project-id --path ``` When invoked this way, LitterBox will retrieve the JSON file @@ -73,7 +73,7 @@ project IDs to check in a text file (one project ID per line) and invoke LitterBox as follows: ```bash -java -jar Litterbox-1.8.full.jar check --project-list --path +java -jar Litterbox-1.9.full.jar check --project-list --path ``` LitterBox will check the given path for the projects. @@ -90,7 +90,7 @@ filename specified in order to decide whether to produce CSV or JSON output: ```bash -java -jar Litterbox-1.8.full.jar check --path --output +java -jar Litterbox-1.9.full.jar check --path --output ``` The CSV file will contain a high-level summary of the number of @@ -102,7 +102,7 @@ analyzed Scratch-project, where all occurrences of bug patterns are highlighted with comments. ```bash -java -jar Litterbox-1.8.full.jar check --path --annotate +java -jar Litterbox-1.9.full.jar check --path --annotate ``` @@ -118,7 +118,7 @@ comma-separated list of bug patterns, e.g.: ```bash -java -jar Litterbox-1.8.full.jar \ +java -jar Litterbox-1.9.full.jar \ check \ --path \ --detectors endless_recursion,call_without_definition @@ -127,7 +127,7 @@ java -jar Litterbox-1.8.full.jar \ A full list of available bug checkers can be retrieved using: ```bash -java -jar Litterbox-1.8.full.jar --help +java -jar Litterbox-1.9.full.jar --help ``` To select all bug patterns, you can also use the term `bugs` in the @@ -140,7 +140,7 @@ list; to select all code smell checks use `smells`. The bug patterns can be reported per scripts and procedures instead of for the whole program. In this case, only the bug patterns that can be detected through intra-scripts and intra-procedures analysis are considered. ```bash -java -jar Litterbox-1.8.full.jar check \ +java -jar Litterbox-1.9.full.jar check \ --path \ --output \ --detectors script-bugs \ @@ -164,7 +164,7 @@ LitterBox can produce statistics on code metrics of a project (e.g., number of blocks, number of sprites, weighted method count): ```bash -java -jar Litterbox-1.8.full.jar \ +java -jar Litterbox-1.9.full.jar \ stats \ --path \ --output @@ -175,7 +175,7 @@ java -jar Litterbox-1.8.full.jar \ Since version 1.7 Litterbox can automatically refactor a given Scratch project to improve its readability: ```bash -java -jar Litterbox-1.8.full.jar \ +java -jar Litterbox-1.9.full.jar \ refactoring \ --path \ --refactored-projects @@ -230,6 +230,13 @@ F. Obermüller, R. Pernerstorfer, L. Bailey, U. Heuer, and G. Fraser, "Common P in Proceedings of the 17th Workshop in Primary and Secondary Computing Education (WiPSCE ’22). ACM, 2022. [https://doi.org/10.1145/3556787.3556859](https://doi.org/10.1145/3556787.3556859) +To learn if Scratch programmers fix issues and how we detect such fixes: + +F. Obermüller and Gordon Fraser, "Do Scratchers Fix Their Bugs? Detecting Fixes of Scratch Static Analysis Warnings", +in Proceedings of the 19th Workshop in Primary and Secondary Computing Education (WIPSCE ’24). ACM, +2024. [https://doi.org/10.1145/3677619.3678108](https://doi.org/10.1145/3677619.3678108) + + ## Contributors LitterBox is developed at the @@ -240,9 +247,11 @@ the [University of Passau](https://www.uni-passau.de). Contributors: Felix Adler\ +Lisa Bailey\ Florian Beck\ Lena Bloch\ Benedikt Fein\ +Patric Feldmeier\ Christoph Frädrich\ Gordon Fraser\ Luisa Greifenstein\ diff --git a/pom.xml b/pom.xml index 78c166b82..ba4b94690 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ de.uni_passau.fim.se2 Litterbox - 1.9-SNAPSHOT + 1.9 diff --git a/src/main/java/de/uni_passau/fim/se2/litterbox/Main.java b/src/main/java/de/uni_passau/fim/se2/litterbox/Main.java index 26d78c347..69fcfc45b 100644 --- a/src/main/java/de/uni_passau/fim/se2/litterbox/Main.java +++ b/src/main/java/de/uni_passau/fim/se2/litterbox/Main.java @@ -34,7 +34,7 @@ @CommandLine.Command( name = "LitterBox", mixinStandardHelpOptions = true, - version = "LitterBox 1.9-SNAPSHOT", + version = "LitterBox 1.9", subcommands = { // general commands Main.CheckProgramsSubcommand.class,