| <?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> |