| <?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>
|
| <relativePath />
|
| </parent>
|
|
|
| <groupId>org.apache.royale.framework</groupId>
|
| <artifactId>royale-framework-parent</artifactId>
|
| <version>0.9.7</version>
|
| <packaging>pom</packaging>
|
|
|
| <name>Apache Royale: Framework: Parent</name>
|
| <description>The Apache Royale Project</description>
|
|
|
| <!-- |
| This build builds only the framework libraries per default. |
| - In order to build the examples, activate the "build-examples" profile |
| - In order to assemble a distribution, activate the "build-distribution" profile. |
| -->
|
|
|
| <scm>
|
| <connection>scm:git:https://gitbox.apache.org/repos/asf/royale-asjs.git</connection>
|
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/royale-asjs.git</developerConnection>
|
| <url>https://github.com/apache/royale-asjs</url>
|
| <tag>org.apache.royale.framework-0.9.7-rc2</tag>
|
| </scm>
|
|
|
| <properties>
|
| <java.version>1.7</java.version>
|
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
| <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding>
|
| <maven.version>3.5.4</maven.version>
|
|
|
| <royale.build-tools.version>1.1.0</royale.build-tools.version>
|
| <royale.compiler.version>0.9.7</royale.compiler.version>
|
| <royale.typedefs.version>0.9.7</royale.typedefs.version>
|
|
|
| <royale.targets>JSRoyale</royale.targets>
|
| <royale.skipAS>true</royale.skipAS>
|
| <royale.debug>true</royale.debug>
|
| <repo.compiler.options />
|
|
|
| <flex.version>4.15.0</flex.version>
|
| <flash.version>20.0</flash.version>
|
| <air.version>20.0</air.version>
|
| <!-- For SWF versions see: http://www.adobe.com/devnet/articles/flashplayer-air-feature-list.html -->
|
| <swf.version>31</swf.version>
|
| <source.map>true</source.map>
|
|
|
| <!-- This parameter has to be provided from the outside -->
|
| <webdriver.gecko.driver />
|
| <selenium.version>3.4.0</selenium.version>
|
| <junit.version>4.12</junit.version>
|
|
|
| <release-profiles>apache-release,with-distribution,option-with-swf</release-profiles>
|
| <project.build.outputTimestamp>2020-04-24T09:49:56Z</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-asjs.git</url>
|
| </site>
|
| </distributionManagement>
|
|
|
| <issueManagement>
|
| <system>Jira</system>
|
| <url>https://github.com/apache/royale-asjs/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>frameworks</module>
|
| <module>archetypes</module>
|
| </modules>
|
|
|
| <build>
|
| <pluginManagement>
|
| <plugins>
|
| <plugin>
|
| <groupId>com.googlecode.maven-download-plugin</groupId>
|
| <artifactId>download-maven-plugin</artifactId>
|
| <version>1.5.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-war-plugin</artifactId>
|
| <version>3.2.3</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.codehaus.gmaven</groupId>
|
| <artifactId>groovy-maven-plugin</artifactId>
|
| <version>2.1.1</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.royale.compiler</groupId>
|
| <artifactId>royale-maven-plugin</artifactId>
|
| <version>${royale.compiler.version}</version>
|
| <extensions>true</extensions>
|
| <configuration>
|
| <targetPlayer>${flash.version}</targetPlayer>
|
| <debug>${royale.debug}</debug>
|
| <keepAs3Metadata>
|
| <name>Bindable</name>
|
| <name>Managed</name>
|
| <name>ChangeEvent</name>
|
| <name>NonCommittingChangeEvent</name>
|
| <name>Transient</name>
|
| <name>Mixin</name>
|
| </keepAs3Metadata>
|
| </configuration>
|
| <dependencies>
|
| <dependency>
|
| <groupId>org.apache.royale.compiler</groupId>
|
| <artifactId>compiler-jx</artifactId>
|
| <version>${royale.compiler.version}</version>
|
| </dependency>
|
| </dependencies>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.codehaus.mojo</groupId>
|
| <artifactId>versions-maven-plugin</artifactId>
|
| <version>2.7</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.codehaus.mojo</groupId>
|
| <artifactId>build-helper-maven-plugin</artifactId>
|
| <version>3.0.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>nl.geodienstencentrum.maven</groupId>
|
| <artifactId>sass-maven-plugin</artifactId>
|
| <version>3.7.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-scm-plugin</artifactId>
|
| <version>1.10.0</version>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-javadoc-plugin</artifactId>
|
| <version>3.2.0</version>
|
| <configuration>
|
| <skip>true</skip>
|
| </configuration>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>com.theoryinpractise</groupId>
|
| <artifactId>reproducible-maven-plugin</artifactId>
|
| <version>1.0.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.apache.maven.plugins</groupId>
|
| <artifactId>maven-release-plugin</artifactId>
|
| <version>3.0.0-M1</version>
|
| </plugin>
|
|
|
| </plugins>
|
| </pluginManagement>
|
|
|
| <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>
|
| <properties>
|
| <!-- |
| We have to pass this value in this way or we can't |
| access the value overridden by the commandline. |
| -->
|
| <geckoProperty>${webdriver.gecko.driver}</geckoProperty>
|
| </properties>
|
| <source>${project.basedir}/src/main/script/prerequisiteCheckFramework.groovy</source>
|
| </configuration>
|
| </execution>
|
| </executions>
|
| </plugin>
|
|
|
| <plugin>
|
| <groupId>org.apache.maven.plugins</groupId>
|
| <artifactId>maven-release-plugin</artifactId>
|
| <configuration>
|
| <arguments combine.self="override">-P${release-profiles}</arguments>
|
| </configuration>
|
| </plugin>
|
|
|
| <!-- Check if all source files have the required apache license headers -->
|
| <plugin>
|
| <groupId>org.apache.rat</groupId>
|
| <artifactId>apache-rat-plugin</artifactId>
|
| <version>0.13</version>
|
| <executions>
|
| <execution>
|
| <id>license-check</id>
|
| <phase>verify</phase>
|
| <goals>
|
| <goal>check</goal>
|
| </goals>
|
| </execution>
|
| </executions>
|
| <configuration>
|
| <!-- Make rat log the problematic files in the build output -->
|
| <consoleOutput>true</consoleOutput>
|
| <excludes>
|
| <!-- JSON files can't contain comments -->
|
| <exclude>**/*.json</exclude>
|
| <!-- This is appended to the LICENSE file for binary packages-->
|
| <exclude>LICENSE.bin</exclude>
|
| <!-- READMEs don't have headers -->
|
| <exclude>README.md</exclude>
|
| <exclude>npm/README.md</exclude>
|
| <!-- RELEASE_NOTES don't have headers either -->
|
| <exclude>**/RELEASE_NOTES.md</exclude>
|
|
|
| <!-- Stuff that needs to be removed -->
|
| <exclude>fxg2svg/**</exclude>
|
| <exclude>vf2js/**</exclude>
|
| <!-- Should probably also be removed -->
|
| <exclude>js/*jshint*</exclude>
|
| <!-- 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>
|
| <!-- Ignore IntelliJ IDEA project files -->
|
| <exclude>**/*.iml</exclude>
|
| <exclude>**/.idea/**</exclude>
|
| <!-- SASS cc.map generated files by sass-maven-plugin-->
|
| <exclude>**/*.css.map</exclude>
|
| <!-- swfobject.js is MIT License-->
|
| <exclude>**/swfobject.js</exclude>
|
| <!-- audio file doesn't have rat-able license-->
|
| <exclude>**/ping.mp3</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>
|
| <!-- |
| Same case for generated compilations of examples or libraries |
| done with IDEs that instead of target use bin. |
| -->
|
| <exclude>**/bin/**</exclude>
|
|
|
| <exclude>**/src/test/royale/out/**</exclude>
|
| <exclude>lib/external/*.html</exclude>
|
|
|
| <!-- Moonshine generate this files -->
|
| <exclude>obj/*.xml</exclude>
|
| <exclude>*.as3proj</exclude>
|
|
|
| <!-- Exclude node_modules -->
|
| <exclude>node_modules/**</exclude>
|
|
|
| <!-- Exclude Affinity Design -->
|
| <exclude>**/*.afdesign</exclude>
|
| </excludes>
|
| </configuration>
|
| </plugin>
|
| </plugins>
|
| </build>
|
|
|
| <profiles>
|
| <profile>
|
| <id>with-examples</id>
|
| <modules>
|
| <module>examples</module>
|
| </modules>
|
| </profile>
|
|
|
| <profile>
|
| <id>with-distribution</id>
|
| <modules>
|
| <module>distribution</module>
|
| </modules>
|
| </profile>
|
|
|
| <profile>
|
| <id>with-manualtests</id>
|
| <modules>
|
| <module>manualtests</module>
|
| </modules>
|
| </profile>
|
|
|
| <profile>
|
| <id>with-ui-testsuite</id>
|
| <!-- Disabled for now till I find out what the module is about -->
|
| <!--modules> |
| <module>testsuite</module> |
| </modules-->
|
| </profile>
|
|
|
| <profile>
|
| <id>option-with-swf</id>
|
| <properties>
|
| <royale.targets>SWF,JSRoyale</royale.targets>
|
| <royale.skipAS>false</royale.skipAS>
|
| </properties>
|
| <dependencies>
|
| <dependency>
|
| <groupId>com.adobe.air.framework</groupId>
|
| <artifactId>airglobal</artifactId>
|
| <version>${air.version}</version>
|
| <type>swc</type>
|
| <scope>runtime</scope>
|
| </dependency>
|
| </dependencies>
|
| </profile>
|
|
|
| <profile>
|
| <id>_reproducible-build</id>
|
| <properties>
|
| <repo.compiler.options>
|
| -metadata.date=${project.build.outputTimestamp};-metadata.dateFormat=yyyy-MM-dd'T'HH:mm:ss'Z'</repo.compiler.options>
|
| </properties>
|
| <activation>
|
| <property>
|
| <name>project.build.outputTimestamp</name>
|
| </property>
|
| </activation>
|
| <build>
|
| <plugins>
|
| <plugin>
|
| <groupId>org.apache.royale.compiler</groupId>
|
| <artifactId>royale-maven-plugin</artifactId>
|
| <version>${royale.compiler.version}</version>
|
| <extensions>true</extensions>
|
| <configuration>
|
| <additionalCompilerOptions>${repo.compiler.options}</additionalCompilerOptions>
|
| </configuration>
|
| </plugin>
|
| </plugins>
|
| </build>
|
| </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,with-distribution,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>
|
|
|
| <!-- |
| This profile is needed by the releasesteps.xml Ant script in order to know |
| where to deploy artifacts. |
| -->
|
| <profile>
|
| <id>_releasesteps-upload-release-to-staging</id>
|
| <activation>
|
| <activeByDefault>false</activeByDefault>
|
| </activation>
|
| <modules><!-- only run on top-level, not for each module -->
|
| </modules>
|
| <build>
|
| <plugins>
|
| <plugin>
|
| <groupId>org.codehaus.mojo</groupId>
|
| <artifactId>wagon-maven-plugin</artifactId>
|
| <version>2.0.0</version>
|
| <configuration>
|
| <includes>**</includes>
|
| <serverId>apache.releases.https</serverId>
|
| <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
|
| </configuration>
|
| </plugin>
|
| </plugins>
|
| </build>
|
| </profile>
|
|
|
| <!-- Make the release-plugin use the new reproducible build plugin extension -->
|
| <profile>
|
| <id>apache-release</id>
|
| <properties>
|
| <source.map>false</source.map>
|
| <royale.debug>false</royale.debug>
|
| </properties>
|
| <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-framework-parent-${project.version}-source-release.zip</include>
|
| </includes>
|
| </fileSet>
|
| </fileSets>
|
| </configuration>
|
| </plugin>
|
| </plugins>
|
| </build>
|
| </profile>
|
| </profiles>
|
|
|
| </project>
|