blob: f60372ad9fb45f2d49da0671318a298638121f8a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.fordiac</groupId>
<artifactId>parent</artifactId>
<version>1.14.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>
<tycho.version>2.2.0</tycho.version>
<tycho-repo.url>http://download.eclipse.org/releases/2021-03</tycho-repo.url>
<sonar.exclusions>**/src-gen/**/*,**/xtend-gen/**/*</sonar.exclusions>
<sonar.projectName>Eclipse 4diac</sonar.projectName>
<org.eclipse.justj.jre.repository>http://download.eclipse.org/justj/sandbox/jres/14/updates/nightly/latest</org.eclipse.justj.jre.repository>
</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.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
<configuration>
<generateDownloadStatsProperty>true</generateDownloadStatsProperty>
<extraArtifactRepositoryProperties>
<p2.statsURI>http://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>1.14.0-SNAPSHOT</version>
</artifact>
</target>
<resolveWithExecutionEnvironmentConstraints>false</resolveWithExecutionEnvironmentConstraints>
<dependency-resolution>
<extraRequirements>
<requirement>
<type>eclipse-feature</type>
<id>org.eclipse.equinox.executable</id>
<versionRange>3.8.1100</versionRange>
</requirement>
<requirement>
<type>eclipse-feature</type>
<id>org.eclipse.platform</id>
<versionRange>4.19.0</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>
</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>
<dependency-resolution>
<extraRequirements>
<requirement>
<type>eclipse-feature</type>
<id>org.eclipse.equinox.executable</id>
<versionRange>3.8.1000</versionRange>
</requirement>
<requirement>
<type>eclipse-feature</type>
<id>org.eclipse.platform</id>
<versionRange>0.0.0</versionRange>
</requirement>
</extraRequirements>
</dependency-resolution>
<dependencies>
<!-- avoid CNFE in Surefire when looking for JUnitPlatformProvider -->
<dependency>
<artifactId>org.junit</artifactId>
<type>eclipse-plugin</type>
</dependency>
</dependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<logViolationsToConsole>true</logViolationsToConsole>
<consoleOutput>true</consoleOutput>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<includes>**\/*.java,**\/*.xtend</includes>
<checkstyleRules>
<module name="Checker">
<property name="severity" value="error"/>
<property name="fileExtensions" value="java,xtend"/>
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="-gen[\\/]"/>
</module>
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="[\\/]model[\\/]xtext[\\/]"/>
</module>
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="[\\/]model[\\/]structuredtext[\\/]"/>
</module>
<module name="RegexpHeader">
<property name="header" value="^(?!package)(?! \* SPDX.*$).*\n^ \* ?SPDX-License-Identifier: EPL-2\.0.*$" />
<property name="multiLines" value="1"/>
</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.0.2</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.2.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.7.0</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>1.3.1</version>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>