ares
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>de.tum.cit.ase</groupId>
<artifactId>ares</artifactId>
<version>2.0.1-Beta4</version>
</dependency><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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.tum.cit.ase</groupId>
<artifactId>ares</artifactId>
<version>2.0.1-Beta4</version>
<properties>
<!-- 0. General Project Settings -->
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 1. Testing: 1.1 JUnit -->
<junit-jupiter-version>6.0.0</junit-jupiter-version>
<junit-platform-version>6.0.0</junit-platform-version>
<junit-pioneer-version>2.3.0</junit-pioneer-version>
<!-- 1. Testing: 1.2 jqwik -->
<jqwik-version>1.9.3</jqwik-version>
<!-- 1. Testing: 1.3 AssertJ -->
<assertj-version>3.27.6</assertj-version>
<!-- 1. Testing: 1.4 Mockito -->
<mockito-version>5.2.0</mockito-version>
<!-- 1. Testing: 1.5 Hamcrest -->
<hamcrest-version>3.0</hamcrest-version>
<!-- 2. Architecture: 2.1 Archunit -->
<archunit-version>1.4.1</archunit-version>
<!-- 2. Architecture: 2.2 Wala -->
<wala-version>1.6.12</wala-version>
<!-- 3. AOP: 3.1 AspectJ -->
<aspectj-version>1.9.24</aspectj-version>
<aspectj-path>
${user.home}${file.separator}.m2${file.separator}repository${file.separator}org${file.separator}aspectj${file.separator}aspectjrt${file.separator}${aspectj-version}${file.separator}aspectjrt-${aspectj-version}.jar
</aspectj-path>
<!-- 3. AOP: 3.2 Byte Buddy -->
<byte-buddy-version>1.17.7</byte-buddy-version>
<byte-buddy-path>
${project.build.directory}${file.separator}${project.artifactId}-${project.version}-agent.jar
</byte-buddy-path>
<!-- 4. AST: 4.1 JavaParser -->
<java-parser-version>3.27.0</java-parser-version>
<!-- 5. Formats: 5.1 JSON -->
<json-version>20250517</json-version>
<!-- 5. Formats: 5.2 YAML and XML-->
<yaml-version>2.20.0</yaml-version>
<!-- 6. Large Tooling Libraries -->
<guava-version>33.5.0-jre</guava-version>
<commons-io-version>2.20.0</commons-io-version>
<vavr-version>0.10.7</vavr-version>
<!-- 7. Small Tooling Libraries -->
<java-string-similarity-version>2.0.0</java-string-similarity-version>
<jgrapht-core-version>1.5.2</jgrapht-core-version>
<!-- 8. Logging -->
<logback-version>1.5.18</logback-version>
<!-- 8. API -->
<apiguardian-api-version>1.1.2</apiguardian-api-version>
<!-- Others -->
<spotless.version>3.0.0</spotless.version>
<!-- if JaCoCo is not executed -->
<argLine></argLine>
<!-- full certificate fingerprint: 23E62BB282A473EE4DDA2F8763EFD39363D21A8D -->
<gpg.key.id>23E62BB282A473EE4DDA2F8763EFD39363D21A8D</gpg.key.id>
</properties>
<dependencies>
<!-- 1. Testing: 1.1 JUnit -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit-jupiter-version}</version>
<!-- 3 Cases:
src/test/java/de/tum/cit/ase/ares/api/util/LruCacheTest.java
src/test/java/de/tum/cit/ase/ares/api/util/ClassMemberAccessorTest.java
src/test/java/de/tum/cit/ase/ares/integration/testuser/NetworkUser.java
-->
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-jupiter-version}</version>
<!-- 1 Case:
src/test/java/de/tum/cit/ase/ares/testutilities/UserBased.java
-->
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>${junit-jupiter-version}</version>
<!-- 2 Cases:
src/main/java/de/tum/cit/ase/ares/api/internal/sanitization/SafeTypeThrowableSanitizer.java
src/main/java/de/tum/cit/ase/ares/api/internal/sanitization/ThrowableSets.java
-->
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-testkit</artifactId>
<version>${junit-platform-version}</version>
<!-- Multiple Cases -->
</dependency>
<!-- Not Required
Included in junit-jupiter-params and junit-jupiter-engine
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit-jupiter-version}</version>
</dependency>
Included in junit-platform-testkit
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>${junit-platform-version}</version>
</dependency>
Not required
<dependency>
<groupId>org.junit-pioneer</groupId>
<artifactId>junit-pioneer</artifactId>
<version>${junit-pioneer-version}</version>
</dependency>
-->
<!-- 1. Testing: 1.2 jqwik -->
<dependency>
<groupId>net.jqwik</groupId>
<artifactId>jqwik</artifactId>
<version>${jqwik-version}</version>
<scope>provided</scope>
<!-- Multiple Cases -->
</dependency>
<!-- 1. Testing: 1.3 Mockito -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>${mockito-version}</version>
<!-- Multiple Cases -->
</dependency>
<!-- 1. Testing: 1.4 AssertJ -->
<!-- Not Required
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-version}</version>
</dependency>-->
<!-- 1. Testing: 1.5 Hamcrest -->
<!-- Not Required
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${hamcrest-version}</version>
</dependency>-->
<!-- 2. Architecture: 2.1 Archunit -->
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
<version>${archunit-version}</version>
<!-- 1 Case:
src/main/java/de/tum/cit/ase/ares/api/securitytest/java/specific/PathLocationProvider.java
-->
</dependency>
<!-- Not required
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>${archunit-version}</version>
</dependency>
-->
<!-- 2. Architecture: 2.2 Wala -->
<dependency>
<groupId>com.ibm.wala</groupId>
<artifactId>com.ibm.wala.core</artifactId>
<version>${wala-version}</version>
<!-- Multiple Cases -->
</dependency>
<!-- 3. AOP: 3.1 AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj-version}</version>
</dependency>
<!-- Not required
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj-version}</version>
</dependency>
-->
<!-- 3. AOP: 3.2 Byte Buddy -->
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${byte-buddy-version}</version>
<!-- Multiple Cases -->
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>${byte-buddy-version}</version>
<!-- Multiple Cases -->
</dependency>
<!-- 4. AST: 4.1 JavaParser -->
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-symbol-solver-core</artifactId>
<version>${java-parser-version}</version>
<!-- 1. Case:
src/main/java/de/tum/cit/ase/ares/api/ast/model/RecursionCheck.java
-->
</dependency>
<!-- Not Required
Included in javaparser-symbol-solver-core
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-core</artifactId>
<version>${java-parser-version}</version>
</dependency>
-->
<!-- 5. Formats: 5.1 JSON -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${json-version}</version>
</dependency>
<!-- 5. Formats: 5.2 YAML and XML -->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${yaml-version}</version>
</dependency>
<!-- 6. Large Tooling Libraries -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava-version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io-version}</version>
</dependency>
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>${vavr-version}</version>
</dependency>
<!-- 7. Small Tooling Libraries -->
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.11</version>
</dependency>
<dependency>
<groupId>info.debatty</groupId>
<artifactId>java-string-similarity</artifactId>
<version>${java-string-similarity-version}</version>
</dependency>
<dependency>
<groupId>org.jgrapht</groupId>
<artifactId>jgrapht-core</artifactId>
<version>${jgrapht-core-version}</version>
</dependency>
<!-- 8. Logging -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback-version}</version>
</dependency>
<!-- 8. API -->
<dependency>
<groupId>org.apiguardian</groupId>
<artifactId>apiguardian-api</artifactId>
<version>${apiguardian-api-version}</version>
</dependency>
<!-- Add JSR-305 for javax.annotation.Nonnull/Nullable -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
<include>**/*.aj</include>
<include>**/*.properties</include>
<include>**/*.yaml</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.csv</include>
<include>**/*.txt</include>
<include>**/*.md</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<!-- 1. Clean -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.3.2</version>
</plugin>
<!-- 2. Validate -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.4.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.9,)</version>
</requireMavenVersion>
<requireJavaVersion>
<version>[9,)</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-no-student-code-in-trusted-packages</id>
<phase>process-test-classes</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireFilesDontExist>
<files>
<!-- Required for de.tum.cit.ase.ares.api.security.ArtemisSecurityConfigurationTest -->
<!-- <file>${project.build.outputDirectory}/abc/def/</file> -->
<file>${project.build.outputDirectory}/ch/qos/logback/</file>
<file>${project.build.outputDirectory}/com/github/javaparser/</file>
<file>${project.build.outputDirectory}/com/intellij/</file>
<file>${project.build.outputDirectory}/com/sun/</file>
<!-- We cannot fulfill this one because we are building those classes here
<file>${project.build.outputDirectory}/de/tum/cit/ase/ares/api/</file> -->
<file>${project.build.outputDirectory}/de/tum/in/test/api/</file>
<file>${project.build.outputDirectory}/java/</file>
<file>${project.build.outputDirectory}/javax/</file>
<file>${project.build.outputDirectory}/jdk/</file>
<file>${project.build.outputDirectory}/net/jqwik/</file>
<file>${project.build.outputDirectory}/org/apache/</file>
<file>${project.build.outputDirectory}/org/assertj/</file>
<file>${project.build.outputDirectory}/org/eclipse/</file>
<file>${project.build.outputDirectory}/org/jacoco/</file>
<file>${project.build.outputDirectory}/org/json/</file>
<file>${project.build.outputDirectory}/org/junit/</file>
<file>${project.build.outputDirectory}/org/opentest4j/</file>
<file>${project.build.outputDirectory}/sun/</file>
<file>${project.build.outputDirectory}/org/gradle/</file>
<file>${project.build.outputDirectory}/worker/org/gradle/</file>
</files>
</requireFilesDontExist>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- 3. Compile -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.12.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>dev.aspectj</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.14.1</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.9.24</version>
</dependency>
</dependencies>
<configuration>
<forceAjcCompile>true</forceAjcCompile>
<complianceLevel>17</complianceLevel>
<source>17</source>
<target>17</target>
<showWeaveInfo>true</showWeaveInfo>
<weaveTest>true</weaveTest>
</configuration>
<executions>
<execution>
<id>weave-test-classes</id>
<phase>process-test-classes</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
<execution>
<id>weave-main-classes</id>
<phase>process-classes</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 4. Test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forkCount>1</forkCount>
<argLine>-javaagent:${byte-buddy-path} -Xbootclasspath/a:${aspectj-path}</argLine>
</configuration>
</plugin>
<!-- 5. Package -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>default-jar</id>
<phase>process-classes</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifestEntries>
<Sealed>true</Sealed>
</manifestEntries>
</archive>
<includes>
<include>**/*.class</include>
<include>**/*.java</include>
<include>**/*.aj</include>
<include>**/*.properties</include>
<include>**/*.yaml</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.csv</include>
<include>**/*.txt</include>
<include>**/*.md</include>
<include>**/META-INF/**</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<failOnError>false</failOnError>
<tags>
<tag>
<name>apiNote</name>
<placement>a</placement>
<head>API Note:</head>
</tag>
<tag>
<name>implSpec</name>
<placement>a</placement>
<head>Implementation Requirements:</head>
</tag>
<tag>
<name>implNote</name>
<placement>a</placement>
<head>Implementation Note:</head>
</tag>
<tag>
<name>param</name>
</tag>
<tag>
<name>return</name>
</tag>
<tag>
<name>throws</name>
</tag>
<tag>
<name>since</name>
</tag>
<tag>
<name>version</name>
</tag>
<tag>
<name>serialData</name>
</tag>
<tag>
<name>see</name>
</tag>
</tags>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>install-main-jar</id>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${project.build.directory}${file.separator}${project.build.finalName}.jar</file>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>jar</packaging>
</configuration>
</execution>
<execution>
<id>install-pom</id>
<phase>package</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${basedir}${file.separator}pom.xml
</file> <!-- Ensure this is correctly pointing to your POM file -->
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>pom</packaging>
</configuration>
</execution>
<execution>
<id>install-javadoc-jar</id>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${project.build.directory}${file.separator}${project.build.finalName}-javadoc.jar
</file>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>jar</packaging>
<classifier>javadoc</classifier>
</configuration>
</execution>
<execution>
<id>install-sources-jar</id>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${project.build.directory}${file.separator}${project.build.finalName}-sources.jar
</file>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>jar</packaging>
<classifier>sources</classifier>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.3.0</version>
<executions>
<!-- Create agent jar before tests so surefire -javaagent path exists -->
<execution>
<id>shade-agent-before-test</id>
<phase>process-classes</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>agent</shadedClassifierName>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Premain-Class>
de.tum.cit.ase.ares.api.aop.java.instrumentation.JavaInstrumentationAgent
</Premain-Class>
<Can-Redefine-Classes>true</Can-Redefine-Classes>
<Can-Retransform-Classes>true</Can-Retransform-Classes>
<Can-Set-Native-Method-Prefix>true</Can-Set-Native-Method-Prefix>
<Boot-Class-Path></Boot-Class-Path>
</manifestEntries>
</transformer>
</transformers>
<artifactSet>
<includes>
<include>de.tum.cit.ase:ares</include>
</includes>
</artifactSet>
</configuration>
</execution>
<!-- Keep existing package-time shaded agent -->
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>agent</shadedClassifierName>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Premain-Class>
de.tum.cit.ase.ares.api.aop.java.instrumentation.JavaInstrumentationAgent
</Premain-Class>
<Can-Redefine-Classes>true</Can-Redefine-Classes>
<Can-Retransform-Classes>true</Can-Retransform-Classes>
<Can-Set-Native-Method-Prefix>true</Can-Set-Native-Method-Prefix>
<Boot-Class-Path></Boot-Class-Path>
</manifestEntries>
</transformer>
</transformers>
<artifactSet>
<includes>
<include>de.tum.cit.ase:ares</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<!-- 6. Verify -->
<!-- 7. Install -->
<!-- 8. Site -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.12.1</version>
</plugin>
<!-- 9. Deploy -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<!-- Manual execution -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.15.0</version>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless.version}</version>
<configuration>
<encoding>UTF-8</encoding>
<formats>
<format>
<includes>
<include>*.xml</include>
<include>*.java</include>
<include>.gitignore</include>
</includes>
<trimTrailingWhitespace/>
<endWithNewline/>
<indent>
<tabs>true</tabs>
<spacesPerTab>4</spacesPerTab>
</indent>
</format>
</formats>
<java>
<removeUnusedImports/>
<importOrder>
<file>${basedir}${file.separator}.settings${file.separator}eclipse-rules.importorder</file>
</importOrder>
<eclipse>
<version>4.17.0</version>
<file>${basedir}${file.separator}.settings${file.separator}eclipse-formatter-rules.xml
</file>
</eclipse>
</java>
</configuration>
</plugin>
</plugins>
</build>
<name>Ares</name>
<description>A JUnit 5 Extension for secure Artemis Java Testing.</description>
<url>https://github.com/ls1intum/Ares2</url>
<inceptionYear>2024</inceptionYear>
<licenses>
<license>
<name>MIT</name>
<url>https://opensource.org/licenses/MIT</url>
<comments>See https://github.com/ls1intum/Ares2/blob/master/LICENSE</comments>
</license>
</licenses>
<organization>
<name>Technical University of Munich, School of Computation, Information and Technology , Research Group Applied
Software Engineering
</name>
<url>https://ase.cit.tum.de/</url>
</organization>
<developers>
<developer>
<id>MarkusPaulsen</id>
<name>Markus Paulsen</name>
<email>markus.paulsen@tum.de</email>
<url>https://ase.cit.tum.de/people/paulsen/</url>
<organization>Technical University of Munich, School of Computation, Information and Technology , Research
Group Applied Software Engineering
</organization>
<organizationUrl>https://ase.cit.tum.de/</organizationUrl>
<roles>
<role>Scientific Researcher</role>
</roles>
<timezone>Europe/Berlin</timezone>
</developer>
<developer>
<id>SarpSahinalp</id>
<name>Sarp Sahinalp</name>
<email>sarp.sahinalp@tum.de</email>
<url>https://ase.cit.tum.de/people/paulsen/</url>
<organization>Technical University of Munich, School of Computation, Information and Technology , Research
Group Applied Software Engineering
</organization>
<organizationUrl>https://ase.cit.tum.de/</organizationUrl>
<roles>
<role>Thesis Student</role>
</roles>
<timezone>Europe/Berlin</timezone>
</developer>
<developer>
<id>AnirudhZaveri</id>
<name>Anirudh Zaveri</name>
<email>anirudh.zaveri@tum.de</email>
<url>https://ase.cit.tum.de/people/paulsen/</url>
<organization>Technical University of Munich, School of Computation, Information and Technology , Research
Group Applied Software Engineering
</organization>
<organizationUrl>https://ase.cit.tum.de/</organizationUrl>
<roles>
<role>Thesis Student</role>
</roles>
<timezone>Europe/Berlin</timezone>
</developer>
</developers>
<contributors>
<contributor>
<name>Christian Femers</name>
<email>christian.femers@tum.de</email>
<organization>Technical University of Munich</organization>
<organizationUrl>https://www.tum.de</organizationUrl>
<roles>
<role>Creator of Ares 1.0</role>
</roles>
<timezone>Europe/Berlin</timezone>
</contributor>
</contributors>
<scm>
<url>https://github.com/ls1intum/Ares2</url>
<connection>scm:git:https://github.com/ls1intum/Ares2.git</connection>
<developerConnection>scm:git:https://github.com/ls1intum/Ares2.git</developerConnection>
</scm>
<profiles>
<!-- For code coverage using JaCoCo -->
<profile>
<id>coverage</id>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.11</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- This is only for GitHub -->
<profile>
<id>github</id>
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub LS1TUM Apache Maven Packages</name>
<url>https://maven.pkg.github.com/ls1intum/Ares</url>
</repository>
<!-- GitHub cannot handle snapshots correctly now, so we do nothing -->
<snapshotRepository>
<id>internal</id>
<url>file://${project.build.directory}${file.separator}mvn-repo</url>
</snapshotRepository>
</distributionManagement>
</profile>
<!-- Profile for fast builds and tests (~ 16 s) -->
<profile>
<id>fast</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<forkCount>1</forkCount>
<argLine>-javaagent:${byte-buddy-path} -Xbootclasspath/a:${aspectj-path}</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Profile for manually deploying to Maven Central -->
<profile>
<id>ossrh</id>
<build>
<plugins>
<!-- Only sign the plugin if it's built manually for OSSRH -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.7</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<keyname>${gpg.key.id}</keyname>
<passphraseServerId>${gpg.key.id}</passphraseServerId>
<!-- This is to prevent Maven GPG not passing the passphrase correctly -->
<!-- requires GPG version 2.1 or greater -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>