| <?xml version="1.0" encoding="UTF-8"?>
|
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --><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>
|
|
|
| <parent>
|
| <groupId>org.apache</groupId>
|
| <artifactId>apache</artifactId>
|
| <version>23</version>
|
| </parent>
|
|
|
| <groupId>org.apache.royale.compiler</groupId>
|
| <artifactId>royale-compiler-parent</artifactId>
|
| <version>0.9.7</version>
|
| <packaging>pom</packaging>
|
|
|
| <name>Apache Royale: Compiler: Parent</name>
|
| <description>The Apache Royale Project</description>
|
|
|
| <scm>
|
| <connection>scm:git:https://gitbox.apache.org/repos/asf/royale-compiler.git</connection>
|
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/royale-compiler.git</developerConnection>
|
| <url>https://github.com/apache/royale-compiler</url>
|
| <tag>org.apache.royale.compiler-0.9.7-rc4</tag>
|
| </scm>
|
|
|
| <properties>
|
| <java.version>1.8</java.version>
|
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
| <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding>
|
| <maven.version>3.3.1</maven.version>
|
|
|
| <compiler-build-tools.version>1.2.0</compiler-build-tools.version>
|
| <compiler-jburg-types.version>1.1.0</compiler-jburg-types.version>
|
|
|
| <flex.version>4.15.0</flex.version>
|
| <flash.version>20.0</flash.version>
|
| <air.version>20.0</air.version>
|
| <option.withSwf.enabled>false</option.withSwf.enabled>
|
|
|
| <release-profiles>apache-release,option-with-swf</release-profiles>
|
| <project.build.outputTimestamp>2020-05-05T14:12:16Z</project.build.outputTimestamp></properties>
|
|
|
| <!-- Only configure the site distribution as the rest is handled by the apache parent -->
|
| <distributionManagement>
|
| <site>
|
| <id>apache.website</id>
|
| <url>scm:git:https://gitbox.apache.org/repos/asf/royale-compiler.git</url>
|
| </site>
|
| </distributionManagement>
|
|
|
| <issueManagement>
|
| <system>GitHub</system>
|
| <url>https://github.com/apache/royale-compiler/issues</url>
|
| </issueManagement>
|
|
|
| <mailingLists>
|
| <mailingList>
|
| <name>Apache Royale User List</name>
|
| <subscribe>users-subscribe@royale.apache.org</subscribe>
|
| <unsubscribe>users-unsubscribe@royale.apache.org</unsubscribe>
|
| <post>users@royale.apache.org</post>
|
| <archive>http://mail-archives.apache.org/mod_mbox/royale-users/</archive>
|
| </mailingList>
|
| <mailingList>
|
| <name>Apache Royale Developer List</name>
|
| <subscribe>dev-subscribe@royale.apache.org</subscribe>
|
| <unsubscribe>dev-unsubscribe@royale.apache.org</unsubscribe>
|
| <post>dev@royale.apache.org</post>
|
| <archive>http://mail-archives.apache.org/mod_mbox/royale-dev/</archive>
|
| </mailingList>
|
| </mailingLists>
|
|
|
| <modules>
|
| <module>compiler-common</module>
|
| <module>compiler-externc</module>
|
| <module>compiler</module>
|
| <module>compiler-jx</module>
|
| <module>compiler-test-utils</module>
|
| <module>swfutils</module>
|
| <module>debugger</module>
|
| <module>flex-compiler-oem</module>
|
| <module>royale-ant-tasks</module>
|
| <module>royaleunit-ant-tasks</module>
|
| <!--<module>royale-maven-extension</module>-->
|
| <module>royale-maven-plugin</module>
|
| </modules>
|
|
|
| <build>
|
| <plugins>
|
| <!-- Execute some checks if the environment ist correctly configured -->
|
| <plugin>
|
| <groupId>org.codehaus.gmaven</groupId>
|
| <artifactId>groovy-maven-plugin</artifactId>
|
| <executions>
|
| <!-- Do some pre-build checks and report any findings to the user -->
|
| <execution>
|
| <id>prerequisite-check</id>
|
| <phase>validate</phase>
|
| <goals>
|
| <goal>execute</goal>
|
| </goals>
|
| <inherited>false</inherited>
|
| <configuration>
|
| <source>${project.basedir}/src/main/script/prerequisiteCheck.groovy</source>
|
| </configuration>
|
| </execution>
|
| </executions>
|
| </plugin>
|
|
|
| <!-- Check if all source files have the required apache license headers -->
|
| <plugin>
|
| <groupId>org.apache.rat</groupId>
|
| <artifactId>apache-rat-plugin</artifactId>
|
| <executions>
|
| <execution>
|
| <id>license-check</id>
|
| <phase>verify</phase>
|
| <goals>
|
| <goal>check</goal>
|
| </goals>
|
| </execution>
|
| </executions>
|
| <configuration>
|
| <consoleOutput>true</consoleOutput>
|
| <excludes>
|
| <exclude>LICENSE*</exclude>
|
| <exclude>NOTICE*</exclude>
|
| <exclude>README*</exclude>
|
| <exclude>RELEASE_NOTES*</exclude>
|
| <!-- Modules which are excluded from the build -->
|
| <!-- FlashBuilder settings. frameworks/fb.properties contains Alex' path entries and should be removed -->
|
| <exclude>fb.properties</exclude>
|
| <!-- FlashBuilder / Eclipse settings. If checked in, they should have apache headers -->
|
| <exclude>**/.settings/**</exclude>
|
| <exclude>**/*.classpath</exclude>
|
| <exclude>**/*.project</exclude>
|
| <!-- Ignore IntelliJ IDEA project files -->
|
| <exclude>**/*.iml</exclude>
|
| <exclude>**/.idea/**</exclude>
|
| <!-- Ignore VSCode/Java project files -->
|
| <exclude>**/.factorypath</exclude>
|
| <!-- |
| Exclude any eventually existing content of target directories. |
| Some times when building with a bigger maven reactor and then |
| with a smaller one, RAT will complain about stuff still in the |
| target directories. We don't want that. |
| -->
|
| <exclude>**/target/**</exclude>
|
| <exclude>**/release-dir/**</exclude>
|
| <!-- Stuff an Ant build might have left behind. -->
|
| <exclude>lib/**</exclude>
|
| <!-- |
| In case of an ANT based release the typedefs are included as a |
| subdirectory. We need to exclude this directory from the compiler checks |
| as the typedefs build will handle all content in that directory |
| -->
|
| <exclude>royale-typedefs/**</exclude>
|
| <!-- This file is used to get reproducible builds. See royale-maven-plugin/pom.xml |
| for more info. |
| -->
|
| <exclude>**/src/main/sisu/javax.inject.Named</exclude>
|
| </excludes>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>net.sourceforge.jburg</groupId>
|
| <artifactId>jburg-maven-plugin</artifactId>
|
| <dependencies>
|
| <dependency>
|
| <groupId>org.apache.royale.compiler</groupId>
|
| <artifactId>compiler-jburg-types</artifactId>
|
| <version>${compiler-jburg-types.version}</version>
|
| </dependency>
|
| </dependencies>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-release-plugin</artifactId>
|
| <configuration>
|
| <arguments combine.self="override">-P${release-profiles}</arguments>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-compiler-plugin</artifactId>
|
| <configuration>
|
| <source>${java.version}</source>
|
| <target>${java.version}</target>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.jacoco</groupId>
|
| <artifactId>jacoco-maven-plugin</artifactId>
|
| <executions>
|
| <!-- |
| Prepares the property pointing to the JaCoCo runtime agent which |
| is passed as VM argument when Maven the Surefire plugin is executed. |
| -->
|
| <execution>
|
| <id>pre-unit-test</id>
|
| <goals>
|
| <goal>prepare-agent</goal>
|
| </goals>
|
| <configuration>
|
| <!-- Sets the path to the file which contains the execution data. -->
|
| <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
|
| <!-- |
| Sets the name of the property containing the settings |
| for JaCoCo runtime agent. |
| -->
|
| <propertyName>surefireArgLine</propertyName>
|
| </configuration>
|
| </execution>
|
| <!-- |
| Prepares the property pointing to the JaCoCo runtime agent which |
| is passed as VM argument when Maven the Failsafe plugin is executed. |
| -->
|
| <execution>
|
| <id>pre-integration-test</id>
|
| <phase>pre-integration-test</phase>
|
| <goals>
|
| <goal>prepare-agent</goal>
|
| </goals>
|
| <configuration>
|
| <!-- Sets the path to the file which contains the execution data. -->
|
| <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
|
| <!-- |
| Sets the name of the property containing the settings |
| for JaCoCo runtime agent. |
| -->
|
| <propertyName>failsafeArgLine</propertyName>
|
| </configuration>
|
| </execution>
|
| </executions>
|
| </plugin>
|
|
|
| <!-- Make the surefire execute all unit-tests -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-surefire-plugin</artifactId>
|
| <configuration>
|
| <!-- the @-sign implies late-evaluation of the property -->
|
| <argLine>@{surefireArgLine}</argLine>
|
| <systemPropertyVariables>
|
| <buildType>Maven</buildType>
|
| <flexVersion>${flex.version}</flexVersion>
|
| <flashVersion>${flash.version}</flashVersion>
|
| <airVersion>${air.version}</airVersion>
|
| <mavenLocalRepoDir>${settings.localRepository}</mavenLocalRepoDir>
|
| <optionWithSwfEnabled>${option.withSwf.enabled}</optionWithSwfEnabled>
|
| </systemPropertyVariables>
|
| <!-- |
| Currently some tests need this to be disabled, |
| but actually this is a bug. For now I'll disable |
| them to avoid problems during the maven migration. |
| After this is finished, we should definitely fix |
| the tests so assertions can be enabled. |
| -->
|
| <enableAssertions>false</enableAssertions>
|
| </configuration>
|
| </plugin>
|
|
|
| <!-- Make the failsafe execute all integration-tests -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-failsafe-plugin</artifactId>
|
| <executions>
|
| <execution>
|
| <goals>
|
| <goal>integration-test</goal>
|
| <goal>verify</goal>
|
| </goals>
|
| </execution>
|
| </executions>
|
| <configuration>
|
| <!-- the @-sign implies late-evaluation of the property -->
|
| <argLine>@{failsafeArgLine}</argLine>
|
| <systemPropertyVariables>
|
| <buildType>Maven</buildType>
|
| <flexVersion>${flex.version}</flexVersion>
|
| <flashVersion>${flash.version}</flashVersion>
|
| <airVersion>${air.version}</airVersion>
|
| <mavenLocalRepoDir>${settings.localRepository}</mavenLocalRepoDir>
|
| <FLASHPLAYER_DEBUGGER>${env.FLASHPLAYER_DEBUGGER}</FLASHPLAYER_DEBUGGER>
|
| </systemPropertyVariables>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-dependency-plugin</artifactId>
|
| <executions>
|
| <execution>
|
| <id>analyze</id>
|
| <goals>
|
| <goal>analyze-only</goal>
|
| </goals>
|
| <configuration>
|
| <failOnWarning>false</failOnWarning>
|
| </configuration>
|
| </execution>
|
| </executions>
|
| </plugin>
|
|
|
| <!-- This plugin cleans up the jars for anything that might cause problems for reproducible builds -->
|
| <!-- |
| Even if the core maven plugins currently would support doing this without, we would be required |
| to set the line-separator and the Antlr3 plugin crashes if this is set to something non-default |
| -->
|
| <plugin>
|
| <groupId>io.github.zlika</groupId>
|
| <artifactId>reproducible-build-maven-plugin</artifactId>
|
| <version>0.11</version>
|
| <executions>
|
| <execution>
|
| <goals>
|
| <goal>strip-jar</goal>
|
| </goals>
|
| </execution>
|
| </executions>
|
| </plugin>
|
|
|
| <!-- Plugin to detect problems with JDK incompatibilities -->
|
| <plugin>
|
| <groupId>org.codehaus.mojo</groupId>
|
| <artifactId>animal-sniffer-maven-plugin</artifactId>
|
| <executions>
|
| <execution>
|
| <id>check-jdk-1.8</id>
|
| <phase>test</phase>
|
| <goals>
|
| <goal>check</goal>
|
| </goals>
|
| <configuration>
|
| <signature>
|
| <groupId>org.codehaus.mojo.signature</groupId>
|
| <artifactId>java18</artifactId>
|
| <version>1.0</version>
|
| </signature>
|
| </configuration>
|
| </execution>
|
| </executions>
|
| </plugin>
|
| </plugins>
|
|
|
| <pluginManagement>
|
| <plugins>
|
| <plugin>
|
| <groupId>org.apache.royale.compiler</groupId>
|
| <artifactId>compiler-build-tools</artifactId>
|
| <version>${compiler-build-tools.version}</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>com.googlecode.maven-download-plugin</groupId>
|
| <artifactId>download-maven-plugin</artifactId>
|
| <version>1.5.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.rat</groupId>
|
| <artifactId>apache-rat-plugin</artifactId>
|
| <version>0.13</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.codehaus.mojo</groupId>
|
| <artifactId>exec-maven-plugin</artifactId>
|
| <version>1.6.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-resources-plugin</artifactId>
|
| <version>3.1.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>net.sourceforge.jburg</groupId>
|
| <artifactId>jburg-maven-plugin</artifactId>
|
| <version>1.10.4</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>de.jflex</groupId>
|
| <artifactId>maven-jflex-plugin</artifactId>
|
| <version>1.4.3</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-antlr-plugin</artifactId>
|
| <version>2.0-beta-1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.antlr</groupId>
|
| <artifactId>antlr3-maven-plugin</artifactId>
|
| <version>3.5.2</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-compiler-plugin</artifactId>
|
| <version>3.8.1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.codehaus.gmaven</groupId>
|
| <artifactId>groovy-maven-plugin</artifactId>
|
| <version>2.1.1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-dependency-plugin</artifactId>
|
| <version>3.1.1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-deploy-plugin</artifactId>
|
| <version>2.8.2</version>
|
| <!-- If deploying fails due to repo or network problems, retry the given number of times (1-10) -->
|
| <configuration>
|
| <retryFailedDeploymentCount>6</retryFailedDeploymentCount>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.jacoco</groupId>
|
| <artifactId>jacoco-maven-plugin</artifactId>
|
| <version>0.8.5</version>
|
| </plugin>
|
|
|
| <!-- Update to a version able to do reproducible builds -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-jar-plugin</artifactId>
|
| <configuration>
|
| <archive>
|
| <manifest>
|
| <!-- <addClasspath>true</addClasspath> -->
|
| <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
| <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
| </manifest>
|
| </archive>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-archiver-plugin</artifactId>
|
| <version>3.0.1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-surefire-plugin</artifactId>
|
| <version>2.22.1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-failsafe-plugin</artifactId>
|
| <version>2.22.1</version>
|
| </plugin>
|
|
|
| <!-- Update to a version able to do reproducible builds -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-source-plugin</artifactId>
|
| <version>3.2.0</version>
|
| </plugin>
|
|
|
| <!-- Update to a version able to do reproducible builds -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-assembly-plugin</artifactId>
|
| <version>3.2.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.codehaus.mojo</groupId>
|
| <artifactId>animal-sniffer-maven-plugin</artifactId>
|
| <version>1.18</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-javadoc-plugin</artifactId>
|
| <version>3.1.1</version>
|
| <configuration>
|
| <tags>
|
| <tag>
|
| <name>goal</name>
|
| <placement>a</placement>
|
| <head>Goal:</head>
|
| </tag>
|
| <tag>
|
| <name>phase</name>
|
| <placement>a</placement>
|
| <head>Phase:</head>
|
| </tag>
|
| <tag>
|
| <name>threadSafe</name>
|
| <placement>a</placement>
|
| <head>Thread Safe:</head>
|
| </tag>
|
| <tag>
|
| <name>requiresDependencyResolution</name>
|
| <placement>a</placement>
|
| <head>Requires Dependency Resolution:</head>
|
| </tag>
|
| <tag>
|
| <name>requiresProject</name>
|
| <placement>a</placement>
|
| <head>Requires Project:</head>
|
| </tag>
|
| </tags>
|
| <!-- TODO: This should only be a measure of last resort -->
|
| <failOnError>false</failOnError>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-scm-plugin</artifactId>
|
| <version>1.10.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-site-plugin</artifactId>
|
| <version>3.8.2</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-scm-publish-plugin</artifactId>
|
| <version>3.0.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-release-plugin</artifactId>
|
| <version>3.0.0-M1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>com.theoryinpractise</groupId>
|
| <artifactId>reproducible-maven-plugin</artifactId>
|
| <version>1.0.1</version>
|
| </plugin>
|
| </plugins>
|
| </pluginManagement>
|
| </build>
|
|
|
| <profiles>
|
| <profile>
|
| <id>option-with-swf</id>
|
| <properties>
|
| <option.withSwf.enabled>true</option.withSwf.enabled>
|
| </properties>
|
| </profile>
|
|
|
| <!-- Profile for linux (Self-Enabling) -->
|
| <profile>
|
| <id>_os-unix</id>
|
| <activation>
|
| <os>
|
| <family>unix</family>
|
| </os>
|
| </activation>
|
| <properties>
|
| <os.type>linux</os.type>
|
| </properties>
|
| </profile>
|
|
|
| <!-- Profile for mac (Self-Enabling) -->
|
| <profile>
|
| <id>_os-mac</id>
|
| <activation>
|
| <os>
|
| <family>mac</family>
|
| </os>
|
| </activation>
|
| <properties>
|
| <os.type>mac</os.type>
|
| </properties>
|
| </profile>
|
|
|
| <!-- profile for windows (Self-Enabling) -->
|
| <profile>
|
| <id>_os-windows</id>
|
| <activation>
|
| <os>
|
| <family>windows</family>
|
| </os>
|
| </activation>
|
| <properties>
|
| <os.type>win</os.type>
|
| </properties>
|
| </profile>
|
|
|
| <profile>
|
| <!-- This profile is used to test against staged release artifacts. |
| Be sure to clear out artifacts in the local repository before |
| and after using -->
|
| <id>staged-releases</id>
|
| <pluginRepositories>
|
| <pluginRepository>
|
| <id>staged-releases</id>
|
| <url>https://repository.apache.org/content/repositories/orgapacheroyale-${maven.folder.number}</url>
|
| </pluginRepository>
|
| </pluginRepositories>
|
| </profile>
|
|
|
| <!-- |
| This profile enables the changes required to do releases on the Royale CI server. |
| It should not be used otherwise. |
| -->
|
| <profile>
|
| <id>royale-release</id>
|
| <properties>
|
| <!-- Ensure the royale-release plugin is enabled when running release:perform -->
|
| <release-profiles>apache-release,royale-release,option-with-swf</release-profiles>
|
| </properties>
|
|
|
| <!-- Redirect the deployment to a local directory -->
|
| <!-- Note: using the 'altReleaseDeploymentRepository' and alike were ignored in the release:perform phase -->
|
| <distributionManagement>
|
| <repository>
|
| <id>apache.releases.https</id>
|
| <name>Apache Release Distribution Repository</name>
|
| <!-- |
| 'maven.multiModuleProjectDirectory' is a property introduced with maven 3.3.1 ... |
| don't worry if your IDE is complaining. |
| Also this will be set to the 'target/checkout' directory the output will be in |
| 'target/local-release-dir'. |
| -->
|
| <url>file://${maven.multiModuleProjectDirectory}/../local-release-dir</url>
|
| </repository>
|
| </distributionManagement>
|
|
|
| <build>
|
| <plugins>
|
| <!-- Generate the effective poms for this build -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-help-plugin</artifactId>
|
| <executions>
|
| <execution>
|
| <id>generate-effective-pom</id>
|
| <phase>compile</phase>
|
| <goals>
|
| <goal>effective-pom</goal>
|
| </goals>
|
| <configuration>
|
| <output>${project.build.directory}/effective.pom</output>
|
| </configuration>
|
| </execution>
|
| </executions>
|
| </plugin>
|
| </plugins>
|
| <pluginManagement>
|
| <plugins>
|
| <!-- We require the release manager to manually login an sign using his credentials -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-gpg-plugin</artifactId>
|
| <configuration>
|
| <skip>true</skip>
|
| </configuration>
|
| </plugin>
|
| <!-- We require the release manager to login and push the changes using his credentials -->
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-release-plugin</artifactId>
|
| <configuration>
|
| <pushChanges>false</pushChanges>
|
| <providerImplementations>
|
| <git>jgit</git>
|
| </providerImplementations>
|
| </configuration>
|
| <dependencies>
|
| <dependency>
|
| <groupId>org.apache.maven.scm</groupId>
|
| <artifactId>maven-scm-provider-jgit</artifactId>
|
| <version>1.11.3-SNAPSHOT</version>
|
| </dependency>
|
| </dependencies>
|
| </plugin>
|
| </plugins>
|
| </pluginManagement>
|
| </build>
|
| </profile>
|
|
|
| <!-- Make the release-plugin use the new reproducible build plugin extension -->
|
| <profile>
|
| <id>apache-release</id>
|
| <build>
|
| <plugins>
|
| <plugin>
|
| <groupId>com.theoryinpractise</groupId>
|
| <artifactId>reproducible-maven-plugin</artifactId>
|
| </plugin>
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-release-plugin</artifactId>
|
| <configuration>
|
| <preparationGoals>clean com.theoryinpractise:reproducible-maven-plugin:apply install</preparationGoals>
|
| <completionGoals>com.theoryinpractise:reproducible-maven-plugin:clear</completionGoals>
|
| </configuration>
|
| </plugin>
|
| <!-- |
| Create MD5 and SHA512 checksum files for the release artifacts. |
| -->
|
| <plugin>
|
| <groupId>net.nicoulaj.maven.plugins</groupId>
|
| <artifactId>checksum-maven-plugin</artifactId>
|
| <version>1.8</version>
|
| <executions>
|
| <execution>
|
| <goals>
|
| <goal>files</goal>
|
| </goals>
|
| </execution>
|
| </executions>
|
| <configuration>
|
| <algorithms>
|
| <algorithm>SHA-512</algorithm>
|
| </algorithms>
|
| <fileSets>
|
| <fileSet>
|
| <directory>${project.build.directory}</directory>
|
| <includes>
|
| <include>royale-compiler-parent-${project.version}-source-release.zip</include>
|
| </includes>
|
| </fileSet>
|
| </fileSets>
|
| </configuration>
|
| </plugin>
|
| </plugins>
|
| </build>
|
| </profile>
|
|
|
| <!-- |
| This profile is intended to help when having problems with Maven. |
| When enabled, it automatically generates an "effective.pom" in the target directory. |
| This version is the fully expanded version where all inherited configuration is in |
| place and all variables are resolved and profile configuration is included. |
| -->
|
| <profile>
|
| <id>debug-pom</id>
|
| <build>
|
| <plugins>
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-help-plugin</artifactId>
|
| <executions>
|
| <execution>
|
| <id>generate-effective-pom</id>
|
| <phase>compile</phase>
|
| <goals>
|
| <goal>effective-pom</goal>
|
| </goals>
|
| <configuration>
|
| <output>${project.build.directory}/effective.pom</output>
|
| </configuration>
|
| </execution>
|
| </executions>
|
| </plugin>
|
| </plugins>
|
| </build>
|
| </profile>
|
| </profiles>
|
|
|
| </project>
|