blob: 485ba3f0279ca6b7fed32cf9d50336e38155d838 [file]
<?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 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.fordiac</groupId>
<artifactId>parent</artifactId>
<version>3.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Eclipse 4diac IDE Parent Project</name>
<modules>
<module>plugins</module>
<module>tests</module>
<module>features</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.release/>
<tycho.version>4.0.6</tycho.version>
<tycho-repo.url>https://download.eclipse.org/releases/2024-03</tycho-repo.url>
<sonar.exclusions>**/src-gen/**/*,**/xtend-gen/**/*</sonar.exclusions>
<sonar.projectName>Eclipse 4diac</sonar.projectName>
<sonar.java.source>17</sonar.java.source>
<org.eclipse.justj.jre.repository>https://download.eclipse.org/justj/jres/17/updates/release/latest</org.eclipse.justj.jre.repository>
<xtend-version>2.34.0</xtend-version>
<eclipse.platform.version>4.31</eclipse.platform.version>
<equinox.executable.version>3.8.2400</equinox.executable.version>
<eclipse.cbi.version>1.4.3</eclipse.cbi.version>
</properties>
<repositories>
<repository>
<id>tycho-latest</id>
<url>${tycho-repo.url}</url>
<layout>p2</layout>
</repository>
<repository>
<id>jre-updates</id>
<url>${org.eclipse.justj.jre.repository}</url>
<layout>p2</layout>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>cbi</id>
<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.3.2</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/xtend-gen</directory>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>.gitkeep</exclude>
</excludes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
<version>${xtend-version}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>xtend-install-debug-info</goal>
<goal>testCompile</goal>
<goal>xtend-test-install-debug-info</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${basedir}/xtend-gen</outputDirectory>
<testOutputDirectory>${basedir}/xtend-gen</testOutputDirectory>
<showEmptyDirWarning>false</showEmptyDirWarning>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
<configuration>
<generateDownloadStatsProperty>true</generateDownloadStatsProperty>
<extraArtifactRepositoryProperties>
<p2.statsURI>https://download.eclipse.org/stats/</p2.statsURI>
</extraArtifactRepositoryProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<target>
<artifact>
<groupId>org.eclipse.fordiac</groupId>
<artifactId>org.eclipse.fordiac.ide.product</artifactId>
<version>3.0.0-SNAPSHOT</version>
</artifact>
</target>
<resolveWithExecutionEnvironmentConstraints>false</resolveWithExecutionEnvironmentConstraints>
<dependency-resolution>
<extraRequirements>
<requirement>
<type>eclipse-feature</type>
<id>org.eclipse.equinox.executable</id>
<versionRange>${equinox.executable.version}</versionRange>
</requirement>
<requirement>
<type>eclipse-feature</type>
<id>org.eclipse.platform</id>
<versionRange>${eclipse.platform.version}</versionRange>
</requirement>
</extraRequirements>
<profileProperties>
<org.eclipse.justj.buildtime>true</org.eclipse.justj.buildtime>
</profileProperties>
</dependency-resolution>
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>aarch64</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-versions-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<useUIHarness>true</useUIHarness>
<product>org.eclipse.platform.ide</product>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<logViolationsToConsole>true</logViolationsToConsole>
<consoleOutput>true</consoleOutput>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<includes>**\/*</includes>
<checkstyleRules>
<module name="Checker">
<property name="severity" value="error"/>
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="-gen[\\/]"/>
</module>
<module name="SuppressionSingleFilter">
<property name="files" value="^.*\.(?!(?:java|xtend)$)[^.]*$"/>
<property name="checks" value="RegexpHeader"/>
</module>
<module name="RegexpHeader">
<property name="header" value="^(?!package)(?! \* SPDX.*$).*\n^ \* ?SPDX-License-Identifier: EPL-2\.0.*$" />
<property name="multiLines" value="1"/>
</module>
<module name="RegexpMultiline">
<property name="format" value="(?s:(\r\n|\r).*)"/>
<property name="message" value="Windows (CRLF) or Mac (CR) line endings detected, must use Unix (LF) line endings."/>
</module>
</module>
</checkstyleRules>
</configuration>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>copy-resources-splash</id>
<phase>initialize</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/plugins/org.eclipse.fordiac.ide</outputDirectory>
<resources>
<resource>
<directory>plugins/org.eclipse.fordiac.ide/profiles/${profile.name}</directory>
<filtering>true</filtering>
</resource>
</resources>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.opentest4j</groupId>
<artifactId>opentest4j</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
<version>${xtend-version}</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>latest</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profile.name>latest</profile.name>
</properties>
</profile>
<profile>
<id>nightly</id>
<properties>
<profile.name>nightly</profile.name>
</properties>
</profile>
<profile>
<id>milestone</id>
<properties>
<profile.name>milestone</profile.name>
</properties>
</profile>
<profile>
<id>rc</id>
<properties>
<profile.name>rc</profile.name>
</properties>
</profile>
<profile>
<id>eclipse-sign</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
<version>${eclipse.cbi.version}</version>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>