Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent

plugins {
id 'java-library'
id "io.github.themrmilchmann.ecj" version "0.2.0" // Eclipse compiler as it's much faster than javac
id "org.sonarqube" version "3.0"
id "io.github.themrmilchmann.ecj" version "$ecj_plugin_version" // Eclipse compiler as it's much faster than javac
id "org.sonarqube" version "$sonarqube_plugin_version"
id "jacoco"
id 'org.barfuin.gradle.jacocolog' version '3.1.0'
id 'org.barfuin.gradle.jacocolog' version "$jacocolog_plugin_version"
id 'maven-publish'
}

allprojects {
group = "de.se_rwth.commons"
buildDir = file("$projectDir/target")
layout.buildDirectory = file("$projectDir/target")

repositories {
if(("true").equals(getProperty('useLocalRepo'))){
Expand All @@ -33,10 +33,10 @@ subprojects {
apply plugin : 'io.github.themrmilchmann.ecj'

tasks.withType(Test).configureEach {
useJUnit()
useJUnitPlatform()
testLogging {
// controls whether test output is shown
showStandardStreams= ("false").equals(getProperty('showTestOutput'))? false : true
showStandardStreams= !("false").equals(getProperty('showTestOutput'))
showExceptions true
showCauses true
showStackTraces true
Expand Down
29 changes: 19 additions & 10 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,23 @@ useLocalRepo=false
showTestOutput=false

version=7.9.0-SNAPSHOT
guava_version = 33.4.8-jre
javax_inject_version = 1
slf4j_version = 1.7.10
hamcrest_version = 1.3
junit_version = 4.13.1
guava_version = 33.5.0-jre
jakarta_inject_version = 2.0.1
slf4j_version = 2.0.17
hamcrest_version = 3.0
junit_version = 5.14.1
junit_platform_version = 1.14.1
groovy_version = 4.0.2
logback_version = 1.5.18
jline_version = 2.12
commons_io_version = 2.19.0
commons_cli_version = 1.9.0
spotbugs_annotation_version = 4.7.3
logback_version = 1.5.22
jline_version = 3.30.6
gson_version = 2.13.2
commons_io_version = 2.21.0
commons_cli_version = 1.11.0
commons_lang3_version = 3.20.0
spotbugs_annotation_version = 4.9.8
sonarqube_plugin_version = 3.0
ecj_plugin_version = 0.2.0
jacocolog_plugin_version = 3.1.0

# newer versions require JDK 17+
spotless_plugin_version = 7.2.1
2 changes: 1 addition & 1 deletion se-commons-codestyle/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description = 'se-commons: codestyle'

dependencies {
implementation gradleApi()
implementation "com.diffplug.spotless:spotless-plugin-gradle:6.25.0"
implementation "com.diffplug.spotless:spotless-plugin-gradle:$spotless_plugin_version"
}

repositories {
Expand Down
14 changes: 8 additions & 6 deletions se-commons-gradle/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ dependencies {
implementation gradleApi()
implementation project(":se-commons-utilities")
implementation project(":se-commons-logging")
implementation 'com.google.code.gson:gson:2.13.2'
implementation "com.google.code.gson:gson:$gson_version"

implementation "org.apache.commons:commons-lang3:3.8.1"
implementation "com.google.guava:guava:33.1.0-jre"
implementation "org.apache.commons:commons-lang3:$commons_lang3_version"
implementation "com.google.guava:guava:$guava_version"
implementation "com.github.spotbugs:spotbugs-annotations:$spotbugs_annotation_version"
}


Expand All @@ -32,9 +33,10 @@ configurations {
dependencies {
testPluginImplementation gradleApi()
testImplementation gradleTestKit()
testImplementation("org.junit.jupiter:junit-jupiter:5.7.1")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.10.0")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version"
testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_version"
testRuntimeOnly "org.junit.platform:junit-platform-launcher:$junit_platform_version"
}
tasks.named('test', Test) {
useJUnitPlatform()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* (c) https://github.com/MontiCore/monticore */
package de.monticore.gradle.queue;

import org.checkerframework.checker.nullness.qual.NonNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.tasks.TaskProvider;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* (c) https://github.com/MontiCore/monticore */
package de.monticore.gradle.queue;

import org.checkerframework.checker.nullness.qual.NonNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.invocation.Gradle;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import de.monticore.gradle.internal.ProgressLoggerService;
import de.monticore.gradle.queue.CachedQueueServicePlugin;
import org.checkerframework.checker.nullness.qual.NonNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.provider.Provider;
Expand Down
10 changes: 6 additions & 4 deletions se-commons-groovy/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ description = 'se-commons: groovy'
dependencies {
api project(":se-commons-utilities")
api project(":se-commons-logging")
implementation "jline:jline:$jline_version"
implementation "org.jline:jline:$jline_version:jdk8"
implementation "com.google.guava:guava:$guava_version"
implementation "org.apache.groovy:groovy:$groovy_version"
testImplementation "org.hamcrest:hamcrest-core:$hamcrest_version"
testImplementation "org.hamcrest:hamcrest-library:$hamcrest_version"
testImplementation "junit:junit:$junit_version"
testImplementation "org.hamcrest:hamcrest:$hamcrest_version"
testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version"
testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_version"
testRuntimeOnly "org.junit.platform:junit-platform-launcher:$junit_platform_version"
}

gradlePlugin.plugins {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
/* (c) https://github.com/MontiCore/monticore */
package de.se_rwth.commons.groovy;

import jline.console.ConsoleReader;
import org.codehaus.groovy.GroovyException;
import org.jline.reader.LineReader;
import org.jline.reader.LineReaderBuilder;
import org.jline.terminal.Terminal;
import org.jline.terminal.TerminalBuilder;

import java.io.IOException;
import java.io.PrintWriter;
Expand Down Expand Up @@ -37,22 +40,21 @@ public static final InteractiveGroovyShell forInterpreter(GroovyInterpreter groo

public void tryRun() throws IOException {

ConsoleReader reader = new ConsoleReader();
PrintWriter writer = new PrintWriter(reader.getOutput());

reader.setPrompt(PROMPT);

String line;
while ((line = reader.readLine()) != null) {
try {
groovy.tryEvaluate(line);
}
catch (GroovyException e) {
writer.append("[ERROR] Could not parse command.");
writer.flush();
try (Terminal terminal = TerminalBuilder.builder().build()) {
LineReader reader = LineReaderBuilder.builder().terminal(terminal).build();
PrintWriter writer = new PrintWriter(terminal.output());
String line;
while ((line = reader.readLine(PROMPT)) != null) {
try {
groovy.tryEvaluate(line);
}
catch (GroovyException e) {
writer.append("[ERROR] Could not parse command.");
writer.flush();
}
}
}

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
package de.se_rwth.commons.groovy;

import org.codehaus.groovy.GroovyException;
import org.junit.Test;
import org.junit.jupiter.api.Test;

import java.util.concurrent.atomic.AtomicInteger;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.junit.jupiter.api.Assertions.assertThrows;

/**
* Test for {@link GroovyInterpreter}.
Expand Down Expand Up @@ -54,35 +55,32 @@ public void test__multipleVariablesWithSameName() {

}

@Test(expected = RuntimeException.class)
@Test
public void test__evaluate_scriptWithSyntaxError() {

GroovyInterpreter groovy = GroovyInterpreter.newInterpreter().build();
groovy.evaluate("if(}{)");

assertThrows(RuntimeException.class, () -> groovy.evaluate("if(}{)"));
}

@Test(expected = GroovyException.class)
@Test
public void test__tryEvaluate_scriptWithSyntaxError() throws GroovyException {

GroovyInterpreter groovy = GroovyInterpreter.newInterpreter().build();
groovy.tryEvaluate("if(}{)");

assertThrows(GroovyException.class, () -> groovy.tryEvaluate("if(}{)"));
}

@Test(expected = GroovyException.class)
@Test
public void test__tryEvaluate_nonExistentVariable() throws GroovyException {

GroovyInterpreter groovy = GroovyInterpreter.newInterpreter().build();
groovy.tryEvaluate("o.toString()");

assertThrows(GroovyException.class, () -> groovy.tryEvaluate("o.toString()"));
}

@Test(expected = GroovyException.class)
@Test
public void test__tryEvaluate_nonExistentMethod() throws GroovyException {

GroovyInterpreter groovy = GroovyInterpreter.newInterpreter().build();
groovy.tryEvaluate("foo()");
assertThrows(GroovyException.class, () -> groovy.tryEvaluate("foo()"));

}

Expand Down
5 changes: 4 additions & 1 deletion se-commons-logging/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ dependencies {
api project(":se-commons-utilities")
testImplementation "ch.qos.logback:logback-classic:$logback_version"
testImplementation "ch.qos.logback:logback-core:$logback_version"
testImplementation "junit:junit:$junit_version"
testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version"
testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_version"
testRuntimeOnly "org.junit.platform:junit-platform-launcher:$junit_platform_version"
}

publishing {
Expand Down
Loading
Loading