xtext-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.eclipse.xtext</groupId> <artifactId>xtext-parent</artifactId> <version>2.39.0.M1</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.39.0.M1</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>4.0.12</tycho-version> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <maven.compiler.release>17</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.39.0.M1</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.38.0</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> <!-- Sonatype snapshots are the default for Xtext dependencies of other Git repositories. Sonatype snapshots are disabled when using the "useJenkinsSnapshots" profile. --> <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 sonatype snapshots --> <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> <!-- For the moment we do without see https://github.com/xtext/xtext-monorepo/issues/14 <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </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-17</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-toolchains-plugin</artifactId> <executions> <execution> <goals> <goal>toolchain</goal> </goals> </execution> </executions> <configuration> <toolchains> <jdk> <!-- Toolchain selected by maven/tycho-compiler for compilation and maven/tycho-surefire as JRE of launched test-runtimes--> <version>17</version> </jdk> </toolchains> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>strict-jdk-21</id> <!-- Here we don't use the toolchain relying on the effective Java version used for the build --> <properties> <!-- Since the Xtend compiler generates Java code using new API introduced in Java 21, so we must increase the release level or the Java compilation would not find the new API when it compiles the Java code generated by Xtend. see https://github.com/eclipse-xtext/xtext/issues/2686#issuecomment-2038175179 --> <maven.compiler.release>21</maven.compiler.release> <!-- Force generatation of Java 21 bytecode --> <maven.compiler.target>21</maven.compiler.target> </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.1.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 5. --> <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.xtend</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 5. --> <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.extras</groupId> <artifactId>tycho-eclipserun-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.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.3</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-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> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> </snapshotRepository> <repository> <id>ossrh-s01</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> </project>