xtext-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>xtext-parent</artifactId>
<version>2.43.0</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>org.eclipse.xtext</groupId>
<artifactId>xtext-parent</artifactId>
<version>2.43.0</version>
<packaging>pom</packaging>
<name>Xtext Parent POM</name>
<description>Xtext is a framework for development of programming languages and domain-specific languages. With Xtext you define your language using a powerful grammar language. As a result you get a full infrastructure, including parser, linker, typechecker, compiler as well as editing support for Eclipse, LSP and your favorite web browser.</description>
<url>https://www.eclipse.org/Xtext/</url>
<licenses>
<license>
<name>Eclipse Public License, Version 2.0</name>
<url>http://www.eclipse.org/legal/epl-2.0</url>
</license>
</licenses>
<developers>
<developer>
<name>Sven Efftinge</name>
<email>sven.efftinge@typefox.io</email>
<organization>TypeFox</organization>
<organizationUrl>http://typefox.io</organizationUrl>
</developer>
<developer>
<name>Sebastian Benz</name>
</developer>
<developer>
<name>Lorenzo Bettini</name>
<email>lorenzo.bettini@gmail.com</email>
<organization>DISIA, University Firenze</organization>
</developer>
<developer>
<name>Michael Clay</name>
</developer>
<developer>
<name>Arne Deutsch</name>
<email>arne.deutsch@itemis.de</email>
<organization>itemis</organization>
<organizationUrl>http://www.itemis.com</organizationUrl>
</developer>
<developer>
<name>Christian Dietrich</name>
<email>christian.dietrich.dietrich.opensource@gmail.com</email>
<organization>everest systems</organization>
</developer>
<developer>
<name>Moritz Eysholdt</name>
<email>moritz.eysholdt@typefox.io</email>
<organization>TypeFox</organization>
<organizationUrl>http://typefox.io</organizationUrl>
</developer>
<developer>
<name>Dennis Hübner</name>
<email>dennis.huebner@typefox.io</email>
<organization>TypeFox</organization>
<organizationUrl>http://typefox.io</organizationUrl>
</developer>
<developer>
<name>Jan Köhnlein</name>
<email>jan.koehnlein@typefox.io</email>
<organization>TypeFox</organization>
<organizationUrl>http://typefox.io</organizationUrl>
</developer>
<developer>
<name>Anton Kosyakov</name>
<email>anton.kosyakov@typefox.io</email>
<organization>TypeFox</organization>
<organizationUrl>http://typefox.io</organizationUrl>
</developer>
<developer>
<name>Tamas Miklossy</name>
<email>miklossy@itemis.de</email>
<organization>itemis</organization>
<organizationUrl>http://www.itemis.com</organizationUrl>
</developer>
<developer>
<name>Stefan Oehme</name>
</developer>
<developer>
<name>Holger Schill</name>
<email>holger.schill@itemis.de</email>
<organization>itemis</organization>
<organizationUrl>http://www.itemis.com</organizationUrl>
</developer>
<developer>
<name>Christian Schneider</name>
<email>christian.schneider@typefox.io</email>
<organization>TypeFox</organization>
<organizationUrl>http://typefox.io</organizationUrl>
</developer>
<developer>
<name>Miro Spönemann</name>
<email>miro.spoenemann@typefox.io</email>
<organization>TypeFox</organization>
<organizationUrl>http://typefox.io</organizationUrl>
</developer>
<developer>
<name>Karsten Thoms</name>
<email>karsten.thoms@itemis.de</email>
<organization>itemis</organization>
<organizationUrl>http://www.itemis.com</organizationUrl>
</developer>
<developer>
<name>Knut Wannheden</name>
</developer>
<developer>
<name>Sebastian Zarnekow</name>
<email>sebastian.zarnekow@gmail.com</email>
</developer>
<developer>
<name>Titouan Vervack</name>
<email>titouan.vervack@sigasi.com</email>
<organization>Sigasi</organization>
<organizationUrl>https://www.sigasi.com</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/eclipse-xtext/xtext.git</connection>
<developerConnection>scm:git:https://github.com/eclipse-xtext/xtext.git</developerConnection>
<url>git@github.com:eclipse-xtext/xtext.git</url>
</scm>
<properties>
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
<tycho-version>5.0.2</tycho-version>
<maven.compiler.release>21</maven.compiler.release>
<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
<build-helper-maven-plugin-version>3.3.0</build-helper-maven-plugin-version>
<maven-surefire-version>3.0.0</maven-surefire-version>
<!--
This assumes that the child project has the same version as the parent.
This is not the case only for some special cases like org.eclipse.xtext.logging
and org.eclipse.emf.mwe2.language.sdk.dummy: in those projects we can redefine
this property with ${project.parent.version}.
-->
<xtext-dev-bom-version>2.43.0</xtext-dev-bom-version>
<!--
This is the version of the currently released latest version of the xtend-maven-plugin that we
use during the Maven builds for processing Xtend files.
-->
<xtend-maven-plugin-version>2.43.0.M3</xtend-maven-plugin-version>
<root-dir>${basedir}/..</root-dir>
<target-platform-classifier>xtext-latest</target-platform-classifier>
<!-- timestamp format for replacing qualifier in OSGI MANIFEST/feature -->
<timestamp-pattern>'v'yyyyMMdd-HHmm</timestamp-pattern>
<!-- This is used to generate the Maven-version entry in
the packaged MANIFEST.MF of org.eclipse.xtext.util to
retrieve at run-time the current Xtext version -->
<mavenVersionManifestEntry>${project.version}</mavenVersionManifestEntry>
<tycho.scmUrl>scm:git:https://github.com/eclipse-xtext/xtext.git</tycho.scmUrl>
<!-- Required properties for releasing -->
<ssh-uri>genie.xtext@projects-storage.eclipse.org</ssh-uri>
<remote-dir>/home/data/httpd/download.eclipse.org/modeling/tmf/xtext</remote-dir>
<!-- this can be set in profiles with, e.g., releases, milestones, nightly, etc. -->
<remote-subdir>updates/nightly</remote-subdir>
<remote-zip-subdir>downloads/drops</remote-zip-subdir>
<!-- IMPORTANT: don't forget the final / required to make rsync work -->
<rsync-remote-source>${ssh-uri}:${remote-dir}/${remote-subdir}/</rsync-remote-source>
<rsync-remote-zip-source>${ssh-uri}:${remote-dir}/${remote-zip-subdir}/</rsync-remote-zip-source>
<rsync-local-source>${project.build.directory}/checkout/</rsync-local-source>
<rsync-local-zip-source>${project.build.directory}/zip/</rsync-local-zip-source>
<releases-directory>${rsync-local-source}</releases-directory>
<current-release-subdirectory>${qualifiedVersion}</current-release-subdirectory>
<current-release-directory>${releases-directory}/${current-release-subdirectory}</current-release-directory>
<releases-zip-directory>${rsync-local-zip-source}</releases-zip-directory>
<current-release-zip-subdirectory>${qualifiedVersion}</current-release-zip-subdirectory>
<current-release-zip-directory>${releases-zip-directory}/${current-release-zip-subdirectory}</current-release-zip-directory>
<!-- This can be used, for example, to pass the "-n" for dry run -->
<additional-rsync-commit-args></additional-rsync-commit-args>
<site.label>TMF Xtext Update Site</site.label>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>xtext-dev-bom</artifactId>
<version>${xtext-dev-bom-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<!-- Main snapshots are the default for Xtext dependencies
of other Git repositories. These snapshots are disabled
when using the "useJenkinsSnapshots" profile. -->
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<profiles>
<profile>
<!-- This is used only for updating versions in children projects
versions:set will scan automatically also these modules
even if this profile is not active.
Don't run a build with this profile explicitly -->
<id>update-versions</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<modules>
<module>org.eclipse.xtext.full.releng</module>
</modules>
</profile>
<profile>
<!-- Activate it when performing a milestone release, so that
Tycho won't complain about different versions in OSGI and POM -->
<id>release-milestone</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<configuration>
<strictVersions>false</strictVersions>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- Activate it when performing a final release, so that
Tycho won't complain about different versions in OSGI and POM -->
<id>release-release</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<configuration>
<strictVersions>false</strictVersions>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>replace-qualifier-with-timestamp</id>
<build>
<plugins>
<!-- meant to be called explicitly via the goal syntax:
build-helper:timestamp-property@timestamp -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>timestamp</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<phase>none</phase>
<configuration>
<name>computedTimestamp</name>
<pattern>${timestamp-pattern}</pattern>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>useJenkinsSnapshots</id>
<repositories>
<repository>
<id>lsp4j-from-jenkins</id>
<url>https://ci.eclipse.org/xtext/job/lsp4j/lastStableBuild/artifact/build/maven-repository</url>
</repository>
<!-- Disable main snapshots -->
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
</profile>
<profile>
<id>eclipse-sign</id>
<properties>
<!-- don't run tests while signing, to avoid failures of the shape:
"signer information does not match signer information of other classes in the same package" -->
<skipTests>true</skipTests>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<executions>
<execution>
<id>p2-metadata</id>
<goals>
<goal>p2-metadata</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<defaultP2Metadata>false</defaultP2Metadata>
</configuration>
</plugin>
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>cbi-release</id>
<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>sonatype-oss-release</id>
<properties>
<skipTests>true</skipTests>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<excludeArtifacts>
<excludeArtifact>
org.eclipse.emf.mwe2.language.sdk
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.core.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.doc
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.examples
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.ide
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.ide.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.ide.tests.data
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.lib.gwt.test
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.lib.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.m2e
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.sdk
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.standalone
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.performance.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.ide.swtbot.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.swtbot
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtend.tycho.tests.parent
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.activities
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.builder
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.builder.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.builder.standalone.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.buildship
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.common.types.edit
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.common.types.shared
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.common.types.shared.jdt38
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.common.types.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.common.types.eclipse.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.common.types.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.doc
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.docs
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.examples
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.eclipse.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.extras.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.full.releng
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ide.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.java.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.junit6.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.logging
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.m2e
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.maven.releng
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.nodeploy.parent
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.p2repository
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.purexbase.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.purexbase.eclipse.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.purexbase.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.redist
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.relengutil
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.runtime
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.sdk
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.testing.junit6.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.testing.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.testlanguages
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.testlanguages.ide
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.testlanguages.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.tycho.tests.parent
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.codemining
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.codetemplates
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.codetemplates.ide
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.codetemplates.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.codetemplates.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.ecore
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.shared
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.testing
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.ui.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.web.example.entities
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.web.example.entities.ide
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.web.example.jetty
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.web.example.statemachine
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.web.example.statemachine.ide
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.lib.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.testdata
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.testlanguages
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.testlanguages.ide
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.testlanguages.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.ui.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xbase.ui.testing
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xtext.bootstrap
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xtext.ui
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xtext.ui.examples
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xtext.ui.graph
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xtext.ui.graph.tests
</excludeArtifact>
<excludeArtifact>
org.eclipse.xtext.xtext.ui.tests
</excludeArtifact>
</excludeArtifacts>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadoc</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>strict-jdk-21</id>
<properties>
<!-- Toolchain selected by maven/tycho-compiler for compilation and maven/tycho-surefire as JRE of launched test-runtimes-->
<toolchain.jdk.version>[21,22)</toolchain.jdk.version>
</properties>
</profile>
<profile>
<id>strict-jdk-25</id>
<properties>
<!-- Toolchain selected by maven/tycho-compiler for compilation and maven/tycho-surefire as JRE of launched test-runtimes-->
<toolchain.jdk.version>[25,26)</toolchain.jdk.version>
</properties>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.4.1</version>
<executions>
<execution>
<?m2e ignore?>
<id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.9.6</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.14.2</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<useProjectSettings>true</useProjectSettings>
<excludeResources>
<excludeResource>**/*.xtend</excludeResource>
<excludeResource>**/*.xtendbin</excludeResource>
<excludeResource>**/*._trace</excludeResource>
</excludeResources>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<!--
This will let Tycho execute tests in "eclipse-plugin" projects
as JUnit tests (NOT as plug-in tests).
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-version}</version>
<!--
This is needed due to changes in Tycho 4.0.0
see https://github.com/eclipse-tycho/tycho/blob/master/RELEASE_NOTES.md#using-integrationplugin-tests-with-eclipse-plugin-packaging
-->
<executions>
<execution>
<id>execute-unit-tests</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<!--
The Surefire Plugin excludes nested classes by default: http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#excludes
By removing all default exclusions the nested classes get executed too, JUnit 4 and JUnit 6.
-->
<excludes>
<exclude />
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/target</directory>
</fileset>
<fileset>
<directory>${project.basedir}/xtend-gen</directory>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>.gitignore</exclude>
</excludes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<!-- extensions is crucial to avoid classloading problems
and API incompatibility when running in a Tycho build.
see https://github.com/eclipse-xtext/xtext/issues/2914 -->
<extensions>true</extensions>
<version>5.1.9</version>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.eclipse.xtext</groupId>
<artifactId>xtend-maven-plugin</artifactId>
<version>${xtend-maven-plugin-version}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>xtend-install-debug-info</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${basedir}/xtend-gen</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho-version}</version>
</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>
<!--
The Tycho Surefire Plugin excludes nested classes by default: https://tycho.eclipseprojects.io/doc/latest/tycho-surefire-plugin/test-mojo.html#excludes
By removing all default exclusions the nested classes get executed too, JUnit 4 and JUnit 6.
-->
<excludes>
<exclude />
</excludes>
<failIfNoTests>true</failIfNoTests>
<systemProperties>
<!-- https://github.com/eclipse-xtext/xtext/issues/3057 -->
<DetectVMInstallationsJob.disabled>true</DetectVMInstallationsJob.disabled>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-eclipse-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
<version>1.3.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<!-- MJAVADOC-620 – Maven Javadoc Plugin fails to resolve the dependencies
when used with Java 11 -->
<version>3.5.0</version>
<configuration>
<detectOfflineLinks>false</detectOfflineLinks>
<detectJavaApiLink>false</detectJavaApiLink>
<source>8</source>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<failOnError>false</failOnError>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>select-jdk-toolchain</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
<plugin>
<!-- Explicitly bind it to "prepare-package" (instead of the default "package")
and before tycho-source-plugin: for pure Maven projects this will generate
the JAR with sources, while tycho-source-plugin will no nothing; for
bundles, tycho-source-plugin will overwrite the JAR with sources generated
by maven-source-plugin. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>plugin-source</id>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
<execution>
<id>feature-source</id>
<goals>
<goal>feature-source</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!--
Required if the generated source-feature is used in an update-site or another feature.
It must be after tycho-source-plugin
-->
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<executions>
<execution>
<id>attach-p2-metadata</id>
<phase>package</phase>
<goals>
<goal>p2-metadata</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<configuration>
<target>
<file>
${project.basedir}/../${target-platform-classifier}.target
</file>
</target>
<environments>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>aarch64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<dependencies>
<!-- Use jgit to resolve source references for git: type SCM -->
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho-version}</version>
</dependency>
</dependencies>
<configuration>
<format>${timestamp-pattern}</format>
<!-- required to have valid consumable Maven artifacts
https://github.com/eclipse/tycho/issues/781 -->
<skipPomGeneration>true</skipPomGeneration>
<sourceReferences>
<!-- Generate the source reference in the MANIFEST.MF -->
<generate>true</generate>
</sourceReferences>
</configuration>
</plugin>
</plugins>
</build>
</project>