| <?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.11-SNAPSHOT</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 "with-examples" profile |
| - In order to assemble a distribution, activate the "with-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>HEAD</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.2.1</royale.build-tools.version> |
| <project.royale.compiler.version>0.9.11-SNAPSHOT</project.royale.compiler.version> |
| <royale.typedefs.version>0.9.11-SNAPSHOT</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>32.0</flash.version> |
| <air.version>32.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> |
| |
| <!-- Dont't open multiple connections to one service to upload multiple artifacts at the same time --> |
| <maven.wagon.httpconnectionManager.maxPerRoute>1</maven.wagon.httpconnectionManager.maxPerRoute> |
| <!-- Dont't open multiple connections in total to upload multiple artifacts at the same time --> |
| <maven.wagon.httpconnectionManager.maxTotal>1</maven.wagon.httpconnectionManager.maxTotal> |
| <!-- Change the retry handler to a version that supports retries --> |
| <maven.wagon.http.retryHandler.class>standard</maven.wagon.http.retryHandler.class> |
| <!-- Try at most 6 times to deploy every artifact --> |
| <maven.wagon.http.retryHandler.count>6</maven.wagon.http.retryHandler.count> |
| </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> |
| <extensions> |
| <extension> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-http</artifactId> |
| <version>3.4.0</version> |
| </extension> |
| </extensions> |
| |
| <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>${project.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>${project.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>io.github.cleydyr</groupId> |
| <artifactId>dart-sass-maven-plugin</artifactId> |
| <version>0.3.0</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> |
| <!-- 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 serc/assets like *.afdesign or other files that generate other project source files like SVGs --> |
| <exclude>src/assets/**</exclude> |
| |
| <!-- |
| Exclude these empty files, as they are empty and therefore don't contain anything |
| (They are needed for supporting the FlashBuilder product) |
| --> |
| <exclude>**/localfonts.ser</exclude> |
| <exclude>**/macfonts.ser</exclude> |
| <exclude>**/winfonts.ser</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> |
| |
| <!-- Disabled for now till I find out what the module is about --> |
| <!--profile> |
| <id>with-ui-testsuite</id> |
| <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>org.apache.royale.typedefs</groupId> |
| <artifactId>royale-typedefs-airglobal</artifactId> |
| <version>${royale.typedefs.version}</version> |
| <type>swc</type> |
| <scope>runtime</scope> |
| <classifier>swf</classifier> |
| </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>${project.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.4-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> |