diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 200e56a..ae90c5b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,21 +1,44 @@
+variables:
+ MVN_OPTS: >-
+ --batch-mode
+ --errors
+ --fail-at-end
+ --show-version
+ --no-transfer-progress
+ -DinstallAtEnd=true
+ -DdeployAtEnd=true
+ -Dsonar.host.url=https://sonar.fbe-adswen.rwu.de
+ -Dsonar.token=sqa_c39258caceb01d59515d6dfa9440a7b05cdd15f4
+ -Dhttps.protocols=TLSv1.2
+ -Dorg.slf4j.simpleLogger.showDateTime=true
+ -Djava.awt.headless=true
+
image: maven:3.9.1-eclipse-temurin-17
cache:
+ key: "$CI_JOB_NAME"
paths:
- .m2/repository
stages:
- build
- test
+ - analyze
build:
stage: build
script:
- - echo "Maven Build started..."
- - "mvn compile"
+ - echo "Starting Maven build..."
+ - mvn $MVN_OPTS clean compile
test:
stage: test
script:
- - echo "Maven Test started..."
- - "mvn test"
+ - echo "Starting Maven Test..."
+ - mvn $MVN_OPTS test
+
+analyze:
+ stage: analyze
+ script:
+ - echo "Starting Code Analysis..."
+ - mvn $MVN_OPTS verify sonar:sonar -Pcoverage
diff --git a/Script/CI_SonarQube_CLI.sh b/Script/CI_SonarQube_CLI.sh
new file mode 100644
index 0000000..654f24e
--- /dev/null
+++ b/Script/CI_SonarQube_CLI.sh
@@ -0,0 +1,44 @@
+mvn \
+ --batch-mode \
+ --errors \
+ --fail-at-end \
+ --show-version \
+ --no-transfer-progress \
+ -DinstallAtEnd=true \
+ -DdeployAtEnd=true \
+ -Dsonar.host.url=https://sonar.fbe-adswen.rwu.de \
+ -Dsonar.token=sqa_c39258caceb01d59515d6dfa9440a7b05cdd15f4 \
+ -Dhttps.protocols=TLSv1.2 \
+ -Dorg.slf4j.simpleLogger.showDateTime=true \
+ -Djava.awt.headless=true \
+ clean compile
+
+mvn \
+ --batch-mode \
+ --errors \
+ --fail-at-end \
+ --show-version \
+ --no-transfer-progress \
+ -DinstallAtEnd=true \
+ -DdeployAtEnd=true \
+ -Dsonar.host.url=https://sonar.fbe-adswen.rwu.de \
+ -Dsonar.token=sqa_c39258caceb01d59515d6dfa9440a7b05cdd15f4 \
+ -Dhttps.protocols=TLSv1.2 \
+ -Dorg.slf4j.simpleLogger.showDateTime=true \
+ -Djava.awt.headless=true \
+ test
+
+mvn \
+ --batch-mode \
+ --errors \
+ --fail-at-end \
+ --show-version \
+ --no-transfer-progress \
+ -DinstallAtEnd=true \
+ -DdeployAtEnd=true \
+ -Dsonar.host.url=https://sonar.fbe-adswen.rwu.de \
+ -Dsonar.token=sqa_c39258caceb01d59515d6dfa9440a7b05cdd15f4 \
+ -Dhttps.protocols=TLSv1.2 \
+ -Dorg.slf4j.simpleLogger.showDateTime=true \
+ -Djava.awt.headless=true \
+ verify sonar:sonar -Pcoverage
diff --git a/easydrop/pom.xml b/easydrop/pom.xml
deleted file mode 100644
index 9d617db..0000000
--- a/easydrop/pom.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-
- 4.0.0
- de.rwu
- easydrop
- jar
- 1.0-SNAPSHOT
- easydrop
- http://maven.apache.org
-
- UTF-8
-
-
-
- junit
- junit
- 4.13.2
- test
-
-
- org.mockito
- mockito-core
- 5.3.1
- test
-
-
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- 3.2.2
-
-
- checkstyle-check
- verify
-
- google_checks.xml
- true
-
-
- check
-
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.10
-
-
-
- prepare-agent
-
-
-
- generate-code-coverage-report
- test
-
- report
-
-
-
-
-
-
-
diff --git a/easydrop/src/main/java/de/rwu/App.java b/easydrop/src/main/java/de/rwu/App.java
deleted file mode 100644
index 5d94a3f..0000000
--- a/easydrop/src/main/java/de/rwu/App.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.rwu;
-
-/**
- * Hello world!
- *
- */
-public class App
-{
- public static void main( String[] args )
- {
- System.out.println( "Hello World!" );
- }
-}
diff --git a/easydrop/src/main/java/de/rwu/DemoClass.java b/easydrop/src/main/java/de/rwu/DemoClass.java
deleted file mode 100644
index 492fbec..0000000
--- a/easydrop/src/main/java/de/rwu/DemoClass.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.rwu;
-
-public class DemoClass {
- public String demoMethod() {
- return "success!";
- }
-}
diff --git a/easydrop/src/test/java/de/rwu/AppTest.java b/easydrop/src/test/java/de/rwu/AppTest.java
deleted file mode 100644
index a5893d0..0000000
--- a/easydrop/src/test/java/de/rwu/AppTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package de.rwu;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * Unit test for simple App.
- */
-public class AppTest
- extends TestCase
-{
- /**
- * Create the test case
- *
- * @param testName name of the test case
- */
- public AppTest( String testName )
- {
- super( testName );
- }
-
- /**
- * @return the suite of tests being tested
- */
- public static Test suite()
- {
- return new TestSuite( AppTest.class );
- }
-
- /**
- * Rigourous Test :-)
- */
- public void testApp()
- {
- assertTrue( true );
- }
-}
diff --git a/easydrop/src/test/java/de/rwu/DemoClassTest.java b/easydrop/src/test/java/de/rwu/DemoClassTest.java
deleted file mode 100644
index 839201c..0000000
--- a/easydrop/src/test/java/de/rwu/DemoClassTest.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package de.rwu;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-
-public class DemoClassTest {
- @Test
- public void testDemoMethod() {
- DemoClass demoClass = new DemoClass();
- String result = demoClass.demoMethod();
- assertEquals("success!", result);
- }
-}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..880badf
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,106 @@
+
+ 4.0.0
+ de.rwu
+ easydrop
+ jar
+ 0.1-SNAPSHOT
+ EasyDrop
+ http://maven.apache.org
+
+
+ UTF-8
+
+
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 5.3.1
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ 3.2.2
+
+
+ checkstyle-check
+ verify
+
+ true
+ true
+ true
+ false
+
+
+ check
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.10
+
+
+
+
+
+
+ coverage
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.10
+
+
+
+ prepare-agent
+
+
+
+ generate-code-coverage-report
+ verify
+
+ report
+
+
+
+
+
+
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+
+ report
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/de/rwu/easydrop/demo/DemoClass.java b/src/main/java/de/rwu/easydrop/demo/DemoClass.java
new file mode 100644
index 0000000..ff91a4f
--- /dev/null
+++ b/src/main/java/de/rwu/easydrop/demo/DemoClass.java
@@ -0,0 +1,16 @@
+package de.rwu.easydrop.demo;
+
+/**
+ * Demo-Class.
+ */
+public final class DemoClass {
+ /**
+ * Demo-Method inverting a boolean.
+ *
+ * @param bool Input Boolean
+ * @return Inverted Boolean
+ */
+ public boolean invertBool(final boolean bool) {
+ return !bool;
+ }
+}
diff --git a/src/main/java/de/rwu/easydrop/demo/package-info.java b/src/main/java/de/rwu/easydrop/demo/package-info.java
new file mode 100644
index 0000000..01c1a1b
--- /dev/null
+++ b/src/main/java/de/rwu/easydrop/demo/package-info.java
@@ -0,0 +1,6 @@
+/**
+ * Dieses Paket beinhaltet ist zu Demo-Zwecken.
+ *
+ * @since 0.1-SNAPSHOT
+ */
+package de.rwu.easydrop.demo;
diff --git a/src/test/java/de/rwu/easydrop/demo/DemoClassTest.java b/src/test/java/de/rwu/easydrop/demo/DemoClassTest.java
new file mode 100644
index 0000000..fb4aa0e
--- /dev/null
+++ b/src/test/java/de/rwu/easydrop/demo/DemoClassTest.java
@@ -0,0 +1,19 @@
+package de.rwu.easydrop.demo;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class DemoClassTest {
+ private final DemoClass demoClass = new DemoClass();
+
+ @Test
+ public void testInvertBoolTrue() {
+ assertEquals("Inverting true should return false", false, demoClass.invertBool(true));
+ }
+
+ @Test
+ public void testInvertBoolFalse() {
+ assertEquals("Inverting false should return true", true, demoClass.invertBool(false));
+ }
+}