Skip to content

Commit

Permalink
Merge branch 'release-1.9' into 'master'
Browse files Browse the repository at this point in the history
prepare for release 1.9

See merge request se2/scratch/litterbox/litterbox!694
  • Loading branch information
b-fein committed Oct 9, 2024
2 parents 968c70a + 89af724 commit 7f20e97
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
33 changes: 21 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ 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

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
Expand All @@ -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 <path/to/project.json>
java -jar Litterbox-1.9.full.jar check --path <path/to/project.json>
```

As a result, LitterBox will report any occurrences of bug patterns or
Expand All @@ -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 <project-id> --path <path/to/store/downloaded/project>
java -jar Litterbox-1.9.full.jar check --project-id <project-id> --path <path/to/store/downloaded/project>
```

When invoked this way, LitterBox will retrieve the JSON file
Expand All @@ -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/to/projectidlist.txt> --path <path/to/projects>
java -jar Litterbox-1.9.full.jar check --project-list <path/to/projectidlist.txt> --path <path/to/projects>
```

LitterBox will check the given path for the projects.
Expand All @@ -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 <path/to/project.json> --output <result.csv>
java -jar Litterbox-1.9.full.jar check --path <path/to/project.json> --output <result.csv>
```

The CSV file will contain a high-level summary of the number of
Expand All @@ -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 <path/to/project.json> --annotate <results/>
java -jar Litterbox-1.9.full.jar check --path <path/to/project.json> --annotate <results/>
```


Expand All @@ -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 <path/to/project.json> \
--detectors endless_recursion,call_without_definition
Expand All @@ -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
Expand All @@ -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 <path/to/project.json> \
--output <result.csv> \
--detectors script-bugs \
Expand All @@ -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 <path/to/project.json> \
--output <statsfile.csv>
Expand All @@ -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 <path/to/project.json> \
--refactored-projects <path/to/output-dir>
Expand Down Expand Up @@ -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
Expand All @@ -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\
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>de.uni_passau.fim.se2</groupId>
<artifactId>Litterbox</artifactId>
<version>1.9-SNAPSHOT</version>
<version>1.10-SNAPSHOT</version>

<repositories>
<repository>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/de/uni_passau/fim/se2/litterbox/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
@CommandLine.Command(
name = "LitterBox",
mixinStandardHelpOptions = true,
version = "LitterBox 1.9-SNAPSHOT",
version = "LitterBox 1.10-SNAPSHOT",
subcommands = {
// general commands
Main.CheckProgramsSubcommand.class,
Expand Down

0 comments on commit 7f20e97

Please sign in to comment.