Browse Source

Merge pull request #716 from jplag/cli-package

Refactor CLI classes to package `de.jplag.cli`
Timur Sağlam 4 years ago
parent
commit
683d785d14

+ 4 - 15
cli/pom.xml

@@ -8,6 +8,8 @@
     </parent>
     <artifactId>cli</artifactId>
     <dependencies>
+        <!-- IMPORTANT: For Coverage testing, you have to add dependencies to the coverage-report project ! -->
+
         <dependency>
             <groupId>de.jplag</groupId>
             <artifactId>jplag</artifactId>
@@ -103,7 +105,7 @@
                 <configuration>
                     <archive>
                         <manifest>
-                            <mainClass>de.jplag.CLI</mainClass>
+                            <mainClass>de.jplag.cli.CLI</mainClass>
                             <packageName>jplag</packageName>
                         </manifest>
                     </archive>
@@ -117,7 +119,7 @@
                     </descriptors>
                     <archive>
                         <manifest>
-                            <mainClass>de.jplag.CLI</mainClass>
+                            <mainClass>de.jplag.cli.CLI</mainClass>
                             <packageName>jplag</packageName>
                             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                             <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
@@ -126,19 +128,6 @@
                     <finalName>jplag-${project.version}</finalName>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>report-aggregate</id>
-                        <goals>
-                            <goal>report-aggregate</goal>
-                        </goals>
-                        <phase>verify</phase>
-                    </execution>
-                </executions>
-            </plugin>
         </plugins>
     </build>
 </project>

+ 32 - 30
cli/src/main/java/de/jplag/CLI.java → cli/src/main/java/de/jplag/cli/CLI.java

@@ -1,32 +1,32 @@
-package de.jplag;
-
-import static de.jplag.CommandLineArgument.BASE_CODE;
-import static de.jplag.CommandLineArgument.CLUSTER_AGGLOMERATIVE_INTER_CLUSTER_SIMILARITY;
-import static de.jplag.CommandLineArgument.CLUSTER_AGGLOMERATIVE_THRESHOLD;
-import static de.jplag.CommandLineArgument.CLUSTER_ALGORITHM;
-import static de.jplag.CommandLineArgument.CLUSTER_DISABLE;
-import static de.jplag.CommandLineArgument.CLUSTER_METRIC;
-import static de.jplag.CommandLineArgument.CLUSTER_PREPROCESSING_CDF;
-import static de.jplag.CommandLineArgument.CLUSTER_PREPROCESSING_NONE;
-import static de.jplag.CommandLineArgument.CLUSTER_PREPROCESSING_PERCENTILE;
-import static de.jplag.CommandLineArgument.CLUSTER_PREPROCESSING_THRESHOLD;
-import static de.jplag.CommandLineArgument.CLUSTER_SPECTRAL_BANDWIDTH;
-import static de.jplag.CommandLineArgument.CLUSTER_SPECTRAL_KMEANS_ITERATIONS;
-import static de.jplag.CommandLineArgument.CLUSTER_SPECTRAL_MAX_RUNS;
-import static de.jplag.CommandLineArgument.CLUSTER_SPECTRAL_MIN_RUNS;
-import static de.jplag.CommandLineArgument.CLUSTER_SPECTRAL_NOISE;
-import static de.jplag.CommandLineArgument.DEBUG;
-import static de.jplag.CommandLineArgument.EXCLUDE_FILE;
-import static de.jplag.CommandLineArgument.LANGUAGE;
-import static de.jplag.CommandLineArgument.MIN_TOKEN_MATCH;
-import static de.jplag.CommandLineArgument.NEW_DIRECTORY;
-import static de.jplag.CommandLineArgument.OLD_DIRECTORY;
-import static de.jplag.CommandLineArgument.RESULT_FOLDER;
-import static de.jplag.CommandLineArgument.ROOT_DIRECTORY;
-import static de.jplag.CommandLineArgument.SHOWN_COMPARISONS;
-import static de.jplag.CommandLineArgument.SIMILARITY_THRESHOLD;
-import static de.jplag.CommandLineArgument.SUBDIRECTORY;
-import static de.jplag.CommandLineArgument.SUFFIXES;
+package de.jplag.cli;
+
+import static de.jplag.cli.CommandLineArgument.BASE_CODE;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_AGGLOMERATIVE_INTER_CLUSTER_SIMILARITY;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_AGGLOMERATIVE_THRESHOLD;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_ALGORITHM;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_DISABLE;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_METRIC;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_PREPROCESSING_CDF;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_PREPROCESSING_NONE;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_PREPROCESSING_PERCENTILE;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_PREPROCESSING_THRESHOLD;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_SPECTRAL_BANDWIDTH;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_SPECTRAL_KMEANS_ITERATIONS;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_SPECTRAL_MAX_RUNS;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_SPECTRAL_MIN_RUNS;
+import static de.jplag.cli.CommandLineArgument.CLUSTER_SPECTRAL_NOISE;
+import static de.jplag.cli.CommandLineArgument.DEBUG;
+import static de.jplag.cli.CommandLineArgument.EXCLUDE_FILE;
+import static de.jplag.cli.CommandLineArgument.LANGUAGE;
+import static de.jplag.cli.CommandLineArgument.MIN_TOKEN_MATCH;
+import static de.jplag.cli.CommandLineArgument.NEW_DIRECTORY;
+import static de.jplag.cli.CommandLineArgument.OLD_DIRECTORY;
+import static de.jplag.cli.CommandLineArgument.RESULT_FOLDER;
+import static de.jplag.cli.CommandLineArgument.ROOT_DIRECTORY;
+import static de.jplag.cli.CommandLineArgument.SHOWN_COMPARISONS;
+import static de.jplag.cli.CommandLineArgument.SIMILARITY_THRESHOLD;
+import static de.jplag.cli.CommandLineArgument.SUBDIRECTORY;
+import static de.jplag.cli.CommandLineArgument.SUFFIXES;
 
 import java.io.File;
 import java.security.SecureRandom;
@@ -45,10 +45,12 @@ import org.slf4j.ILoggerFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import de.jplag.JPlag;
+import de.jplag.JPlagResult;
+import de.jplag.cli.logger.CollectedLoggerFactory;
 import de.jplag.clustering.ClusteringOptions;
 import de.jplag.clustering.Preprocessing;
 import de.jplag.exceptions.ExitException;
-import de.jplag.logger.CollectedLoggerFactory;
 import de.jplag.options.JPlagOptions;
 import de.jplag.reporting.reportobject.ReportObjectFactory;
 

+ 1 - 1
cli/src/main/java/de/jplag/CliGroupHelper.java → cli/src/main/java/de/jplag/cli/CliGroupHelper.java

@@ -1,4 +1,4 @@
-package de.jplag;
+package de.jplag.cli;
 
 import java.util.HashMap;
 import java.util.Map;

+ 7 - 4
cli/src/main/java/de/jplag/CommandLineArgument.java → cli/src/main/java/de/jplag/cli/CommandLineArgument.java

@@ -1,7 +1,7 @@
-package de.jplag;
+package de.jplag.cli;
 
-import static de.jplag.CLI.ADVANCED_GROUP;
-import static de.jplag.CLI.CLUSTERING_GROUP_NAME;
+import static de.jplag.cli.CLI.ADVANCED_GROUP;
+import static de.jplag.cli.CLI.CLUSTERING_GROUP_NAME;
 import static de.jplag.options.JPlagOptions.DEFAULT_SHOWN_COMPARISONS;
 import static de.jplag.options.JPlagOptions.DEFAULT_SIMILARITY_THRESHOLD;
 import static net.sourceforge.argparse4j.impl.Arguments.append;
@@ -20,6 +20,9 @@ import net.sourceforge.argparse4j.inf.ArgumentParser;
 import net.sourceforge.argparse4j.inf.FeatureControl;
 import net.sourceforge.argparse4j.inf.Namespace;
 
+import de.jplag.Language;
+import de.jplag.Messages;
+import de.jplag.NumberOfArgumentValues;
 import de.jplag.clustering.ClusteringAlgorithm;
 import de.jplag.clustering.ClusteringOptions;
 import de.jplag.clustering.algorithm.InterClusterSimilarity;
@@ -126,7 +129,7 @@ public enum CommandLineArgument {
      * @return the flag name of the command line argument without leading dashes and inner dashes replaced with underscores.
      */
     public String flagWithoutDash() {
-        return flag.replaceAll("^-+", "").replaceAll("-", "_");
+        return flag.replaceAll("^-+", "").replace("-", "_");
     }
 
     /**

+ 3 - 1
language-api/src/main/java/de/jplag/LanguageLoader.java → cli/src/main/java/de/jplag/cli/LanguageLoader.java

@@ -1,4 +1,4 @@
-package de.jplag;
+package de.jplag.cli;
 
 import java.util.Collections;
 import java.util.Map;
@@ -11,6 +11,8 @@ import java.util.TreeSet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import de.jplag.Language;
+
 /**
  * This class contains methods to load {@link Language Languages}.
  * @author Dominik Fuchss

+ 3 - 3
cli/src/main/java/de/jplag/logger/CollectedLogger.java → cli/src/main/java/de/jplag/cli/logger/CollectedLogger.java

@@ -1,4 +1,4 @@
-package de.jplag.logger;
+package de.jplag.cli.logger;
 
 import java.io.PrintStream;
 import java.io.Serial;
@@ -27,7 +27,7 @@ public final class CollectedLogger extends MarkerIgnoringBase {
     private static final int LOG_LEVEL_WARN = LocationAwareLogger.WARN_INT;
     private static final int LOG_LEVEL_ERROR = LocationAwareLogger.ERROR_INT;
 
-    private final int currentLogLevel = LOG_LEVEL_INFO;
+    private static final int CURRENT_LOG_LEVEL = LOG_LEVEL_INFO;
 
     /**
      * The short name of this simple log instance
@@ -117,7 +117,7 @@ public final class CollectedLogger extends MarkerIgnoringBase {
     }
 
     private boolean isLevelEnabled(int logLevel) {
-        return logLevel >= currentLogLevel;
+        return logLevel >= CURRENT_LOG_LEVEL;
     }
 
     private String renderLevel(int level) {

+ 1 - 1
cli/src/main/java/de/jplag/logger/CollectedLoggerFactory.java → cli/src/main/java/de/jplag/cli/logger/CollectedLoggerFactory.java

@@ -1,4 +1,4 @@
-package de.jplag.logger;
+package de.jplag.cli.logger;
 
 import java.util.ArrayList;
 import java.util.List;

+ 1 - 1
cli/src/main/java/de/jplag/logger/CollectedLoggerServiceProvider.java → cli/src/main/java/de/jplag/cli/logger/CollectedLoggerServiceProvider.java

@@ -1,4 +1,4 @@
-package de.jplag.logger;
+package de.jplag.cli.logger;
 
 import org.kohsuke.MetaInfServices;
 import org.slf4j.ILoggerFactory;

+ 1 - 1
cli/src/main/java/de/jplag/logger/Triple.java → cli/src/main/java/de/jplag/cli/logger/Triple.java

@@ -1,4 +1,4 @@
-package de.jplag.logger;
+package de.jplag.cli.logger;
 
 public record Triple<A, B, C> (A first, B second, C third) {
 }

+ 0 - 2
cli/src/test/java/de/jplag/cli/BaseCodeOptionTest.java

@@ -5,8 +5,6 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 
 import org.junit.jupiter.api.Test;
 
-import de.jplag.CommandLineArgument;
-
 class BaseCodeOptionTest extends CommandLineInterfaceTest {
 
     private static final String NAME = "BaseCodeName";

+ 0 - 1
cli/src/test/java/de/jplag/cli/ClusteringTest.java

@@ -4,7 +4,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.junit.jupiter.api.Test;
 
-import de.jplag.CommandLineArgument;
 import de.jplag.clustering.Preprocessing;
 
 class ClusteringTest extends CommandLineInterfaceTest {

+ 1 - 3
cli/src/test/java/de/jplag/cli/CommandLineInterfaceTest.java

@@ -1,14 +1,12 @@
 package de.jplag.cli;
 
-import static de.jplag.CommandLineArgument.ROOT_DIRECTORY;
+import static de.jplag.cli.CommandLineArgument.ROOT_DIRECTORY;
 import static java.util.stream.Collectors.toSet;
 
 import java.util.Arrays;
 
 import net.sourceforge.argparse4j.inf.Namespace;
 
-import de.jplag.CLI;
-import de.jplag.CommandLineArgument;
 import de.jplag.options.JPlagOptions;
 
 /**

+ 0 - 2
cli/src/test/java/de/jplag/cli/LanguageTest.java

@@ -9,9 +9,7 @@ import java.util.List;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import de.jplag.CommandLineArgument;
 import de.jplag.Language;
-import de.jplag.LanguageLoader;
 
 class LanguageTest extends CommandLineInterfaceTest {
 

+ 0 - 2
cli/src/test/java/de/jplag/cli/MinTokenMatchTest.java

@@ -6,8 +6,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import org.junit.jupiter.api.Test;
 
-import de.jplag.CommandLineArgument;
-
 class MinTokenMatchTest extends CommandLineInterfaceTest {
 
     @Test

+ 0 - 1
cli/src/test/java/de/jplag/cli/SimiliarityThresholdTest.java

@@ -5,7 +5,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.junit.jupiter.api.Test;
 
-import de.jplag.CommandLineArgument;
 import de.jplag.options.JPlagOptions;
 
 class SimiliarityThresholdTest extends CommandLineInterfaceTest {

+ 0 - 1
cli/src/test/java/de/jplag/cli/StoredMatchesTest.java

@@ -5,7 +5,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.junit.jupiter.api.Test;
 
-import de.jplag.CommandLineArgument;
 import de.jplag.options.JPlagOptions;
 
 class StoredMatchesTest extends CommandLineInterfaceTest {

+ 1 - 2
core/src/test/java/de/jplag/TestBase.java

@@ -8,7 +8,6 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import de.jplag.exceptions.ExitException;
-import de.jplag.java.Language;
 import de.jplag.options.JPlagOptions;
 
 public abstract class TestBase {
@@ -50,7 +49,7 @@ public abstract class TestBase {
             throws ExitException {
         var newFiles = newPaths.stream().map(path -> new File(path)).collect(Collectors.toSet());
         var oldFiles = oldPaths.stream().map(path -> new File(path)).collect(Collectors.toSet());
-        JPlagOptions options = new JPlagOptions(LanguageLoader.getLanguage(Language.IDENTIFIER).orElseThrow(), newFiles, oldFiles);
+        JPlagOptions options = new JPlagOptions(new de.jplag.java.Language(), newFiles, oldFiles);
         options = customization.apply(options);
         JPlag jplag = new JPlag(options);
         return jplag.run();

+ 4 - 13
core/src/test/java/de/jplag/special/TokenPrinterTest.java

@@ -8,7 +8,6 @@ import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import de.jplag.JPlagResult;
-import de.jplag.LanguageLoader;
 import de.jplag.Submission;
 import de.jplag.TestBase;
 import de.jplag.TokenPrinter;
@@ -26,17 +25,10 @@ class TokenPrinterTest extends TestBase {
     private static final int MIN_TOKEN_MATCH = 5;
     private static final String PRINTER_FOLDER = "PRINTER"; // in the folder 'jplag/src/test/resources/samples'
 
-    private static final String LANGUAGE_CPP = de.jplag.cpp.Language.IDENTIFIER;
-    private static final String LANGUAGE_R = de.jplag.rlang.Language.IDENTIFIER;
-    private static final String LANGUAGE_KOTLIN = de.jplag.kotlin.Language.IDENTIFIER;
-
-    private static final String LANGUAGE_GO = de.jplag.golang.Language.IDENTIFIER;
-
     @Disabled("Not a meaningful test, used for designing the token set")
     @Test
     void printCPPFiles() {
-        printSubmissions(
-                options -> options.withLanguageOption(LanguageLoader.getLanguage(LANGUAGE_CPP).orElseThrow()).withMinimumTokenMatch(MIN_TOKEN_MATCH));
+        printSubmissions(options -> options.withLanguageOption(new de.jplag.cpp.Language()).withMinimumTokenMatch(MIN_TOKEN_MATCH));
     }
 
     @Disabled("Not a meaningful test, used for designing the token set")
@@ -48,20 +40,19 @@ class TokenPrinterTest extends TestBase {
     @Disabled("Not a meaningful test, used for designing the token set")
     @Test
     void printRLangFiles() {
-        printSubmissions(
-                options -> options.withLanguageOption(LanguageLoader.getLanguage(LANGUAGE_R).orElseThrow()).withMinimumTokenMatch(MIN_TOKEN_MATCH));
+        printSubmissions(options -> options.withLanguageOption(new de.jplag.rlang.Language()).withMinimumTokenMatch(MIN_TOKEN_MATCH));
     }
 
     @Disabled("Not a meaningful test, used for designing the token set")
     @Test
     void printGoFiles() {
-        printSubmissions(options -> options.withLanguageOption(LanguageLoader.getLanguage(LANGUAGE_GO).orElseThrow()));
+        printSubmissions(options -> options.withLanguageOption(new de.jplag.golang.Language()));
     }
 
     @Disabled("Not a meaningful test, used for designing the token set")
     @Test
     void printKotlinFiles() {
-        printSubmissions(options -> options.withLanguageOption(LanguageLoader.getLanguage(LANGUAGE_KOTLIN).orElseThrow()));
+        printSubmissions(options -> options.withLanguageOption(new de.jplag.kotlin.Language()));
     }
 
     private void printSubmissions(Function<JPlagOptions, JPlagOptions> optionsCustomization) {

+ 117 - 0
coverage-report/pom.xml

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>de.jplag</groupId>
+        <artifactId>aggregator</artifactId>
+        <version>${revision}</version>
+    </parent>
+    <artifactId>coverage-report</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>jplag</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>cli</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>endtoend-testing</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- Languages -->
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>language-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>text</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>java</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>python-3</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>csharp</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>cpp</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>golang</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>kotlin</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>rlang</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>rust</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>scala</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>scheme</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>swift</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>de.jplag</groupId>
+            <artifactId>emf-metamodel</artifactId>
+            <version>${revision}</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>report-aggregate</id>
+                        <goals>
+                            <goal>report-aggregate</goal>
+                        </goals>
+                        <phase>verify</phase>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 1 - 1
endtoend-testing/pom.xml

@@ -16,7 +16,7 @@
         </dependency>
         <dependency>
             <groupId>de.jplag</groupId>
-            <artifactId>java</artifactId>
+            <artifactId>cli</artifactId>
             <version>${revision}</version>
             <scope>test</scope>
         </dependency>

+ 1 - 1
endtoend-testing/src/test/java/de/jplag/endtoend/EndToEndGeneratorTest.java

@@ -20,7 +20,7 @@ import de.jplag.JPlag;
 import de.jplag.JPlagComparison;
 import de.jplag.JPlagResult;
 import de.jplag.Language;
-import de.jplag.LanguageLoader;
+import de.jplag.cli.LanguageLoader;
 import de.jplag.endtoend.constants.TestDirectoryConstants;
 import de.jplag.endtoend.helper.FileHelper;
 import de.jplag.endtoend.helper.TestSuiteHelper;

+ 1 - 1
endtoend-testing/src/test/java/de/jplag/endtoend/EndToEndSuiteTest.java

@@ -24,7 +24,7 @@ import de.jplag.JPlag;
 import de.jplag.JPlagComparison;
 import de.jplag.JPlagResult;
 import de.jplag.Language;
-import de.jplag.LanguageLoader;
+import de.jplag.cli.LanguageLoader;
 import de.jplag.endtoend.constants.TestDirectoryConstants;
 import de.jplag.endtoend.helper.FileHelper;
 import de.jplag.endtoend.helper.TestSuiteHelper;

+ 2 - 1
pom.xml

@@ -70,7 +70,7 @@
         <sonar.organization>jplag</sonar.organization>
         <sonar.host.url>https://sonarcloud.io</sonar.host.url>
         <!--suppress UnresolvedMavenProperty -->
-        <sonar.coverage.jacoco.xmlReportPaths>${maven.multiModuleProjectDirectory}/jplag.cli/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
+        <sonar.coverage.jacoco.xmlReportPaths>${maven.multiModuleProjectDirectory}/coverage-report/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
 
         <maven.compiler.source>17</maven.compiler.source>
         <maven.compiler.target>17</maven.compiler.target>
@@ -400,6 +400,7 @@
             <modules>
                 <module>cli</module>
                 <module>core</module>
+                <module>coverage-report</module>
                 <module>endtoend-testing</module>
                 <module>languages</module>
                 <module>language-api</module>