cdt/pom.xml

1066 lines
36 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2011, 2024 Wind River Systems, Inc. and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
-->
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.cdt</groupId>
<artifactId>cdt-parent</artifactId>
<version>11.7.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>CDT Parent</name>
<properties>
<required-maven-version>3.9.1</required-maven-version>
<tycho-version>4.0.6</tycho-version>
2024-02-21 11:55:19 +01:00
<cbi-plugins.version>1.4.3</cbi-plugins.version>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<cdt-site>https://ci.eclipse.org/cdt/job/cdt/job/main/lastSuccessfulBuild/artifact/releng/org.eclipse.cdt.repo/target/repository</cdt-site>
<simrel-site>https://download.eclipse.org/staging/2024-06/</simrel-site>
<repo-path>tools/cdt/builds/master/nightly</repo-path>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPath>${project.basedir}/../../target/jacoco.exec</sonar.jacoco.reportPath>
<sonar.java.source>11</sonar.java.source>
<target-platform>cdt</target-platform>
<!-- When changing this value, consider also bumping the version numbers of all the docs plug-ins (those with build-doc profile in pom.xml)
so that compare&replace does not replace the the newly built docs because the only change is in the filtered out index/* resources. -->
<help-docs-eclipserun-repo>https://download.eclipse.org/eclipse/updates/4.29/R-4.29-202309031000/</help-docs-eclipserun-repo>
<tycho.scmUrl>scm:git:https://github.com/eclipse-cdt/cdt</tycho.scmUrl>
<!-- Some old tests, like CDescriptorOldTests, fail due to reflection access. Therefore we add-opens to make that pass -->
<base.test.vmargs>-Xms256m -Xmx512m -ea --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED</base.test.vmargs>
<comparator.repo>https://download.eclipse.org/tools/cdt/builds/11.6/cdt-11.6.0-rc2/</comparator.repo>
<api-baseline.repo>https://download.eclipse.org/tools/cdt/builds/11.6/cdt-11.6.0-rc2/</api-baseline.repo>
<api-baseline.repo.simrel>https://download.eclipse.org/releases/2024-06/</api-baseline.repo.simrel>
<!-- these parameters are to control baseline replace and compare. On a local build you want
to avoid baseline replace and compare, especially if you have different versions of Java than
the baseline was built with. This is the default.
If you have the same version of Java as the build machine you can run baseline comparison and
replace. To do that run with the baseline-compare-and-replace profile.
-->
<compare-version-with-baselines.skip>true</compare-version-with-baselines.skip>
<replace-version-with-baselines.mode>disable</replace-version-with-baselines.mode>
<replace-version-with-baselines.replace>none</replace-version-with-baselines.replace>
<!--
Valid options: error, warning, and ignore
jgit.dirtyWorkingTree checking was added as of Tycho 0.19.0
see: https://bugs.eclipse.org/419030
-->
<jgit.dirtyWorkingTree-cdtDefault>error</jgit.dirtyWorkingTree-cdtDefault>
<!-- By default cdt-other.skip.tests will be false as none of
the skip-tests profiles will be activated. When one is
activated, this allows us to skip all other cdt tests not
explicitly skipped further down the pom hierarchy.
Recall that the command line will take precedence, so
-DskipTests will override anything else as normal maven
users expect. -->
<skipTests>${cdt-other.skip.tests}</skipTests>
<dsf.gdb.tests.gdbPath></dsf.gdb.tests.gdbPath>
<cdt.tests.dsf.gdb.versions></cdt.tests.dsf.gdb.versions>
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
<buildTimestamp>${maven.build.timestamp}</buildTimestamp>
<buildId>${buildTimestamp}</buildId>
</properties>
<licenses>
<license>
<name>Eclipse Public License 2.0</name>
<comments>
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
</comments>
</license>
</licenses>
<modules>
<!-- The test plug-ins need to be at the end -->
<module>build/org.eclipse.cdt.build.gcc.core</module>
<module>build/org.eclipse.cdt.build.gcc.ui</module>
<module>build/org.eclipse.cdt.make.core</module>
<module>build/org.eclipse.cdt.make.ui</module>
<module>build/org.eclipse.cdt.managedbuilder.core</module>
<module>build/org.eclipse.cdt.managedbuilder.ui</module>
<module>build/org.eclipse.cdt.managedbuilder.gnu.ui</module>
<module>build/org.eclipse.cdt.managedbuilder.headlessbuilderapp</module>
<module>build/org.eclipse.cdt.gnu.build-feature</module>
<module>build/org.eclipse.cdt.autotools.core</module>
<module>build/org.eclipse.cdt.autotools.docs</module>
<module>build/org.eclipse.cdt.autotools.ui</module>
<module>build/org.eclipse.cdt.autotools-feature</module>
<module>build/org.eclipse.cdt.meson.core</module>
<module>build/org.eclipse.cdt.meson.docs</module>
<module>build/org.eclipse.cdt.meson.ui</module>
<module>build/org.eclipse.cdt.meson.ui.editor</module>
<module>build/org.eclipse.cdt.meson-feature</module>
<module>build/org.eclipse.cdt.core.autotools.core</module>
<module>build/org.eclipse.cdt.core.autotools.ui</module>
<module>build/org.eclipse.cdt.core.autotools-feature</module>
<module>codan/org.eclipse.cdt.codan.core</module>
<module>codan/org.eclipse.cdt.codan.ui</module>
<module>codan/org.eclipse.cdt.codan.core.cxx</module>
<module>codan/org.eclipse.cdt.codan.ui.cxx</module>
<module>codan/org.eclipse.cdt.codan.checkers</module>
<module>codan/org.eclipse.cdt.codan.checkers.ui</module>
<module>core/org.eclipse.cdt.core.native</module>
<module>core/org.eclipse.cdt.core.linux</module>
<module>core/org.eclipse.cdt.core.linux.x86_64</module>
<module>core/org.eclipse.cdt.core.linux.aarch64</module>
<module>core/org.eclipse.cdt.core.linux.ppc64le</module>
<module>core/org.eclipse.cdt.core.win32</module>
<module>core/org.eclipse.cdt.core.win32.x86_64</module>
<module>core/org.eclipse.cdt.core.macosx</module>
<module>core/org.eclipse.cdt.core</module>
<module>core/org.eclipse.cdt.ui</module>
<module>cross/org.eclipse.cdt.build.crossgcc</module>
<module>cross/org.eclipse.cdt.build.crossgcc-feature</module>
<module>cross/org.eclipse.cdt.launch.remote</module>
<module>cross/org.eclipse.cdt.launch.remote-feature</module>
<module>cross/org.eclipse.cdt.launch.serial.core</module>
<module>cross/org.eclipse.cdt.launch.serial.ui</module>
<module>cross/org.eclipse.cdt.launch.serial-feature</module>
<module>debug/org.eclipse.cdt.debug.core</module>
<module>debug/org.eclipse.cdt.debug.ui</module>
<module>debug/org.eclipse.cdt.gdb</module>
<module>debug/org.eclipse.cdt.gdb.ui</module>
<module>debug/org.eclipse.cdt.gdb-feature</module>
<module>debug/org.eclipse.cdt.gnu.debug-feature</module>
<module>debug/org.eclipse.cdt.debug.application</module>
<module>debug/org.eclipse.cdt.debug.standalone-feature</module>
<module>debug/org.eclipse.cdt.debug.application.product</module>
<module>doc/org.eclipse.cdt.doc.user</module>
<module>doc/org.eclipse.cdt.doc.isv</module>
<module>dsf/org.eclipse.cdt.dsf</module>
<module>dsf/org.eclipse.cdt.dsf.ui</module>
<module>dsf/org.eclipse.cdt.examples.dsf</module>
<module>dsf/org.eclipse.cdt.examples.dsf.pda</module>
<module>dsf/org.eclipse.cdt.examples.dsf.pda.ui</module>
<module>dsf/org.eclipse.cdt.examples.dsf-feature</module>
<module>dsf-gdb/org.eclipse.cdt.dsf.gdb</module>
<module>dsf-gdb/org.eclipse.cdt.dsf.gdb.ui</module>
<module>dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui</module>
<module>dsf-gdb/org.eclipse.cdt.gnu.dsf-feature</module>
<module>dsf-gdb/org.eclipse.cdt.gnu.multicorevisualizer-feature</module>
<module>dsf-gdb/org.eclipse.cdt.examples.dsf.gdb</module>
<module>jtag/org.eclipse.cdt.debug.gdbjtag</module>
<module>jtag/org.eclipse.cdt.debug.gdbjtag.core</module>
<module>jtag/org.eclipse.cdt.debug.gdbjtag.ui</module>
<module>jtag/org.eclipse.cdt.debug.gdbjtag-feature</module>
<module>launch/org.eclipse.cdt.launch</module>
<module>launch/org.eclipse.cdt.docker.launcher</module>
<module>launch/org.eclipse.cdt.docker.launcher-feature</module>
<module>launch/org.eclipse.cdt.flatpak.launcher</module>
<module>launch/org.eclipse.cdt.flatpak.launcher-feature</module>
<module>llvm/org.eclipse.cdt.managedbuilder.llvm.ui</module>
<module>llvm/org.eclipse.cdt.managedbuilder.llvm-feature</module>
<module>llvm/org.eclipse.cdt.llvm.dsf.lldb.core</module>
<module>llvm/org.eclipse.cdt.llvm.dsf.lldb.ui</module>
<module>llvm/org.eclipse.cdt.llvm.dsf.lldb-feature</module>
<module>memory/org.eclipse.cdt.debug.core.memory</module>
<module>memory/org.eclipse.cdt.debug.ui.memory.memorybrowser</module>
<module>memory/org.eclipse.cdt.debug.ui.memory.floatingpoint</module>
<module>memory/org.eclipse.cdt.debug.ui.memory.search</module>
<module>memory/org.eclipse.cdt.debug.ui.memory.traditional</module>
<module>memory/org.eclipse.cdt.debug.ui.memory.transport</module>
<module>memory/org.eclipse.cdt.debug.ui.memory-feature</module>
<module>native/org.eclipse.cdt.native.serial</module>
<module>remote/org.eclipse.cdt.remote.core</module>
<module>testsrunner/org.eclipse.cdt.testsrunner</module>
<module>testsrunner/org.eclipse.cdt.testsrunner.boost</module>
<module>testsrunner/org.eclipse.cdt.testsrunner.gtest</module>
<module>testsrunner/org.eclipse.cdt.testsrunner.qttest</module>
<module>testsrunner/org.eclipse.cdt.testsrunner.tap</module>
<module>testsrunner/org.eclipse.cdt.testsrunner.feature</module>
<module>unittest/org.eclipse.cdt.unittest</module>
<module>unittest/org.eclipse.cdt.unittest.feature</module>
<module>util/org.eclipse.cdt.util</module>
<module>visualizer/org.eclipse.cdt.visualizer.core</module>
<module>visualizer/org.eclipse.cdt.visualizer.examples</module>
<module>visualizer/org.eclipse.cdt.visualizer.ui</module>
<module>visualizer/org.eclipse.cdt.visualizer-feature</module>
<module>windows/org.eclipse.cdt.msw.build</module>
<module>windows/org.eclipse.cdt.msw.build.tests</module>
<module>windows/org.eclipse.cdt.msw-feature</module>
<module>launchbar/org.eclipse.launchbar</module>
<module>launchbar/org.eclipse.launchbar.core</module>
<module>launchbar/org.eclipse.launchbar.core.tests</module>
<module>launchbar/org.eclipse.launchbar.remote</module>
<module>launchbar/org.eclipse.launchbar.remote.core</module>
<module>launchbar/org.eclipse.launchbar.remote.ui</module>
<module>launchbar/org.eclipse.launchbar.ui</module>
<module>launchbar/org.eclipse.launchbar.ui.controls</module>
<module>launchbar/org.eclipse.launchbar.ui.tests</module>
<module>tools.templates/org.eclipse.tools.templates.core</module>
<module>tools.templates/org.eclipse.tools.templates.freemarker</module>
<module>tools.templates/org.eclipse.tools.templates.ui</module>
<!-- Remote bundles -->
<module>remote/org.eclipse.remote.core</module>
<module>remote/org.eclipse.remote.jsch.core</module>
<module>remote/org.eclipse.remote.jsch.ui</module>
<module>remote/org.eclipse.remote.ui</module>
<!-- Proxy bundles -->
<module>remote/org.eclipse.remote.proxy.core</module>
<module>remote/org.eclipse.remote.proxy.ui</module>
<module>remote/org.eclipse.remote.proxy.protocol.core</module>
<module>remote/org.eclipse.remote.proxy.server.core</module>
<module>remote/org.eclipse.remote.proxy.server.product</module>
<module>remote/org.eclipse.remote.proxy.server.linux.x86_64</module>
<module>remote/org.eclipse.remote.proxy.server.linux.ppc64le</module>
<module>remote/org.eclipse.remote.proxy.server.macosx.x86_64</module>
<!-- Main feature -->
<module>remote/org.eclipse.remote-feature</module>
<!-- Proxy feature -->
<module>remote/org.eclipse.remote.proxy-feature</module>
<!-- Console Terminal feature -->
<module>remote/org.eclipse.remote.console</module>
<module>remote/org.eclipse.remote.console-feature</module>
<!-- Serial Port feature -->
<module>remote/org.eclipse.remote.serial.core</module>
<module>remote/org.eclipse.remote.serial.ui</module>
<module>remote/org.eclipse.remote.serial-feature</module>
<!-- Telnet feature -->
<module>remote/org.eclipse.remote.telnet.core</module>
<module>remote/org.eclipse.remote.telnet.ui</module>
<module>remote/org.eclipse.remote.telnet-feature</module>
<!-- Documentation -->
<module>remote/org.eclipse.remote.doc.isv</module>
<module>terminal</module>
<module>jsoncdb</module>
<module>cmake</module>
<module>releng/org.eclipse.cdt.native-feature</module>
<module>releng/org.eclipse.cdt</module>
<module>releng/org.eclipse.cdt.platform.branding</module>
<module>releng/org.eclipse.cdt.platform-feature</module>
<module>releng/org.eclipse.cdt-feature</module>
<module>releng/org.eclipse.cdt.sdk</module>
<module>releng/org.eclipse.cdt.sdk-feature</module>
<module>releng/org.eclipse.cdt.repo</module>
<module>build/org.eclipse.cdt.managedbuilder.core.tests</module>
<module>build/org.eclipse.cdt.managedbuilder.ui.tests</module>
<module>build/org.eclipse.cdt.make.core.tests</module>
<module>build/org.eclipse.cdt.make.ui.tests</module>
<module>build/org.eclipse.cdt.autotools.tests</module>
<module>build/org.eclipse.cdt.autotools.ui.tests</module>
<module>build/org.eclipse.cdt.meson.ui.tests</module>
<module>codan/org.eclipse.cdt.codan.core.tests</module>
<module>codan/org.eclipse.cdt.codan.checkers.ui.tests</module>
<module>core/org.eclipse.cdt.core.tests</module>
<module>core/org.eclipse.cdt.ui.tests</module>
<module>dsf-gdb/org.eclipse.cdt.dsf.gdb.tests</module>
<module>dsf-gdb/org.eclipse.cdt.tests.dsf.gdb</module>
<module>dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui.tests</module>
<module>jtag/org.eclipse.cdt.debug.gdbjtag.core.tests</module>
<module>memory/org.eclipse.cdt.debug.core.memory.tests</module>
<module>testsrunner/org.eclipse.cdt.testsrunner.tests</module>
<module>releng/org.eclipse.cdt.testing</module>
<module>releng/org.eclipse.cdt.testing-feature</module>
<module>releng/org.eclipse.cdt.testing.repo</module>
<!-- TODO: Investigate/Fix hanging before re-enable re-enabling
<module>debug/org.eclipse.cdt.debug.application.tests</module>
-->
</modules>
<pluginRepositories>
<pluginRepository>
<id>cbi</id>
<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
</pluginRepository>
</pluginRepositories>
<profiles>
<!-- Turn off doclint because javadocs are incomplete -->
<profile>
<id>disable-java8-doclint</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<doclint>none</doclint>
</properties>
</profile>
<!--
Individual p2 repos can be turned on and off to allow building CDT, or parts of CDT against
different target platforms easily.
For example, you can:
- test CDT against a pre-built CDT by using the cdtRepo profile.
- build the standalone rcp debugger against the latest simrel
mvn verify -DuseSimrelRepo -f debug/org.eclipse.cdt.debug.application.product
-->
<profile>
<id>cdtRepo</id>
<repositories>
<repository>
<id>cdt.repo</id>
<url>${cdt-site}</url>
<layout>p2</layout>
</repository>
</repositories>
</profile>
<!-- See comment above cdtRepo profile -->
<profile>
<id>simrelRepo</id>
<activation>
<property>
<name>useSimrelRepo</name>
</property>
</activation>
<repositories>
<repository>
<id>simrel.repo</id>
<url>${simrel-site}</url>
<layout>p2</layout>
</repository>
</repositories>
</profile>
<!-- See comment above cdtRepo profile -->
<profile>
<id>defaultCdtTarget</id>
<activation>
<property>
<name>!useSimrelRepo</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<target>
<file>${maven.multiModuleProjectDirectory}/releng/org.eclipse.cdt.target/cdt.target</file>
</target>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>macosx</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<base.ui.test.vmargs>${base.test.vmargs} -XstartOnFirstThread</base.ui.test.vmargs>
</properties>
</profile>
<profile>
<id>other-os</id>
<activation>
<os>
<family>!mac</family>
</os>
</activation>
<properties>
<base.ui.test.vmargs>${base.test.vmargs}</base.ui.test.vmargs>
</properties>
</profile>
releng: Make use of Tycho POM-less functionality This removes a lot of pom.xml from the source tree. This is using the "POM-less" Tycho functionality. See https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds One advantage of this is that you do not need to update the version in the pom.xml when you change it in the MANIFEST.MF because the pom.xml is automatically generated. This also reduces a lot of the duplicated information and pom.xml repetition. - Maven 3.3 and up is required. - Only eclipse-plugins and eclipse-features can be pom-less. Repositories, target and others still have pom.xml. - New parent poms are added because a parent is necessary directly one level above the plug-in/feature that will have its pom generated - Some test plug-ins had to be renamed .test -> .tests because it's required so that it detects that it's a test plug-in - Some suites were renamed so that they all use the same consistent name "AutomatedIntegrationSuite" - Profiles were added for the more common test configurations. They are activated by the presence of simple .properties files that only serve to activate the correct profile. The profiles: - One for UI tests (UI present and start in UI thread) - One for SWTBot tests (UI present and do not start in UI thread) Other test plug-ins that are too different are kept intact and still have a pom.xml - Fragments are kept intact since they all have different target platform configurations Change-Id: I9d73380eb766f547830c552daf08053a30b1845c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-06 22:22:23 +01:00
<!-- Automatic profile for features that shouldn't generate sources -->
<profile>
<id>feature-no-source</id>
<activation>
<file>
<exists>feature-no-source.properties</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
releng: Make use of Tycho POM-less functionality This removes a lot of pom.xml from the source tree. This is using the "POM-less" Tycho functionality. See https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds One advantage of this is that you do not need to update the version in the pom.xml when you change it in the MANIFEST.MF because the pom.xml is automatically generated. This also reduces a lot of the duplicated information and pom.xml repetition. - Maven 3.3 and up is required. - Only eclipse-plugins and eclipse-features can be pom-less. Repositories, target and others still have pom.xml. - New parent poms are added because a parent is necessary directly one level above the plug-in/feature that will have its pom generated - Some test plug-ins had to be renamed .test -> .tests because it's required so that it detects that it's a test plug-in - Some suites were renamed so that they all use the same consistent name "AutomatedIntegrationSuite" - Profiles were added for the more common test configurations. They are activated by the presence of simple .properties files that only serve to activate the correct profile. The profiles: - One for UI tests (UI present and start in UI thread) - One for SWTBot tests (UI present and do not start in UI thread) Other test plug-ins that are too different are kept intact and still have a pom.xml - Fragments are kept intact since they all have different target platform configurations Change-Id: I9d73380eb766f547830c552daf08053a30b1845c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-06 22:22:23 +01:00
<executions>
<execution>
<id>attach-feature-source</id>
releng: Make use of Tycho POM-less functionality This removes a lot of pom.xml from the source tree. This is using the "POM-less" Tycho functionality. See https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds One advantage of this is that you do not need to update the version in the pom.xml when you change it in the MANIFEST.MF because the pom.xml is automatically generated. This also reduces a lot of the duplicated information and pom.xml repetition. - Maven 3.3 and up is required. - Only eclipse-plugins and eclipse-features can be pom-less. Repositories, target and others still have pom.xml. - New parent poms are added because a parent is necessary directly one level above the plug-in/feature that will have its pom generated - Some test plug-ins had to be renamed .test -> .tests because it's required so that it detects that it's a test plug-in - Some suites were renamed so that they all use the same consistent name "AutomatedIntegrationSuite" - Profiles were added for the more common test configurations. They are activated by the presence of simple .properties files that only serve to activate the correct profile. The profiles: - One for UI tests (UI present and start in UI thread) - One for SWTBot tests (UI present and do not start in UI thread) Other test plug-ins that are too different are kept intact and still have a pom.xml - Fragments are kept intact since they all have different target platform configurations Change-Id: I9d73380eb766f547830c552daf08053a30b1845c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-06 22:22:23 +01:00
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Automatic profile to define the settings for UI test plugins -->
<profile>
<id>ui-test-plugin</id>
<activation>
<file>
<exists>ui-test-plugin.properties</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
<appArgLine>-pluginCustomization ${basedir}/../../releng/disable_intro_in_tests.ini</appArgLine>
<!-- using tags can cause all tests to be excluded, which is ok and should not fail the build -->
<failIfNoTests>false</failIfNoTests>
releng: Make use of Tycho POM-less functionality This removes a lot of pom.xml from the source tree. This is using the "POM-less" Tycho functionality. See https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds One advantage of this is that you do not need to update the version in the pom.xml when you change it in the MANIFEST.MF because the pom.xml is automatically generated. This also reduces a lot of the duplicated information and pom.xml repetition. - Maven 3.3 and up is required. - Only eclipse-plugins and eclipse-features can be pom-less. Repositories, target and others still have pom.xml. - New parent poms are added because a parent is necessary directly one level above the plug-in/feature that will have its pom generated - Some test plug-ins had to be renamed .test -> .tests because it's required so that it detects that it's a test plug-in - Some suites were renamed so that they all use the same consistent name "AutomatedIntegrationSuite" - Profiles were added for the more common test configurations. They are activated by the presence of simple .properties files that only serve to activate the correct profile. The profiles: - One for UI tests (UI present and start in UI thread) - One for SWTBot tests (UI present and do not start in UI thread) Other test plug-ins that are too different are kept intact and still have a pom.xml - Fragments are kept intact since they all have different target platform configurations Change-Id: I9d73380eb766f547830c552daf08053a30b1845c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-06 22:22:23 +01:00
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Automatic profile to define the settings for SWTBot test plugins -->
<profile>
<id>swtbot-test-plugin</id>
<activation>
<file>
<exists>swtbot-test-plugin.properties</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>false</useUIThread>
<argLine>${tycho.testArgLine} ${base.ui.test.vmargs}</argLine>
<appArgLine>-pluginCustomization ${basedir}/../../releng/disable_intro_in_tests.ini</appArgLine>
<!-- using tags can cause all tests to be excluded, which is ok and should not fail the build -->
<failIfNoTests>false</failIfNoTests>
releng: Make use of Tycho POM-less functionality This removes a lot of pom.xml from the source tree. This is using the "POM-less" Tycho functionality. See https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds One advantage of this is that you do not need to update the version in the pom.xml when you change it in the MANIFEST.MF because the pom.xml is automatically generated. This also reduces a lot of the duplicated information and pom.xml repetition. - Maven 3.3 and up is required. - Only eclipse-plugins and eclipse-features can be pom-less. Repositories, target and others still have pom.xml. - New parent poms are added because a parent is necessary directly one level above the plug-in/feature that will have its pom generated - Some test plug-ins had to be renamed .test -> .tests because it's required so that it detects that it's a test plug-in - Some suites were renamed so that they all use the same consistent name "AutomatedIntegrationSuite" - Profiles were added for the more common test configurations. They are activated by the presence of simple .properties files that only serve to activate the correct profile. The profiles: - One for UI tests (UI present and start in UI thread) - One for SWTBot tests (UI present and do not start in UI thread) Other test plug-ins that are too different are kept intact and still have a pom.xml - Fragments are kept intact since they all have different target platform configurations Change-Id: I9d73380eb766f547830c552daf08053a30b1845c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-06 22:22:23 +01:00
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>about-mappings</id>
<activation>
<file>
<exists>about.mappings</exists>
</file>
</activation>
<build>
<resources>
<resource>
<directory>.</directory>
<filtering>true</filtering>
<includes>
<include>about.mappings</include>
</includes>
</resource>
</resources>
</build>
</profile>
<profile>
<id>skip-all-tests</id>
<properties>
<cdt-ui.skip.tests>true</cdt-ui.skip.tests>
<dsf-gdb.skip.tests>true</dsf-gdb.skip.tests>
<cdt-other.skip.tests>true</cdt-other.skip.tests>
</properties>
</profile>
<profile>
<id>skip-tests-except-cdt-ui</id>
<properties>
<dsf-gdb.skip.tests>true</dsf-gdb.skip.tests>
<cdt-other.skip.tests>true</cdt-other.skip.tests>
</properties>
</profile>
<profile>
<id>skip-tests-except-dsf-gdb</id>
<properties>
<cdt-ui.skip.tests>true</cdt-ui.skip.tests>
<cdt-other.skip.tests>true</cdt-other.skip.tests>
</properties>
</profile>
<profile>
<id>skip-tests-except-cdt-other</id>
<properties>
<cdt-ui.skip.tests>true</cdt-ui.skip.tests>
<dsf-gdb.skip.tests>true</dsf-gdb.skip.tests>
</properties>
</profile>
<profile>
<id>baseline-compare-and-replace</id>
<properties>
<compare-version-with-baselines.skip>false</compare-version-with-baselines.skip>
<replace-version-with-baselines.mode>fail</replace-version-with-baselines.mode>
<replace-version-with-baselines.replace>all</replace-version-with-baselines.replace>
</properties>
</profile>
2023-08-16 21:22:28 +02:00
<profile>
<id>api-baseline-check</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-apitools-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<skipIfReplaced>false</skipIfReplaced>
<baselines>
<repository>
<url>${api-baseline.repo}</url>
</repository>
<repository>
2023-08-16 21:22:28 +02:00
<url>${api-baseline.repo.simrel}</url>
</repository>
</baselines>
</configuration>
<executions>
<execution>
<id>generate</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>production</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<includePackedArtifacts>true</includePackedArtifacts>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
<version>${cbi-plugins.version}</version>
<executions>
<execution>
<id>sign</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>p2-metadata</id>
<goals>
<goal>p2-metadata</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
<configuration>
<defaultP2Metadata>false</defaultP2Metadata>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<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>${required-maven-version}</version>
</requireMavenVersion>
<requireJavaVersion>
<version>21</version>
</requireJavaVersion>
</rules>
<fail>true</fail>
<failFast>true</failFast>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.10.0.2594</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<pomDependencies>consider</pomDependencies>
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>aarch64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>ppc64le</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>
<dependency-resolution>
<extraRequirements>
<requirement>
<type>eclipse-plugin</type>
<id>org.eclipse.ui.ide</id>
<versionRange>0.0.0</versionRange>
</requirement>
</extraRequirements>
</dependency-resolution>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<executions>
<execution>
<id>attach-source</id>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
<execution>
<id>attach-feature-source</id>
<phase>package</phase>
<goals>
<goal>feature-source</goal>
</goals>
<configuration>
<includeBinaryFeature>false</includeBinaryFeature>
<excludes>
<plugin id="org.eclipse.cdt.autotools.docs"/>
<plugin id="org.eclipse.cdt.meson.docs"/>
<plugin id="org.eclipse.cdt.core.linux.ppc64le"/>
<plugin id="org.eclipse.cdt.core.linux.x86_64"/>
<plugin id="org.eclipse.cdt.core.linux.aarch64"/>
<plugin id="org.eclipse.cdt.core.win32.x86_64"/>
<plugin id="org.eclipse.cdt.doc.user"/>
<plugin id="org.eclipse.cdt.debug.gdbjtag"/>
<plugin id="org.eclipse.cdt"/>
<plugin id="net.sourceforge.lpg.lpgjavaruntime"/>
<plugin id="org.eclipse.ant.optional.junit"/>
<plugin id="org.eclipse.cdt.testing"/>
<plugin id="org.eclipse.remote.proxy.server.linux.x86_64"/>
<plugin id="org.eclipse.remote.proxy.server.linux.ppc64le"/>
<plugin id="org.eclipse.remote.proxy.server.macosx.x86_64"/>
<plugin id="org.eclipse.remote.doc.isv"/>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<executions>
<execution>
<id>attached-p2-metadata</id>
<phase>package</phase>
<goals>
<goal>p2-metadata</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.11</version>
<executions>
<execution>
<id>pre-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<!-- Where to put jacoco coverage report -->
<destFile>${sonar.jacoco.reportPath}</destFile>
<includes>
<include>org.eclipse.cdt.*</include>
</includes>
<append>true</append>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-p2-extras-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution> <!-- Checks versions are properly bumped from one stream to the other -->
<id>compare-attached-artifacts-with-release</id>
<goals>
<goal>compare-version-with-baselines</goal>
</goals>
<configuration>
<skip>${compare-version-with-baselines.skip}</skip>
<baselines>
<baseline>${comparator.repo}</baseline> <!-- Previous release) -->
</baselines>
<comparator>zip</comparator>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- enable source bundle generation -->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<deriveHeaderFromProject>false</deriveHeaderFromProject>
<deriveHeaderFromSource>false</deriveHeaderFromSource>
<format>${qualifier.format}</format>
<timestampProvider>jgit</timestampProvider>
<jgit.ignore>
pom.xml
.polyglot.*
</jgit.ignore>
<jgit.dirtyWorkingTree>${jgit.dirtyWorkingTree-cdtDefault}</jgit.dirtyWorkingTree>
<sourceReferences>
<generate>true</generate>
</sourceReferences>
<additionalFileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<includes>
<include>about.mappings</include>
</includes>
</fileSet>
</additionalFileSets>
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho-version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<!-- disable default consumer pom. not needed here, and it shows a warning for each module -->
<id>default-update-consumer-pom</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
releng: Make use of Tycho POM-less functionality This removes a lot of pom.xml from the source tree. This is using the "POM-less" Tycho functionality. See https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds One advantage of this is that you do not need to update the version in the pom.xml when you change it in the MANIFEST.MF because the pom.xml is automatically generated. This also reduces a lot of the duplicated information and pom.xml repetition. - Maven 3.3 and up is required. - Only eclipse-plugins and eclipse-features can be pom-less. Repositories, target and others still have pom.xml. - New parent poms are added because a parent is necessary directly one level above the plug-in/feature that will have its pom generated - Some test plug-ins had to be renamed .test -> .tests because it's required so that it detects that it's a test plug-in - Some suites were renamed so that they all use the same consistent name "AutomatedIntegrationSuite" - Profiles were added for the more common test configurations. They are activated by the presence of simple .properties files that only serve to activate the correct profile. The profiles: - One for UI tests (UI present and start in UI thread) - One for SWTBot tests (UI present and do not start in UI thread) Other test plug-ins that are too different are kept intact and still have a pom.xml - Fragments are kept intact since they all have different target platform configurations Change-Id: I9d73380eb766f547830c552daf08053a30b1845c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-06 22:22:23 +01:00
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<!-- Default configuration, UI tests may have to override these -->
<useUIHarness>false</useUIHarness>
<useUIThread>false</useUIThread>
<dependencies>
<dependency>
<type>p2-installable-unit</type>
<artifactId>org.eclipse.platform.feature.group</artifactId>
</dependency>
</dependencies>
<product>org.eclipse.platform.ide</product>
<argLine>${tycho.testArgLine} ${base.test.vmargs}</argLine>
<appArgLine>-pluginCustomization ${basedir}/../../releng/disable_intro_in_tests.ini</appArgLine>
<!-- using tags can cause all tests to be excluded, which is ok and should not fail the build -->
<failIfNoTests>false</failIfNoTests>
releng: Make use of Tycho POM-less functionality This removes a lot of pom.xml from the source tree. This is using the "POM-less" Tycho functionality. See https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds One advantage of this is that you do not need to update the version in the pom.xml when you change it in the MANIFEST.MF because the pom.xml is automatically generated. This also reduces a lot of the duplicated information and pom.xml repetition. - Maven 3.3 and up is required. - Only eclipse-plugins and eclipse-features can be pom-less. Repositories, target and others still have pom.xml. - New parent poms are added because a parent is necessary directly one level above the plug-in/feature that will have its pom generated - Some test plug-ins had to be renamed .test -> .tests because it's required so that it detects that it's a test plug-in - Some suites were renamed so that they all use the same consistent name "AutomatedIntegrationSuite" - Profiles were added for the more common test configurations. They are activated by the presence of simple .properties files that only serve to activate the correct profile. The profiles: - One for UI tests (UI present and start in UI thread) - One for SWTBot tests (UI present and do not start in UI thread) Other test plug-ins that are too different are kept intact and still have a pom.xml - Fragments are kept intact since they all have different target platform configurations Change-Id: I9d73380eb766f547830c552daf08053a30b1845c Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-06 22:22:23 +01:00
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>baselinereplace-p2-metadata</id>
<goals>
<goal>p2-metadata</goal>
</goals>
<phase>verify</phase>
<configuration>
<baselineMode>${replace-version-with-baselines.mode}</baselineMode>
<baselineReplace>${replace-version-with-baselines.replace}</baselineReplace>
<baselineRepositories>
<repository>
<url>${comparator.repo}</url>
</repository>
</baselineRepositories>
</configuration>
</execution>
</executions>
<configuration>
<ignoredPatterns>
<pattern>META-INF/ECLIPSE_.RSA</pattern>
<pattern>META-INF/ECLIPSE_.SF</pattern>
<pattern>about.mappings</pattern>
<pattern>index/*</pattern>
</ignoredPatterns>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<encoding>ISO-8859-1</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.12.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.5</version>
<configuration>
<xmlOutput>true</xmlOutput>
<excludeFilterFile>releng/findbugs-exclude.xml</excludeFilterFile>
<failOnError>false</failOnError>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.21.2</version>
<configuration>
<inputEncoding>utf-8</inputEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>11</targetJdk>
<format>xml</format>
<failOnViolation>false</failOnViolation>
</configuration>
<executions>
<execution>
<goals>
<goal>cpd-check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-eclipserun-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<applicationArgs>
<arg>-application</arg>
<arg>org.eclipse.ant.core.antRunner</arg>
<arg>-buildfile</arg>
<arg>customBuildCallbacks.xml</arg>
<arg>build.index</arg>
</applicationArgs>
<dependencies>
<dependency>
<artifactId>org.apache.ant</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.help.base</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.ant.core</artifactId>
<type>eclipse-plugin</type>
</dependency>
</dependencies>
<!-- This needs to be explicitely set now, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=395281 -->
<repositories>
<repository>
<id>platform</id>
<layout>p2</layout>
<url>${help-docs-eclipserun-repo}</url>
</repository>
</repositories>
</configuration>
<executions>
<execution>
<goals>
<goal>eclipse-run</goal>
</goals>
<phase>compile</phase>
<configuration>
<executionEnvironment>JavaSE-21</executionEnvironment>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-gpg-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>pgpsigner</id>
<goals>
<goal>sign-p2-artifacts</goal>
</goals>
<configuration>
<keyname>4F23165B6AC51B15</keyname>
<skipIfJarsigned>false</skipIfJarsigned>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-document-bundle-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<javadocOptions>
<encoding>UTF-8</encoding>
</javadocOptions>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.5.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>