<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.xtext</groupId>
	<artifactId>xtext-parent</artifactId>
	<version>2.35.0.M2</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@itemis.de</email>
			<organization>itemis</organization>
			<organizationUrl>http://www.itemis.com</organizationUrl>
		</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.git</connection>
		<developerConnection>scm:git:https://github.com/eclipse/xtext.git</developerConnection>
		<url>git@github.com:eclipse/xtext.git</url>
	</scm>

	<properties>
		<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
		<tycho-version>4.0.7</tycho-version>

		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
		<maven.compiler.release>11</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.35.0.M2</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.35.0.M1</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.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-release-jdk</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>${maven.compiler.release}</version>
								</jdk>
							</toolchains>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>strict-jdk-21</id>
			<activation>
				<jdk>[21,)</jdk>
			</activation>
			<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/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>
			<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>
									<version>21</version>
								</jdk>
							</toolchains>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>3.4.1</version>
					<executions>
						<execution>
							<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/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>
					</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>
