Modified: dev/royale/0.9.7/rc3/ApproveRoyale.xml ============================================================================== --- dev/royale/0.9.7/rc3/ApproveRoyale.xml (original) +++ dev/royale/0.9.7/rc3/ApproveRoyale.xml Sun May 3 19:01:04 2020 @@ -1,1131 +1,1119 @@ -<?xml version="1.0"?> -<!-- - - 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 name="ApproveApacheRoyale" default="main" basedir="."> - - - <!-- Required for OSX 10.6 / Snow Leopard Performance. --> - <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only --> - <!-- local.d32 is set/used in build.properties so this needs to be done first. --> - <condition property="local.d32" value="-d32"> - <and> - <os family="windows"/> - <equals arg1="${sun.arch.data.model}" arg2="64"/> - <equals arg1="${os.arch}" arg2="x86_64"/> - <equals arg1="${ant.java.version}" arg2="1.6"/> - </and> - </condition> - - <condition property="isMac" value="mac"> - <os family="mac" /> - </condition> - <condition property="isWindows" value="windows"> - <os family="windows" /> - </condition> - <condition property="isLinux" value="linux"> - <and> - <os family="unix" /> - <not> - <isset property="isMac" /> - </not> - </and> - </condition> - <condition property="package.suffix" value="zip"> - <os family="windows" /> - </condition> - <property name="package.suffix" value="tar.gz" /> - - <property name="src.rat.report" value="${basedir}/rat-report-src.txt"/> - <property name="bin.rat.report" value="${basedir}/rat-report-bin.txt"/> - <property name="doc.rat.report" value="${basedir}/rat-report-doc.txt"/> - <property name="apache.rat.jar" value="apache-rat-0.11.jar" /> - <property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.11.jar" /> - <property name="apache.rat.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat/0.11" /> - <property name="apache.rat.tasks.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat-tasks/0.11" /> - - <property file="${basedir}/approveroyale.properties"/> - - <property name="mac.text.display" value="cat" /> - <property name="win.text.display" value="type" /> - <property name="linux.text.display" value="cat" /> - <property environment="env"/> - - <property name="build.target" value="main" /> - - <condition property="mvn" value="mvn.cmd"> - <isset property="isWindows" /> - </condition> - <property name="mvn" value="mvn" /> - - <available file="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" - type="file" - property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" /> - <available file="${env.ProgramFiles(x86)}/Mozilla Firefox/firefox.exe" - type="file" - property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" /> - - <condition property="do.copy.downloads" > - <isset property="download.cache.dir" /> - </condition> - - <fail message="The ANT_HOME environment variable is not set." - unless="env.ANT_HOME"/> - - <target name="check-flash" if="use-flash"> - <available file="${env.AIR_HOME}" - type="dir" - property="AIR_HOME" value="${env.AIR_HOME}" /> - - <fail message="The AIR_HOME property is not set in environment or command-line." - unless="AIR_HOME"/> - - <available file="${env.PLAYERGLOBAL_HOME}" - type="dir" - property="PLAYERGLOBAL_HOME" value="${env.PLAYERGLOBAL_HOME}" /> - - <fail message="The PLAYERGLOBAL_HOME property is not set in environment or command-line." - unless="PLAYERGLOBAL_HOME"/> - - <available file="${env.FLASHPLAYER_DEBUGGER}" - type="file" - property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" /> - - <fail message="The FLASHPLAYER_DEBUGGER property is not set in environment or command-line." - unless="FLASHPLAYER_DEBUGGER"/> - </target> - - <available file="${env.ANT_HOME}/lib/${apache.rat.jar}" - type="file" - property="apache.rat.found"/> - <available file="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" - type="file" - property="apache.rat.tasks.found"/> - - <fail message="The release version is not set. Specify -Drelease.version=<release version (e.g. 3.1, 3.2, etc)>" - unless="release.version"/> - - <condition property="package.url.path" - value="http://apacheroyaleci2.westus2.cloudapp.azure.com:8080/job/royale-asjs/lastSuccessfulBuild/artifact/out"> - <not> - <isset property="rc" /> - </not> - </condition> - <condition property="bin.package.url.path" - value="${package.url.path}"> - <not> - <isset property="rc" /> - </not> - </condition> - <condition property="doc.package.url.path" - value="${package.url.path}"> - <not> - <isset property="rc" /> - </not> - </condition> - - <property name="package.url.path" value="https://dist.apache.org/repos/dist/dev/royale/${release.version}/rc${rc}" /> - <property name="package.url.name" value="apache-royale-${release.version}-src" /> - <property name="bin.package.url.path" value="${package.url.path}/binaries" /> - <property name="bin.package.url.name" value="apache-royale-${release.version}-bin-js-swf" /> - <property name="maven.package.url.name" value="apache-royale-${release.version}-maven-src" /> - <!-- - <property name="doc.package.url.path" value="${package.url.path}/doc" /> - <property name="doc.package.url.name" value="apache-royale-${release.version}-asdocs" /> - --> - - <condition property="zip.package"> - <equals arg1="zip" arg2="${package.suffix}" /> - </condition> - - <target name="display-text-mac" if="isMac"> - <echo>========================= Begin ${file} ==============================</echo> - <exec executable="${mac.text.display}" > - <arg value="${file}" /> - </exec> - <echo>========================= End ${file} ==============================</echo> - </target> - <target name="display-text-win" if="isWindows"> - <pathconvert targetos="windows" property="winfile"> - <path path="${file}" /> - </pathconvert> - <echo>========================= Begin ${winfile} ==============================</echo> - <exec executable="cmd.exe" > - <arg value="/c" /> - <arg value="${win.text.display}" /> - <arg value="${winfile}" /> - </exec> - <echo>========================= End ${winfile} ==============================</echo> - </target> - <target name="display-text-linux" if="isLinux"> - <echo>========================= Begin ${file} ==============================</echo> - <exec executable="${linux.text.display}" > - <arg value="${file}" /> - </exec> - <echo>========================= End ${file} ==============================</echo> - </target> - - <target name="install-rat" depends="install-rat.jar,install-rat.tasks.jar" /> - <target name="install-rat.jar" unless="apache.rat.found"> - <get src="${apache.rat.url}/${apache.rat.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.jar}" /> - </target> - <target name="install-rat.tasks.jar" unless="apache.rat.tasks.found"> - <get src="${apache.rat.tasks.url}/${apache.rat.tasks.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" /> - </target> - - <target name="rat-taskdef" description="Rat taskdef"> - <typedef resource="org/apache/rat/anttasks/antlib.xml" - uri="antlib:org.apache.rat.anttasks" - classpathref="anttask.classpath"/> - </target> - - <target name="main" depends="check-flash,write-out-jars-list,install-rat,download,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps"> - </target> - - <target name="main-no-download" depends="check-flash,write-out-jars-list,install-rat,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps"> - </target> - - <target name="copy-source-for-maven"> - <copy todir="${basedir}/${maven.package.url.name}"> - <fileset dir="${basedir}/${package.url.name}"> - <include name="**"/> - </fileset> - </copy> - </target> - - <target name="test" > - <echo>${rat.report}.bin.txt</echo> - <replaceregexp file="${rat.report}.bin.txt" match="..AL.*" replace="" byline="true"/> - </target> - - <target name="write-out-jars-list" > - <delete file="jars.txt" /> - <!-- this is a comma-delimited, no spaces, no-line-breaks list used to decide which jars - to skip in the rat-check of the binaries and which jars to examine before approval --> - <property name="jars-list" value="lib/compc.jar,lib/compiler.jar,lib/compiler-asc.jar,lib/compiler-common.jar,lib/compiler-compc.jar,lib/compiler-mxmlc.jar,lib/compiler-optimizer.jar,lib/compiler-swfdump.jar,lib/swfutils.jar,lib/fdb.jar,lib/flex-compiler-oem.jar,js/lib/asdoc.jar,js/lib/compiler-royaleTasks.jar,js/lib/compc.jar,js/lib/externc.jar,js/lib/jsc.jar,js/lib/mxmlc.jar"/> - <echo file="${basedir}/jars.txt" message="${jars-list}"/> - <echo file="${basedir}/jarexcludes.txt" message="${jars-list}"/> - <replaceregexp file="${basedir}/jarexcludes.txt" match="," flags="g" replace="${line.separator}" /> - </target> - - <target name="display-text" > - <antcall target="display-text-mac" /> - <antcall target="display-text-win" /> - <antcall target="display-text-linux" /> - </target> - - <target name="display-text-test" > - <antcall target="display-text" > - <param name="file" value="${basedir}/rat-report.txt" /> - </antcall> - </target> - - <target name="download" description="download the release package"> - <get src="${package.url.path}/${package.url.name}.${package.suffix}" - dest="${basedir}/${package.url.name}.${package.suffix}" /> - <get src="${package.url.path}/${package.url.name}.${package.suffix}.sha512" - dest="${basedir}/${package.url.name}.${package.suffix}.sha512" /> - <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}" - dest="${basedir}/${bin.package.url.name}.${package.suffix}" /> - <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.sha512" - dest="${basedir}/${bin.package.url.name}.${package.suffix}.sha512" /> - <!-- no doc packages in 0.8.0 - <get src="${doc.package.url.path}/${doc.package.url.name}.zip" - dest="${basedir}/${doc.package.url.name}.zip" /> - <get src="${doc.package.url.path}/${doc.package.url.name}.zip.sha512" - dest="${basedir}/${doc.package.url.name}.zip.sha512" />--> - <antcall target="get_asc" /> - </target> - - <target name="get_asc" if="rc" > - <get src="${package.url.path}/${package.url.name}.${package.suffix}.asc" - dest="${basedir}/${package.url.name}.${package.suffix}.asc" /> - <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.asc" - dest="${basedir}/${bin.package.url.name}.${package.suffix}.asc" /> - <!-- no doc packages in 0.8.0 - <get src="${doc.package.url.path}/${doc.package.url.name}.zip.asc" - dest="${basedir}/${doc.package.url.name}.zip.asc" />--> - </target> - - <target name="check-sigs" description="check sha512 and gpg sigs"> - <replace file="${basedir}/${package.url.name}.${package.suffix}.sha512" - token=" " /> - <checksum file="${basedir}/${package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="SHA-512.ok" fileext=".sha512"/> - <condition property="SHA-512Invalid"> - <not> - <equals arg1="${SHA-512.ok}" arg2="true" /> - </not> - </condition> - <fail message="SHA-512 checksum did not match" if="SHA-512Invalid" /> - <replace file="${basedir}/${bin.package.url.name}.${package.suffix}.sha512" - token=" " /> - <checksum file="${basedir}/${bin.package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="bin.SHA-512.ok" fileext=".sha512"/> - <condition property="BinarySHA-512Invalid"> - <not> - <equals arg1="${bin.SHA-512.ok}" arg2="true" /> - </not> - </condition> - <fail message="Binary Package SHA-512 checksum did not match" if="BinarySHA-512Invalid" /> - <!-- no doc packages in 0.8.0 - <replace file="${basedir}/${doc.package.url.name}.zip.sha512" - token=" " /> - <checksum file="${basedir}/${doc.package.url.name}.zip" algorithm="SHA-512" verifyproperty="doc.SHA-512.ok" fileext=".sha512"/> - <condition property="DocSHA-512Invalid"> - <not> - <equals arg1="${doc.SHA-512.ok}" arg2="true" /> - </not> - </condition> - <fail message="Doc Package SHA-512 checksum did not match" if="DocSHA-512Invalid" />--> - <antcall target="gpg_check" /> - </target> - - <target name="gpg_check" if="rc"> - <exec executable="gpg" failonerror="true"> - <arg value="--verify" /> - <arg value="${basedir}/${package.url.name}.${package.suffix}.asc" /> - <arg value="${basedir}/${package.url.name}.${package.suffix}" /> - </exec> - <exec executable="gpg" failonerror="true"> - <arg value="--verify" /> - <arg value="${basedir}/${bin.package.url.name}.${package.suffix}.asc" /> - <arg value="${basedir}/${bin.package.url.name}.${package.suffix}" /> - </exec> - <!-- no doc packages in 0.8.0 - <exec executable="gpg" failonerror="true"> - <arg value="- -verify" /> - <arg value="${basedir}/${doc.package.url.name}.zip.asc" /> - <arg value="${basedir}/${doc.package.url.name}.zip" /> - </exec>--> - </target> - - <target name="uncompress" depends="pre-clean, untar-file, unzip-file" /> - - <target name="pre-clean" description="remove old uncompressed package" > - <delete dir="${basedir}/${package.url.name}" failonerror="false" /> - <delete dir="${basedir}/${bin.package.url.name}" failonerror="false" /> - <!-- no doc packages in 0.8.0 - <delete dir="${basedir}/${doc.package.url.name}" failonerror="false" />--> - </target> - - <!-- untar does not restore file permissions so don't bother checking --> - <target name="untar-file" unless="zip.package" description="Untars zipFile"> - <untar src="${basedir}/${package.url.name}.${package.suffix}" - dest="${basedir}" compression="gzip"/> - <untar src="${basedir}/${bin.package.url.name}.${package.suffix}" - dest="${basedir}" compression="gzip"/> - <!-- no doc packages in 0.8.0 - <unzip src="${basedir}/${doc.package.url.name}.zip" - dest="${basedir}/${doc.package.url.name}"/>--> - </target> - - <target name="unzip-file" if="zip.package" description="Unzips zipFile"> - <unzip src="${basedir}/${package.url.name}.${package.suffix}" - dest="${basedir}/${package.url.name}"/> - <unzip src="${basedir}/${bin.package.url.name}.${package.suffix}" - dest="${basedir}/${bin.package.url.name}"/> - <!-- no doc packages in 0.8.0 - <unzip src="${basedir}/${doc.package.url.name}.${package.suffix}" - dest="${basedir}/${doc.package.url.name}"/>--> - </target> - - <target name="rat-check" > - - <echo message="Checking files at ${basedir}/${package.url.name}, report is ${src.rat.report}"/> - - <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" - reportFile="${src.rat.report}"> - <fileset dir="${basedir}/${package.url.name}"> - <exclude name="README.md"/> - <exclude name="**/RELEASE_NOTES.md"/> - <exclude name="**/README.md"/> - <exclude name="LICENSE.bin"/> - <exclude name="LICENSE.base"/> - <exclude name="royale-asjs/DEPENDENCIES"/> - <exclude name="royale-asjs/README.md"/> - <exclude name="royale-asjs/LICENSE.bin"/> - <exclude name="royale-asjs/LICENSE.base"/> - <!-- Start of binary files --> - <!-- exclude media (png, gif, jpg, mp3, flv) --> - <exclude name="**/*.png"/> - <exclude name="**/*.gif"/> - <exclude name="**/*.jpg"/> - <exclude name="**/*.mp3"/> - <exclude name="**/*.flv"/> - <!-- End of binary files --> - <!-- JSON doesn't really have a comment format --> - <exclude name="**/*.json"/> - <!-- JSHint properties file --> - <exclude name="frameworks/js/jshint.properties"/> - <exclude name="frameworks/js/.jshintrc"/> - <exclude name="**/META-INF/DEPENDENCIES" /> - <!-- ide files --> - <exclude name="**/.vscode/**"/> - <!-- royale-compiler --> - <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/> - <exclude name="**/debugger/META-INF/MANIFEST.MF"/> - <exclude name="**/*.patch"/> - <exclude name="royale-typedefs/DEPENDENCIES"/> - <exclude name="royale-compiler/LICENSE.bin"/> - <exclude name="royale-compiler/README_MAVEN.txt"/> - <exclude name="royale-compiler/NOTICE.base"/> - <exclude name="royale-compiler/NOTICE.fdb"/> - <exclude name="royale-compiler/NOTICE.oem"/> - <exclude name="royale-asjs/examples/mxroyale/tourdeflexmodules/src/swfobject.js"/> - </fileset> - </rat:report> - <antcall target="display-text" > - <param name="file" value="${src.rat.report}" /> - </antcall> - <input - message="Check that there are no unknown or unapproved licenses or archives. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="rat.license.ok"/> - <echo>filtering out AL files to make it easier to see binary files</echo> - <copy file="${src.rat.report}" tofile="${src.rat.report}.bin.txt" /> - <replaceregexp file="${src.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/> - <replaceregexp file="${src.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/> - <antcall target="display-text" > - <param name="file" value="${src.rat.report}.bin.txt" /> - </antcall> - <input - message="Check that there are no unexpected binaries. Is it ok?" - validargs="y,n" - defaultvalue="n" - addproperty="rat.binaries.ok"/> - </target> - - <target name="binary-rat" > - <echo message="Checking files at ${basedir}/${bin.package.url.name}, report is ${bin.rat.report}"/> - <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" - reportFile="${bin.rat.report}"> - <fileset dir="${basedir}/${bin.package.url.name}"> - <exclude name="README.md"/> - <exclude name="**/RELEASE_NOTES.md"/> - <exclude name="**/README.md"/> - <exclude name="LICENSE.bin"/> - <exclude name="LICENSE.base"/> - <exclude name="royale-asjs/DEPENDENCIES"/> - <exclude name="royale-asjs/README.md"/> - <exclude name="royale-asjs/LICENSE.bin"/> - <exclude name="royale-asjs/LICENSE.base"/> - <!-- Start of binary files --> - <!-- exclude media (png, gif, jpg, mp3, flv) --> - <exclude name="**/*.png"/> - <exclude name="**/*.gif"/> - <exclude name="**/*.jpg"/> - <exclude name="**/*.mp3"/> - <exclude name="**/*.flv"/> - <!-- End of binary files --> - <!-- JSON doesn't really have a comment format --> - <exclude name="**/*.json"/> - <!-- JSHint properties file --> - <exclude name="frameworks/js/jshint.properties"/> - <exclude name="frameworks/js/.jshintrc"/> - <exclude name="**/META-INF/DEPENDENCIES" /> - <!-- ide files --> - <exclude name="**/.vscode/**"/> - <!-- royale-compiler --> - <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/> - <exclude name="**/debugger/META-INF/MANIFEST.MF"/> - <exclude name="**/*.patch"/> - <exclude name="royale-typedefs/DEPENDENCIES"/> - <exclude name="royale-compiler/LICENSE.bin"/> - <exclude name="royale-compiler/README_MAVEN.txt"/> - <exclude name="royale-compiler/NOTICE.base"/> - <exclude name="royale-compiler/NOTICE.fdb"/> - <exclude name="royale-compiler/NOTICE.oem"/> - <!-- Google Closure Library --> - <exclude name="royale-asjs/js/lib/google/**"/> - <!-- compiled output --> - <exclude name="royale-asjs/frameworks/projects/*/target/**"/> - <exclude name="royale-asjs/frameworks/js/projects/*/target/**"/> - <!-- swcs --> - <exclude name="royale-asjs/frameworks/libs/Basic.swc"/> - <exclude name="royale-asjs/frameworks/libs/Binding.swc"/> - <exclude name="royale-asjs/frameworks/libs/Charts.swc"/> - <exclude name="royale-asjs/frameworks/libs/Collections.swc"/> - <exclude name="royale-asjs/frameworks/libs/Core.swc"/> - <exclude name="royale-asjs/frameworks/libs/CreateJS.swc"/> - <exclude name="royale-asjs/frameworks/libs/DragDrop.swc"/> - <exclude name="royale-asjs/frameworks/libs/Effects.swc"/> - <exclude name="royale-asjs/frameworks/libs/Express.swc"/> - <exclude name="royale-asjs/frameworks/libs/Flat.swc"/> - <exclude name="royale-asjs/frameworks/libs/FontAwesome.swc"/> - <exclude name="royale-asjs/frameworks/libs/Formatters.swc"/> - <exclude name="royale-asjs/frameworks/libs/GoogleMaps.swc"/> - <exclude name="royale-asjs/frameworks/libs/Graphics.swc"/> - <exclude name="royale-asjs/frameworks/libs/HTML.swc"/> - <exclude name="royale-asjs/frameworks/libs/HTML5.swc"/> - <exclude name="royale-asjs/frameworks/libs/Icons.swc"/> - <exclude name="royale-asjs/frameworks/libs/jQuery.swc"/> - <exclude name="royale-asjs/frameworks/libs/Crux.swc"/> - <exclude name="royale-asjs/frameworks/libs/Jewel.swc"/> - <exclude name="royale-asjs/frameworks/libs/JewelTheme.swc"/> - <exclude name="royale-asjs/frameworks/libs/Language.swc"/> - <exclude name="royale-asjs/frameworks/libs/MaterialDesignLite.swc"/> - <exclude name="royale-asjs/frameworks/libs/Mobile.swc"/> - <exclude name="royale-asjs/frameworks/libs/MXRoyale.swc"/> - <exclude name="royale-asjs/frameworks/libs/Network.swc"/> - <exclude name="royale-asjs/frameworks/libs/Reflection.swc"/> - <exclude name="royale-asjs/frameworks/libs/RoyaleSite.swc"/> - <exclude name="royale-asjs/frameworks/libs/RoyaleUnit.swc"/> - <exclude name="royale-asjs/frameworks/libs/RoyaleUnitUI.swc"/> - <exclude name="royale-asjs/frameworks/libs/SparkRoyale.swc"/> - <exclude name="royale-asjs/frameworks/libs/Storage.swc"/> - <exclude name="royale-asjs/frameworks/libs/TLF.swc"/> - <exclude name="royale-asjs/frameworks/libs/Text.swc"/> - <exclude name="royale-asjs/frameworks/libs/XML.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/AceJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/BasicJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/BindingJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/ChartsJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/CollectionsJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/CoreJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/CreateJSJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/DragDropJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/EffectsJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/ExpressJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/FlatJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/FontAwesomeJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/FormattersJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/GoogleMapsJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/GraphicsJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/HTMLJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/HTML5JS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/IconsJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/JewelJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/CruxJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/jQueryJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/LanguageJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/MaterialDesignLiteJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/MobileJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/MXRoyaleJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/NetworkJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/ReflectionJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/RoyaleSiteJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitUIJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/SparkRoyaleJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/StorageJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/TLFJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/TextJS.swc"/> - <exclude name="royale-asjs/frameworks/js/libs/XMLJS.swc"/> - <exclude name="royale-asjs/frameworks/themes/Halo/Halo.swc"/> - <exclude name="royale-asjs/frameworks/themes/JewelTheme/target/JewelTheme.swc"/> - - <exclude name="royale-asjs/frameworks/projects/Graphics/src/main/royale/org/apache/royale/graphics/utils/shaderClasses/*.pbj"/> - <exclude name="royale-asjs/frameworks/projects/Basic/src/test/royale/FlexUnitRoyaleApplication.swf"/> - <exclude name="royale-asjs/frameworks/projects/Core/src/test/royale/FlexUnitRoyaleApplication.swf"/> - - <exclude name="royale-asjs/frameworks/localfonts.ser"/> - <exclude name="royale-asjs/frameworks/macfonts.ser"/> - <exclude name="royale-asjs/frameworks/winfonts.ser"/> - - <exclude name="royale-asjs/js/libs/GCL.swc"/> - <exclude name="royale-asjs/js/libs/cordova.swc"/> - <exclude name="royale-asjs/js/libs/createjs.swc"/> - <exclude name="royale-asjs/js/libs/google_maps.swc"/> - <exclude name="royale-asjs/js/libs/jasmine.swc"/> - <exclude name="royale-asjs/js/libs/jquery.swc"/> - <exclude name="royale-asjs/js/libs/js.swc"/> - <exclude name="royale-asjs/js/libs/node.swc"/> - <exclude name="royale-asjs/js/libs/ace-1.2.3.swc"/> - - <exclude name="royale-asjs/js/lib/args4j.jar"/> - <exclude name="royale-asjs/js/lib/asdoc.jar"/> - <exclude name="royale-asjs/js/lib/commons-io.jar"/> - <exclude name="royale-asjs/js/lib/compc.jar"/> - <exclude name="royale-asjs/js/lib/compiler-royaleTasks.jar"/> - <exclude name="royale-asjs/js/lib/externc.jar"/> - <exclude name="royale-asjs/js/lib/flex-tool-api.jar"/> - <exclude name="royale-asjs/js/lib/guava.jar"/> - <exclude name="royale-asjs/js/lib/jsc.jar"/> - <exclude name="royale-asjs/js/lib/junit-4.10.jar"/> - <exclude name="royale-asjs/js/lib/mxmlc.jar"/> - <exclude name="royale-asjs/js/lib/dom4j-LICENSE.txt"/> - <exclude name="royale-asjs/lib/adt.jar"/> - <exclude name="royale-asjs/lib/compc.jar"/> - <exclude name="royale-asjs/lib/compiler-asc.jar"/> - <exclude name="royale-asjs/lib/compiler-common.jar"/> - <exclude name="royale-asjs/lib/compiler-compc.jar"/> - <exclude name="royale-asjs/lib/compiler-mxmlc.jar"/> - <exclude name="royale-asjs/lib/compiler-optimizer.jar"/> - <exclude name="royale-asjs/lib/compiler-swfdump.jar"/> - <exclude name="royale-asjs/lib/compiler.jar"/> - <exclude name="royale-asjs/lib/fdb.jar"/> - <exclude name="royale-asjs/lib/flex-compiler-oem.jar"/> - <exclude name="royale-asjs/lib/mxmlc.jar"/> - <exclude name="royale-asjs/lib/swfutils.jar"/> - <exclude name="royale-asjs/lib/external/antlr-LICENSE.html"/> - <exclude name="royale-asjs/lib/external/jflex-COPYRIGHT"/> - <exclude name="royale-asjs/lib/external/lzma-sdk-LICENSE.html"/> - <exclude name="royale-asjs/lib/external/antlr.jar"/> - <exclude name="royale-asjs/lib/external/commons-cli.jar"/> - <exclude name="royale-asjs/lib/external/commons-compress-1.10.jar"/> - <exclude name="royale-asjs/lib/external/commons-io.jar"/> - <exclude name="royale-asjs/lib/external/commons-lang-2.6.jar"/> - <exclude name="royale-asjs/lib/external/commons-lang3-3.4.jar"/> - <exclude name="royale-asjs/lib/external/flex-tool-api.jar"/> - <exclude name="royale-asjs/lib/external/guava.jar"/> - <exclude name="royale-asjs/lib/external/jburg.jar"/> - <exclude name="royale-asjs/lib/external/jflex.jar"/> - <exclude name="royale-asjs/lib/external/junit-4.10.jar"/> - <exclude name="royale-asjs/lib/external/lzma-sdk.jar"/> - - <exclude name="royale-asjs/templates/swfobject/swfobject.js"/> - <exclude name="royale-asjs/templates/swfobject/expressInstall.swf"/> - <exclude name="royale-asjs/examples/mxroyale/tourdeflexmodules/src/swfobject.js"/> - </fileset> - </rat:report> - - <antcall target="display-text" > - <param name="file" value="${bin.rat.report}" /> - </antcall> - <input - message="Check that there are no unknown or unapproved licenses or archives. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="rat.bin.license.ok"/> - <echo>filtering out AL files to make it easier to see binary files</echo> - <copy file="${bin.rat.report}" tofile="${bin.rat.report}.bin.txt" /> - <replaceregexp file="${bin.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/> - <replaceregexp file="${bin.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/> - <antcall target="display-text" > - <param name="file" value="${bin.rat.report}.bin.txt" /> - </antcall> - <input - message="Check that there are no unexpected binaries. Is it ok?" - validargs="y,n" - defaultvalue="n" - addproperty="rat.bin.binaries.ok"/> - </target> - - <target name="doc-rat" > - <!-- no doc packages in 0.8.0 - <echo message="Checking files at ${basedir}/${doc.package.url.name}, report is ${doc.rat.report}"/> - <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" - reportFile="${doc.rat.report}"> - <fileset dir="${basedir}/${doc.package.url.name}"> - - - exclude generated html - - - <exclude name="asdoc/index.html"/> - <exclude name="asdoc/index-*.html"/> - <exclude name="asdoc/google/maps/**/*.html"/> - <exclude name="asdoc/org/**/*.html"/> - <exclude name="asdoc/package*.html"/> - <exclude name="asdoc/all-classes.html"/> - <exclude name="asdoc/all-index*.html"/> - <exclude name="asdoc/class-*.html"/> - <exclude name="asdoc/title-bar.html"/> - <exclude name="asdoc/Namespace.html"/> - <exclude name="asdoc/QName.html"/> - - - exclude log - - - <exclude name="asdoc/validation_errors.log"/> - </fileset> - </rat:report> - - <antcall target="display-text" > - <param name="file" value="${doc.rat.report}" /> - </antcall> - <input - message="Check that there are no unknown or unapproved licenses or archives. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="rat.doc.license.ok"/> - <echo>filtering out AL files to make it easier to see binary files</echo> - <copy file="${doc.rat.report}" tofile="${doc.rat.report}.bin.txt" /> - <replaceregexp file="${doc.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/> - <replaceregexp file="${doc.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/> - <antcall target="display-text" > - <param name="file" value="${doc.rat.report}.bin.txt" /> - </antcall> - <input - message="Check that there are no unexpected binaries. Is it ok?" - validargs="y,n" - defaultvalue="n" - addproperty="rat.doc.binaries.ok"/> - --> - </target> - - <target name="check-notices" description="open each notice file for review, grep for a few things" > - <fail message="README not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/README" /> - </not> - </condition> - </fail> - <fail message="RELEASE_NOTES not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/RELEASE_NOTES" /> - </not> - </condition> - </fail> - <fail message="NOTICE not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/NOTICE" /> - </not> - </condition> - </fail> - <fail message="LICENSE not in package"> - <condition> - <not> - <available file="${basedir}/${package.url.name}/LICENSE" /> - </not> - </condition> - </fail> - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/README" /> - </antcall> - <input - message="Check the README for version numbers, spelling, grammar, accuracy. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="readme.ok"/> - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/RELEASE_NOTES" /> - </antcall> - <input - message="Check the RELEASE_NOTES for copyright years, spelling, grammar, accuracy. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="releasenotes.ok"/> - - - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/NOTICE" /> - </antcall> - <input - message="Check the NOTICE for required notices from third-parties. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="notice.ok"/> - - <antcall target="display-text" > - <param name="file" value="${basedir}/${package.url.name}/LICENSE" /> - </antcall> - <input - message="Check the LICENSE for the Apache License and third-party licenses. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="license.ok"/> - - <antcall target="display-text" > - <param name="file" value="${basedir}/${bin.package.url.name}/NOTICE" /> - </antcall> - <input - message="Check the binary package NOTICE for required notices from third-parties. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="bin.notice.ok"/> - - <antcall target="display-text" > - <param name="file" value="${basedir}/${bin.package.url.name}/LICENSE" /> - </antcall> - <input - message="Check the binary package LICENSE for the Apache License and third-party licenses. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="bin.license.ok"/> - - <!-- no doc packages in 0.8.0 - <antcall target="display-text" > - <param name="file" value="${basedir}/${doc.package.url.name}/asdoc/NOTICE" /> - </antcall> - <input - message="Check the doc package NOTICE for required notices from third-parties. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="doc.notice.ok"/> - - <antcall target="display-text" > - <param name="file" value="${basedir}/${doc.package.url.name}/asdoc/LICENSE" /> - </antcall> - <input - message="Check the doc package LICENSE for the Apache License and third-party licenses. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="doc.license.ok"/>--> - </target> - - <target name="ask.build"> - <input - message="The final step is to run the build and any tests the build script runs. This can take several minutes. Press y to start the build." - validargs="y" - defaultvalue="y" /> - </target> - - <target name="build" depends="check-flash,ask.build,ask-font,get.dependencies,copy.downloads"> - <property name="no.lint" value="true" /> - <ant dir="${basedir}/${package.url.name}/royale-asjs" target="all" /> - <ant dir="${basedir}/${package.url.name}/royale-asjs" target="examples" /> - <antcall target="build_maven" /> - </target> - - <target name="build_maven"> - <condition property="compiler_mvn_profiles" value="test-using-swf,main" - else="main"> - <isset property="env.AIR_HOME" /> - </condition> - <condition property="asjs_mvn_profiles" value="generate-swcs-for-swf,generate-swf,main" - else="main"> - <isset property="env.AIR_HOME" /> - </condition> - <condition property="asjs_mvn_defines" value="-Dgenerate.swf.swcs=true" - else="-Ddummy=true"> - <isset property="env.AIR_HOME" /> - </condition> - <echo>Path is ${env.Path}</echo> - <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-compiler" failonerror="true" > - <arg value="-P" /> - <arg value="-main,utils" /> - <arg value="clean" /> - <arg value="install" /> - </exec> - <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-compiler" failonerror="true" inputstring="Yes"> - <arg value="clean" /> - <arg value="-P" /> - <arg value="${compiler_mvn_profiles}" /> - <arg value="install" /> - </exec> - <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-typedefs" failonerror="true" > - <arg value="clean" /> - <arg value="install" /> - </exec> - <exec executable="${mvn}" dir="${basedir}/${maven.package.url.name}/royale-asjs" failonerror="true" inputstring="Yes"> - <arg value="${asjs_mvn_defines}" /> - <arg value="clean" /> - <arg value="-P" /> - <arg value="${asjs_mvn_profiles}" /> - <arg value="install" /> - </exec> - </target> - - <target name="copy.downloads" if="${do.copy.downloads}" description="instead of actually downloading all of the dependencies, you can save lots of time by just copying from some other folder in some other SDK."> - <echo>Copying downloads</echo> - <copy todir="${basedir}/${package.url.name}/in" > - <fileset dir="${download.cache.dir}" /> - </copy> - </target> - - <!-- Prompt before downloading. --> - <target name="ask-font" unless="font.donot.ask" - description="Prompt the user before downloading Flat Fonts"> - - <property name="font.prompt.text" - value="Apache Royale includes an optional component set that - ${line.separator}uses fonts from designmodo.com. - ${line.separator}The font files are subject to and governed by the - ${line.separator}Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license: - ${line.separator}http://creativecommons.org/licenses/by-nc-nd/3.0/ - ${line.separator}This license is not compatible with the Apache v2 license. - ${line.separator}Do you want to install the designmodo fonts?"/> - <input - message="${font.prompt.text}" - validargs="y,n" - defaultvalue="n" - addproperty="input.font.download"/> - <condition property="do.flat.install"> - <equals arg1="y" arg2="${input.font.download}"/> - </condition> - <!-- Only ask once per ant run. --> - <property name="flat.donot.ask" value="set"/> - </target> - - <!--<target name="get.dependencies" depends="set.compiler.flags,get.compiler.if.needed,get.sdk.if.needed,get.flexunit.if.needed" />--> - <target name="get.dependencies" /> - <!-- - <target name="set.compiler.flags" > - <condition property="compiler.nightly"> - <and> - <not> - <isset property="ROYALE_COMPILER_REPO" /> - </not> - <not> - <isset property="rc" /> - </not> - </and> - </condition> - <condition property="compiler.rc"> - <and> - <not> - <isset property="ROYALE_COMPILER_REPO" /> - </not> - <isset property="rc" /> - </and> - </condition> - </target> - <target name="get.compiler.if.needed" depends="get.compiler.nightly,get.compiler.rc" unless="ROYALE_COMPILER_REPO" /> - <target name="get.compiler.nightly" if="compiler.nightly"> - <property name="kit.jx.prefix" value="apache.royale-compilerjx-${release.version}"/> - <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/> - <get src="http://apacheroyaleci2.westus2.cloudapp.azure.com:8080/job/royale-compiler%20release%20branch/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip" - dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/> - <get src="http://apacheroyaleci2.westus2.cloudapp.azure.com:8080/job/royale-compiler%20release%20branch/lastSuccessfulBuild/artifact/out/${binary.jx.kit}.zip.sha512" - dest="${basedir}/${binary.jx.kit}.zip.sha512" verbose="true" skipexisting="true"/> - <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="SHA-512" verifyproperty="compiler.SHA-512.ok" fileext=".sha512"/> - <condition property="CompilerSHA-512Invalid"> - <not> - <equals arg1="${compiler.SHA-512.ok}" arg2="true" /> - </not> - </condition> - <fail message="SHA-512 checksum did not match" if="CompilerSHA-512Invalid" /> - <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/compiler" /> - <ant dir="${basedir}/compiler/compiler/src/main/resources" antfile="downloads.xml" /> - <property name="ROYALE_COMPILER_REPO" value="${basedir}/compiler" /> - <ant dir="${basedir}/compiler/compiler-jx" antfile="${basedir}/compiler/compiler-jx/src/main/resources/downloads.xml"/> - </target> - <target name="get.compiler.rc" if="compiler.rc"> - <property name="kit.jx.prefix" value="apache.royale-compilerjx-${release.version}"/> - <property name="binary.jx.kit" value="${kit.jx.prefix}-bin"/> - <get src="https://dist.apache.org/repos/dist/dev/royale/compiler/${release.version}/rc1/binaries/${binary.jx.kit}.zip" - dest="${basedir}/${binary.jx.kit}.zip" verbose="true" skipexisting="true"/> - <get src="https://dist.apache.org/repos/dist/dev/royale/compiler/${release.version}/rc1/binaries/${binary.jx.kit}.zip.sha512" - dest="${basedir}/${binary.jx.kit}.zip.sha512" verbose="true" skipexisting="true"/> - <checksum file="${basedir}/${binary.jx.kit}.zip" algorithm="SHA-512" verifyproperty="compiler.SHA-512.ok" fileext=".sha512"/> - <condition property="CompilerSHA-512Invalid"> - <not> - <equals arg1="${compiler.SHA-512.ok}" arg2="true" /> - </not> - </condition> - <fail message="SHA-512 checksum did not match" if="CompilerSHA-512Invalid" /> - <unzip src="${basedir}/${binary.jx.kit}.zip" dest="${basedir}/compiler" /> - <ant dir="${basedir}/compiler/compiler/src/main/resources" antfile="downloads.xml" /> - <property name="ROYALE_COMPILER_REPO" value="${basedir}/compiler" /> - <ant dir="${basedir}/compiler/compiler-jx" antfile="${basedir}/compiler/compiler-jx/src/main/resources/downloads.xml"/> - </target> - <target name="get.flexunit.if.needed" unless="FLEXUNIT_HOME" > - <property name="binary.flexunit.kit" value="apache.royale-flexunit-4.2.0-4.12.0-bin"/> - <get src="https://archive.apache.org/dist/royale/flexunit/4.2.0/binaries/${binary.flexunit.kit}.zip" - dest="${basedir}/${binary.flexunit.kit}.zip" verbose="true" skipexisting="true"/> - <get src="https://archive.apache.org/dist/royale/flexunit/4.2.0/binaries/${binary.flexunit.kit}.zip.sha512" - dest="${basedir}/${binary.flexunit.kit}.zip.sha512" verbose="true" skipexisting="true"/> - <checksum file="${basedir}/${binary.flexunit.kit}.zip" algorithm="SHA-512" verifyproperty="flexunit.SHA-512.ok" fileext=".sha512"/> - <condition property="FlexUnitSHA-512Invalid"> - <not> - <equals arg1="${flexunit.SHA-512.ok}" arg2="true" /> - </not> - </condition> - <fail message="SHA-512 checksum did not match" if="FlexUnitSHA-512Invalid" /> - <unzip src="${basedir}/${binary.flexunit.kit}.zip" dest="${basedir}/flexunit" /> - <property name="FLEXUNIT_HOME" value="${basedir}/flexunit" /> - </target> - <target name="get.sdk.if.needed" depends="get.sdk" unless="FLEX_SDK_HOME" /> - <target name="get.sdk"> - <property name="kit.sdk.prefix" value="apache.royale-sdk-4.15.0"/> - <property name="binary.sdk.kit" value="${kit.sdk.prefix}-bin"/> - <get src="https://archive.apache.org/dist/royale/4.15.0/binaries/${binary.sdk.kit}.zip" - dest="${basedir}/${binary.sdk.kit}.zip" verbose="true" skipexisting="true"/> - <get src="https://archive.apache.org/dist/royale/4.15.0/binaries/${binary.sdk.kit}.zip.sha512" - dest="${basedir}/${binary.sdk.kit}.zip.sha512" verbose="true" skipexisting="true"/> - <checksum file="${basedir}/${binary.sdk.kit}.zip" algorithm="SHA-512" verifyproperty="sdk.SHA-512.ok" fileext=".sha512"/> - <condition property="SDKSHA-512Invalid"> - <not> - <equals arg1="${sdk.SHA-512.ok}" arg2="true" /> - </not> - </condition> - <fail message="SHA-512 checksum did not match" if="SDKSHA-512Invalid" /> - <unzip src="${basedir}/${binary.sdk.kit}.zip" dest="${basedir}/sdk" /> - <ant dir="${basedir}/sdk/frameworks" antfile="downloads.xml" /> - <property name="FLEX_SDK_HOME" value="${basedir}/sdk" /> - </target> - --> - - <!-- how to do tar and sort on Windows? --> - <target name="examine-jars" if="isMac"> - <!-- comma delimited list, no spaces, not one file per line --> - <copy file="jars.txt" tofile="loop.txt" /> - <ant antfile="ApproveRoyale.xml" target="loopOnce" inheritAll="false" /> - </target> - <target name="loopOnce" > - <!-- make a copy of the list so we can munge it to - get the first item in the list --> - <delete file="loop1.txt" /> - <copy file="loop.txt" tofile="loop1.txt" /> - <loadfile srcFile="loop.txt" property="checkiflast" /> - <condition property="islast" value="true"> - <not> - <contains string="${checkiflast}" substring="," /> - </not> - </condition> - <antcall target="notlast" /> - <antcall target="lastone" /> - </target> - <target name="notlast" unless="islast"> - <loadfile srcFile="loop1.txt" property="echoFile" /> - <replaceregexp file="loop1.txt" match="^(.*),(.*)" replace="\2" /> - <loadfile srcFile="loop1.txt" property="thisFile" /> - <antcall target="jar-check" /> - <replaceregexp file="loop.txt" match="^(.*),(.*)" replace="\1" /> - <ant antfile="ApproveRoyale.xml" target="loopOnce" inheritAll="false"/> - </target> - <target name="lastone" if="islast"> - <loadfile srcFile="loop1.txt" property="thisFile" /> - <antcall target="jar-check" /> - <delete file="loop.txt" /> - <delete file="loop1.txt" /> - </target> - - <target name="jar-check" > - <delete dir="${basedir}/jar" failonerror="false" /> - <mkdir dir="${basedir}/jar" /> - <unjar src="${basedir}/${bin.package.url.name}/royale-asjs/${thisFile}" dest="${basedir}/jar" /> - <exec executable="tar" output="${basedir}/jarclasses.txt"> - <arg value="tf" /> - <arg value="${basedir}/${bin.package.url.name}//royale-asjs/${thisFile}" /> - </exec> - <replaceregexp file="${basedir}/jarclasses.txt" match="(.*)/(.*)" replace="\1" flags="m" byline="true"/> - <exec executable="sort" output="${basedir}/jarpaths.txt"> - <arg value="-u" /> - <arg value="${basedir}/jarclasses.txt" /> - </exec> - <antcall target="display-text" > - <param name="file" value="${basedir}/jarpaths.txt" /> - </antcall> - <input - message="Above is the list of folders in this ${thisFile}.
Folder names can sometimes indicate presence of third-party content that needs to be in LICENSE and/or NOTICE files.
Press the Enter key to see the LICENSE for this jar."/> - - <fail message="LICENSE not in ${basedir}/${bin.package.url.name}/royale-asjs/${thisFile}"> - <condition> - <not> - <available file="${basedir}/jar/META-INF/LICENSE" /> - </not> - </condition> - </fail> - <fail message="NOTICE not in ${basedir}/${bin.package.url.name}/royale-asjs/${thisFile}"> - <condition> - <not> - <available file="${basedir}/jar/META-INF/NOTICE" /> - </not> - </condition> - </fail> - <antcall target="display-text" > - <param name="file" value="${basedir}/jar/META-INF/LICENSE" /> - </antcall> - <input - message="Check the LICENSE for the Apache License and third-party licenses. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="jar.license.ok"/> - <fail message="LICENSE for ${basedir}/${bin.package.url.name}/royale-asjs/${thisFile} not correct"> - <condition> - <not> - <equals arg1="${jar.license.ok}" arg2="y" /> - </not> - </condition> - </fail> - <antcall target="display-text" > - <param name="file" value="${basedir}/jar/META-INF/NOTICE" /> - </antcall> - <input - message="Check the NOTICE for required notices from third-parties. Is it ok?" - validargs="y,n" - defaultvalue="y" - addproperty="jar.notice.ok"/> - <fail message="NOTICE for ${basedir}/${bin.package.url.name}/royale-asjs/${thisFile} not correct"> - <condition> - <not> - <equals arg1="${jar.notice.ok}" arg2="y" /> - </not> - </condition> - </fail> - - </target> - - <target name="approve" > - <condition property="vote" value="+1"> - <and> - <equals arg1="${rat.license.ok}" arg2="y" /> - <equals arg1="${rat.binaries.ok}" arg2="y" /> - <equals arg1="${rat.bin.license.ok}" arg2="y" /> - <equals arg1="${rat.bin.binaries.ok}" arg2="y" /> - <!-- no doc packages in 0.8.0 - <equals arg1="${rat.doc.license.ok}" arg2="y" /> - <equals arg1="${rat.doc.binaries.ok}" arg2="y" />--> - <equals arg1="${readme.ok}" arg2="y" /> - <equals arg1="${releasenotes.ok}" arg2="y" /> - <equals arg1="${notice.ok}" arg2="y" /> - <equals arg1="${license.ok}" arg2="y" /> - <equals arg1="${bin.notice.ok}" arg2="y" /> - <equals arg1="${bin.license.ok}" arg2="y" /> - <!-- no doc packages in 0.8.0 - <equals arg1="${doc.notice.ok}" arg2="y" /> - <equals arg1="${doc.license.ok}" arg2="y" />--> - </and> - </condition> - <property name="vote" value="-1" /> - <!-- no doc packages in 0.8.0 - <echo> -${vote} -Package ${package.url.path}/${package.url.name}.${package.suffix} -Java ${ant.java.version} -OS: ${os.name} ${os.arch} ${os.version} -Source kit signatures match: y -Source kit builds: y -README is ok: ${readme.ok} -RELEASE_NOTES is ok: ${releasenotes.ok} -NOTICE is ok: ${notice.ok} -LICENSE is ok: ${license.ok} -No unapproved licenses or archives: ${rat.license.ok} -No unapproved binaries: ${rat.binaries.ok} - -Package ${bin.package.url.path}/${bin.package.url.name}.${package.suffix} -Binary kit signatures match: y -NOTICE is ok: ${bin.notice.ok} -LICENSE is ok: ${bin.license.ok} -No unapproved licenses or archives in binary package: ${rat.bin.license.ok} -No unapproved binaries in binary package: ${rat.bin.binaries.ok} - -Package ${doc.package.url.path}/${doc.package.url.name}.zip -Doc kit signatures match: y -NOTICE is ok: ${doc.notice.ok} -LICENSE is ok: ${doc.license.ok} -No unapproved licenses or archives in doc package: ${rat.doc.license.ok} -No unapproved binaries in doc package: ${rat.doc.binaries.ok} - </echo>--> - <echo> -${vote} -Package ${package.url.path}/${package.url.name}.${package.suffix} -Java ${ant.java.version} -OS: ${os.name} ${os.arch} ${os.version} -Source kit signatures match: y -Source kit builds: y -README is ok: ${readme.ok} -RELEASE_NOTES is ok: ${releasenotes.ok} -NOTICE is ok: ${notice.ok} -LICENSE is ok: ${license.ok} -No unapproved licenses or archives: ${rat.license.ok} -No unapproved binaries: ${rat.binaries.ok} - -Package ${bin.package.url.path}/${bin.package.url.name}.${package.suffix} -Binary kit signatures match: y -NOTICE is ok: ${bin.notice.ok} -LICENSE is ok: ${bin.license.ok} -No unapproved licenses or archives in binary package: ${rat.bin.license.ok} -No unapproved binaries in binary package: ${rat.bin.binaries.ok} - </echo> - <fail> - <condition> - <equals arg1="-1" arg2="${vote}"/> - </condition> - </fail> - </target> -</project> +<?xml version="1.0"?> +<!-- + + 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 name="ApproveApacheRoyale" default="main" basedir="."> + + + <!-- Required for OSX 10.6 / Snow Leopard Performance. --> + <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only --> + <!-- local.d32 is set/used in build.properties so this needs to be done first. --> + <condition property="local.d32" value="-d32"> + <and> + <os family="windows"/> + <equals arg1="${sun.arch.data.model}" arg2="64"/> + <equals arg1="${os.arch}" arg2="x86_64"/> + <equals arg1="${ant.java.version}" arg2="1.6"/> + </and> + </condition> + + <condition property="isMac" value="mac"> + <os family="mac" /> + </condition> + <condition property="isWindows" value="windows"> + <os family="windows" /> + </condition> + <condition property="isLinux" value="linux"> + <and> + <os family="unix" /> + <not> + <isset property="isMac" /> + </not> + </and> + </condition> + <condition property="package.suffix" value="zip"> + <os family="windows" /> + </condition> + <property name="package.suffix" value="tar.gz" /> + + <property name="src.rat.report" value="${basedir}/rat-report-src.txt"/> + <property name="bin.rat.report" value="${basedir}/rat-report-bin.txt"/> + <property name="doc.rat.report" value="${basedir}/rat-report-doc.txt"/> + <property name="apache.rat.jar" value="apache-rat-0.11.jar" /> + <property name="apache.rat.tasks.jar" value="apache-rat-tasks-0.11.jar" /> + <property name="apache.rat.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat/0.11" /> + <property name="apache.rat.tasks.url" value="https://search.maven.org/remotecontent?filepath=org/apache/rat/apache-rat-tasks/0.11" /> + + <property file="${basedir}/approveroyale.properties"/> + + <property name="mac.text.display" value="cat" /> + <property name="win.text.display" value="type" /> + <property name="linux.text.display" value="cat" /> + <property environment="env"/> + + <property name="build.target" value="main" /> + + <condition property="mvn" value="mvn.cmd"> + <isset property="isWindows" /> + </condition> + <property name="mvn" value="mvn" /> + + <available file="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" + type="file" + property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" /> + <available file="${env.ProgramFiles(x86)}/Mozilla Firefox/firefox.exe" + type="file" + property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe" /> + + <condition property="do.copy.downloads" > + <isset property="download.cache.dir" /> + </condition> + + <fail message="The ANT_HOME environment variable is not set." + unless="env.ANT_HOME"/> + + <target name="check-flash" if="use-flash"> + <available file="${env.AIR_HOME}" + type="dir" + property="AIR_HOME" value="${env.AIR_HOME}" /> + + <fail message="The AIR_HOME property is not set in environment or command-line." + unless="AIR_HOME"/> + + <available file="${env.PLAYERGLOBAL_HOME}" + type="dir" + property="PLAYERGLOBAL_HOME" value="${env.PLAYERGLOBAL_HOME}" /> + + <fail message="The PLAYERGLOBAL_HOME property is not set in environment or command-line." + unless="PLAYERGLOBAL_HOME"/> + + <available file="${env.FLASHPLAYER_DEBUGGER}" + type="file" + property="FLASHPLAYER_DEBUGGER" value="${env.FLASHPLAYER_DEBUGGER}" /> + + <fail message="The FLASHPLAYER_DEBUGGER property is not set in environment or command-line." + unless="FLASHPLAYER_DEBUGGER"/> + </target> + + <available file="${env.ANT_HOME}/lib/${apache.rat.jar}" + type="file" + property="apache.rat.found"/> + <available file="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" + type="file" + property="apache.rat.tasks.found"/> + + <fail message="The release version is not set. Specify -Drelease.version=<release version (e.g. 3.1, 3.2, etc)>" + unless="release.version"/> + + <condition property="package.url.path" + value="http://apacheflexbuild.cloudapp.net:8080/job/royale-asjs/lastSuccessfulBuild/artifact/out"> + <not> + <isset property="rc" /> + </not> + </condition> + <condition property="bin.package.url.path" + value="${package.url.path}"> + <not> + <isset property="rc" /> + </not> + </condition> + <condition property="doc.package.url.path" + value="${package.url.path}"> + <not> + <isset property="rc" /> + </not> + </condition> + + <property name="package.url.path" value="https://dist.apache.org/repos/dist/dev/royale/${release.version}/rc${rc}" /> + <property name="package.url.name" value="apache-royale-${release.version}-src" /> + <property name="bin.package.url.path" value="${package.url.path}/binaries" /> + <property name="bin.package.url.name" value="apache-royale-${release.version}-bin-js-swf" /> + <property name="maven.package.url.name" value="apache-royale-${release.version}-maven-src" /> + <!-- + <property name="doc.package.url.path" value="${package.url.path}/doc" /> + <property name="doc.package.url.name" value="apache-royale-${release.version}-asdocs" /> + --> + + <condition property="zip.package"> + <equals arg1="zip" arg2="${package.suffix}" /> + </condition> + + <target name="display-text-mac" if="isMac"> + <echo>========================= Begin ${file} ==============================</echo> + <exec executable="${mac.text.display}" > + <arg value="${file}" /> + </exec> + <echo>========================= End ${file} ==============================</echo> + </target> + <target name="display-text-win" if="isWindows"> + <pathconvert targetos="windows" property="winfile"> + <path path="${file}" /> + </pathconvert> + <echo>========================= Begin ${winfile} ==============================</echo> + <exec executable="cmd.exe" > + <arg value="/c" /> + <arg value="${win.text.display}" /> + <arg value="${winfile}" /> + </exec> + <echo>========================= End ${winfile} ==============================</echo> + </target> + <target name="display-text-linux" if="isLinux"> + <echo>========================= Begin ${file} ==============================</echo> + <exec executable="${linux.text.display}" > + <arg value="${file}" /> + </exec> + <echo>========================= End ${file} ==============================</echo> + </target> + + <target name="install-rat" depends="install-rat.jar,install-rat.tasks.jar" /> + <target name="install-rat.jar" unless="apache.rat.found"> + <get src="${apache.rat.url}/${apache.rat.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.jar}" /> + </target> + <target name="install-rat.tasks.jar" unless="apache.rat.tasks.found"> + <get src="${apache.rat.tasks.url}/${apache.rat.tasks.jar}" dest="${env.ANT_HOME}/lib/${apache.rat.tasks.jar}" /> + </target> + + <target name="rat-taskdef" description="Rat taskdef"> + <typedef resource="org/apache/rat/anttasks/antlib.xml" + uri="antlib:org.apache.rat.anttasks" + classpathref="anttask.classpath"/> + </target> + + <target name="main" depends="check-flash,write-out-jars-list,install-rat,download,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps"> + </target> + + <target name="main-no-download" depends="check-flash,write-out-jars-list,install-rat,check-sigs,uncompress,copy-source-for-maven,rat-check,binary-rat,doc-rat,check-notices,examine-jars,build,approve" description="Perform required release approval steps"> + </target> + + <target name="copy-source-for-maven"> + <copy todir="${basedir}/${maven.package.url.name}"> + <fileset dir="${basedir}/${package.url.name}"> + <include name="**"/> + </fileset> + </copy> + </target> + + <target name="test" > + <echo>${rat.report}.bin.txt</echo> + <replaceregexp file="${rat.report}.bin.txt" match="..AL.*" replace="" byline="true"/> + </target> + + <target name="write-out-jars-list" > + <delete file="jars.txt" /> + <!-- this is a comma-delimited, no spaces, no-line-breaks list used to decide which jars + to skip in the rat-check of the binaries and which jars to examine before approval --> + <property name="jars-list" value="lib/compc.jar,lib/compiler.jar,lib/compiler-asc.jar,lib/compiler-common.jar,lib/compiler-compc.jar,lib/compiler-mxmlc.jar,lib/compiler-optimizer.jar,lib/compiler-swfdump.jar,lib/swfutils.jar,lib/fdb.jar,lib/flex-compiler-oem.jar,js/lib/asdoc.jar,js/lib/compiler-royaleTasks.jar,js/lib/compc.jar,js/lib/externc.jar,js/lib/jsc.jar,js/lib/mxmlc.jar"/> + <echo file="${basedir}/jars.txt" message="${jars-list}"/> + <echo file="${basedir}/jarexcludes.txt" message="${jars-list}"/> + <replaceregexp file="${basedir}/jarexcludes.txt" match="," flags="g" replace="${line.separator}" /> + </target> + + <target name="display-text" > + <antcall target="display-text-mac" /> + <antcall target="display-text-win" /> + <antcall target="display-text-linux" /> + </target> + + <target name="display-text-test" > + <antcall target="display-text" > + <param name="file" value="${basedir}/rat-report.txt" /> + </antcall> + </target> + + <target name="download" description="download the release package"> + <get src="${package.url.path}/${package.url.name}.${package.suffix}" + dest="${basedir}/${package.url.name}.${package.suffix}" /> + <get src="${package.url.path}/${package.url.name}.${package.suffix}.sha512" + dest="${basedir}/${package.url.name}.${package.suffix}.sha512" /> + <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}" + dest="${basedir}/${bin.package.url.name}.${package.suffix}" /> + <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.sha512" + dest="${basedir}/${bin.package.url.name}.${package.suffix}.sha512" /> + <!-- no doc packages in 0.8.0 + <get src="${doc.package.url.path}/${doc.package.url.name}.zip" + dest="${basedir}/${doc.package.url.name}.zip" /> + <get src="${doc.package.url.path}/${doc.package.url.name}.zip.sha512" + dest="${basedir}/${doc.package.url.name}.zip.sha512" />--> + <antcall target="get_asc" /> + </target> + + <target name="get_asc" if="rc" > + <get src="${package.url.path}/${package.url.name}.${package.suffix}.asc" + dest="${basedir}/${package.url.name}.${package.suffix}.asc" /> + <get src="${bin.package.url.path}/${bin.package.url.name}.${package.suffix}.asc" + dest="${basedir}/${bin.package.url.name}.${package.suffix}.asc" /> + <!-- no doc packages in 0.8.0 + <get src="${doc.package.url.path}/${doc.package.url.name}.zip.asc" + dest="${basedir}/${doc.package.url.name}.zip.asc" />--> + </target> + + <target name="check-sigs" description="check sha512 and gpg sigs"> + <replace file="${basedir}/${package.url.name}.${package.suffix}.sha512" + token=" " /> + <checksum file="${basedir}/${package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="SHA-512.ok" fileext=".sha512"/> + <condition property="SHA-512Invalid"> + <not> + <equals arg1="${SHA-512.ok}" arg2="true" /> + </not> + </condition> + <fail message="SHA-512 checksum did not match" if="SHA-512Invalid" /> + <replace file="${basedir}/${bin.package.url.name}.${package.suffix}.sha512" + token=" " /> + <checksum file="${basedir}/${bin.package.url.name}.${package.suffix}" algorithm="SHA-512" verifyproperty="bin.SHA-512.ok" fileext=".sha512"/> + <condition property="BinarySHA-512Invalid"> + <not> + <equals arg1="${bin.SHA-512.ok}" arg2="true" /> + </not> + </condition> + <fail message="Binary Package SHA-512 checksum did not match" if="BinarySHA-512Invalid" /> + <!-- no doc packages in 0.8.0 + <replace file="${basedir}/${doc.package.url.name}.zip.sha512" + token=" " /> + <checksum file="${basedir}/${doc.package.url.name}.zip" algorithm="SHA-512" verifyproperty="doc.SHA-512.ok" fileext=".sha512"/> + <condition property="DocSHA-512Invalid"> + <not> + <equals arg1="${doc.SHA-512.ok}" arg2="true" /> + </not> + </condition> + <fail message="Doc Package SHA-512 checksum did not match" if="DocSHA-512Invalid" />--> + <antcall target="gpg_check" /> + </target> + + <target name="gpg_check" if="rc"> + <exec executable="gpg" failonerror="true"> + <arg value="--verify" /> + <arg value="${basedir}/${package.url.name}.${package.suffix}.asc" /> + <arg value="${basedir}/${package.url.name}.${package.suffix}" /> + </exec> + <exec executable="gpg" failonerror="true"> + <arg value="--verify" /> + <arg value="${basedir}/${bin.package.url.name}.${package.suffix}.asc" /> + <arg value="${basedir}/${bin.package.url.name}.${package.suffix}" /> + </exec> + <!-- no doc packages in 0.8.0 + <exec executable="gpg" failonerror="true"> + <arg value="- -verify" /> + <arg value="${basedir}/${doc.package.url.name}.zip.asc" /> + <arg value="${basedir}/${doc.package.url.name}.zip" /> + </exec>--> + </target> + + <target name="uncompress" depends="pre-clean, untar-file, unzip-file" /> + + <target name="pre-clean" description="remove old uncompressed package" > + <delete dir="${basedir}/${package.url.name}" failonerror="false" /> + <delete dir="${basedir}/${bin.package.url.name}" failonerror="false" /> + <!-- no doc packages in 0.8.0 + <delete dir="${basedir}/${doc.package.url.name}" failonerror="false" />--> + </target> + + <!-- untar does not restore file permissions so don't bother checking --> + <target name="untar-file" unless="zip.package" description="Untars zipFile"> + <untar src="${basedir}/${package.url.name}.${package.suffix}" + dest="${basedir}" compression="gzip"/> + <untar src="${basedir}/${bin.package.url.name}.${package.suffix}" + dest="${basedir}" compression="gzip"/> + <!-- no doc packages in 0.8.0 + <unzip src="${basedir}/${doc.package.url.name}.zip" + dest="${basedir}/${doc.package.url.name}"/>--> + </target> + + <target name="unzip-file" if="zip.package" description="Unzips zipFile"> + <unzip src="${basedir}/${package.url.name}.${package.suffix}" + dest="${basedir}/${package.url.name}"/> + <unzip src="${basedir}/${bin.package.url.name}.${package.suffix}" + dest="${basedir}/${bin.package.url.name}"/> + <!-- no doc packages in 0.8.0 + <unzip src="${basedir}/${doc.package.url.name}.${package.suffix}" + dest="${basedir}/${doc.package.url.name}"/>--> + </target> + + <target name="rat-check" > + + <echo message="Checking files at ${basedir}/${package.url.name}, report is ${src.rat.report}"/> + + <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" + reportFile="${src.rat.report}"> + <fileset dir="${basedir}/${package.url.name}"> + <exclude name="README.md"/> + <exclude name="**/RELEASE_NOTES.md"/> + <exclude name="**/README.md"/> + <exclude name="LICENSE.bin"/> + <exclude name="LICENSE.base"/> + <exclude name="royale-asjs/DEPENDENCIES"/> + <exclude name="royale-asjs/README.md"/> + <exclude name="royale-asjs/LICENSE.bin"/> + <exclude name="royale-asjs/LICENSE.base"/> + <!-- Start of binary files --> + <!-- exclude media (png, gif, jpg, mp3, flv) --> + <exclude name="**/*.png"/> + <exclude name="**/*.gif"/> + <exclude name="**/*.jpg"/> + <exclude name="**/*.mp3"/> + <exclude name="**/*.flv"/> + <!-- End of binary files --> + <!-- JSON doesn't really have a comment format --> + <exclude name="**/*.json"/> + <!-- JSHint properties file --> + <exclude name="frameworks/js/jshint.properties"/> + <exclude name="frameworks/js/.jshintrc"/> + <exclude name="**/META-INF/DEPENDENCIES" /> + <!-- ide files --> + <exclude name="**/.vscode/**"/> + <!-- royale-compiler --> + <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/> + <exclude name="**/debugger/META-INF/MANIFEST.MF"/> + <exclude name="**/*.patch"/> + <exclude name="royale-typedefs/DEPENDENCIES"/> + <exclude name="royale-compiler/LICENSE.bin"/> + <exclude name="royale-compiler/README_MAVEN.txt"/> + <exclude name="royale-compiler/NOTICE.base"/> + <exclude name="royale-compiler/NOTICE.fdb"/> + <exclude name="royale-compiler/NOTICE.oem"/> + <exclude name="royale-asjs/examples/mxroyale/tourdeflexmodules/src/swfobject.js"/> + </fileset> + </rat:report> + <antcall target="display-text" > + <param name="file" value="${src.rat.report}" /> + </antcall> + <input + message="Check that there are no unknown or unapproved licenses or archives. Is it ok?" + validargs="y,n" + defaultvalue="y" + addproperty="rat.license.ok"/> + <echo>filtering out AL files to make it easier to see binary files</echo> + <copy file="${src.rat.report}" tofile="${src.rat.report}.bin.txt" /> + <replaceregexp file="${src.rat.report}.bin.txt" match="..AL.*" replace="__AL" byline="true"/> + <replaceregexp file="${src.rat.report}.bin.txt" flags="gs" match="__AL." replace="" byline="false"/> + <antcall target="display-text" > + <param name="file" value="${src.rat.report}.bin.txt" /> + </antcall> + <input + message="Check that there are no unexpected binaries. Is it ok?" + validargs="y,n" + defaultvalue="n" + addproperty="rat.binaries.ok"/> + </target> + + <target name="binary-rat" > + <echo message="Checking files at ${basedir}/${bin.package.url.name}, report is ${bin.rat.report}"/> + <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" + reportFile="${bin.rat.report}"> + <fileset dir="${basedir}/${bin.package.url.name}"> + <exclude name="README.md"/> + <exclude name="**/RELEASE_NOTES.md"/> + <exclude name="**/README.md"/> + <exclude name="LICENSE.bin"/> + <exclude name="LICENSE.base"/> + <exclude name="royale-asjs/DEPENDENCIES"/> + <exclude name="royale-asjs/README.md"/> + <exclude name="royale-asjs/LICENSE.bin"/> + <exclude name="royale-asjs/LICENSE.base"/> + <!-- Start of binary files --> + <!-- exclude media (png, gif, jpg, mp3, flv) --> + <exclude name="**/*.png"/> + <exclude name="**/*.gif"/> + <exclude name="**/*.jpg"/> + <exclude name="**/*.mp3"/> + <exclude name="**/*.flv"/> + <!-- End of binary files --> + <!-- JSON doesn't really have a comment format --> + <exclude name="**/*.json"/> + <!-- JSHint properties file --> + <exclude name="frameworks/js/jshint.properties"/> + <exclude name="frameworks/js/.jshintrc"/> + <exclude name="**/META-INF/DEPENDENCIES" /> + <!-- ide files --> + <exclude name="**/.vscode/**"/> + <!-- royale-compiler --> + <exclude name="**/org.apache.royale.tools.RoyaleToolGroup"/> + <exclude name="**/debugger/META-INF/MANIFEST.MF"/> + <exclude name="**/*.patch"/> + <exclude name="royale-typedefs/DEPENDENCIES"/> + <exclude name="royale-compiler/LICENSE.bin"/> + <exclude name="royale-compiler/README_MAVEN.txt"/> + <exclude name="royale-compiler/NOTICE.base"/> + <exclude name="royale-compiler/NOTICE.fdb"/> + <exclude name="royale-compiler/NOTICE.oem"/> + <!-- Google Closure Library --> + <exclude name="royale-asjs/js/lib/google/**"/> + <!-- compiled output --> + <exclude name="royale-asjs/frameworks/projects/*/target/**"/> + <exclude name="royale-asjs/frameworks/js/projects/*/target/**"/> + <!-- swcs --> + <exclude name="royale-asjs/frameworks/libs/Basic.swc"/> + <exclude name="royale-asjs/frameworks/libs/Binding.swc"/> + <exclude name="royale-asjs/frameworks/libs/Charts.swc"/> + <exclude name="royale-asjs/frameworks/libs/Collections.swc"/> + <exclude name="royale-asjs/frameworks/libs/Core.swc"/> + <exclude name="royale-asjs/frameworks/libs/CreateJS.swc"/> + <exclude name="royale-asjs/frameworks/libs/DragDrop.swc"/> + <exclude name="royale-asjs/frameworks/libs/Effects.swc"/> + <exclude name="royale-asjs/frameworks/libs/Express.swc"/> + <exclude name="royale-asjs/frameworks/libs/Flat.swc"/> + <exclude name="royale-asjs/frameworks/libs/FontAwesome.swc"/> + <exclude name="royale-asjs/frameworks/libs/Formatters.swc"/> + <exclude name="royale-asjs/frameworks/libs/GoogleMaps.swc"/> + <exclude name="royale-asjs/frameworks/libs/Graphics.swc"/> + <exclude name="royale-asjs/frameworks/libs/HTML.swc"/> + <exclude name="royale-asjs/frameworks/libs/HTML5.swc"/> + <exclude name="royale-asjs/frameworks/libs/Icons.swc"/> + <exclude name="royale-asjs/frameworks/libs/jQuery.swc"/> + <exclude name="royale-asjs/frameworks/libs/Crux.swc"/> + <exclude name="royale-asjs/frameworks/libs/Jewel.swc"/> + <exclude name="royale-asjs/frameworks/libs/JewelTheme.swc"/> + <exclude name="royale-asjs/frameworks/libs/Language.swc"/> + <exclude name="royale-asjs/frameworks/libs/MaterialDesignLite.swc"/> + <exclude name="royale-asjs/frameworks/libs/Mobile.swc"/> + <exclude name="royale-asjs/frameworks/libs/MXRoyale.swc"/> + <exclude name="royale-asjs/frameworks/libs/Network.swc"/> + <exclude name="royale-asjs/frameworks/libs/Reflection.swc"/> + <exclude name="royale-asjs/frameworks/libs/RoyaleSite.swc"/> + <exclude name="royale-asjs/frameworks/libs/RoyaleUnit.swc"/> + <exclude name="royale-asjs/frameworks/libs/RoyaleUnitUI.swc"/> + <exclude name="royale-asjs/frameworks/libs/SparkRoyale.swc"/> + <exclude name="royale-asjs/frameworks/libs/Storage.swc"/> + <exclude name="royale-asjs/frameworks/libs/TLF.swc"/> + <exclude name="royale-asjs/frameworks/libs/Text.swc"/> + <exclude name="royale-asjs/frameworks/libs/XML.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/AceJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/BasicJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/BindingJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/ChartsJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/CollectionsJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/CoreJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/CreateJSJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/DragDropJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/EffectsJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/ExpressJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/FlatJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/FontAwesomeJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/FormattersJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/GoogleMapsJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/GraphicsJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/HTMLJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/HTML5JS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/IconsJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/JewelJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/CruxJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/jQueryJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/LanguageJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/MaterialDesignLiteJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/MobileJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/MXRoyaleJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/NetworkJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/ReflectionJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/RoyaleSiteJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/RoyaleUnitUIJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/SparkRoyaleJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/StorageJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/TLFJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/TextJS.swc"/> + <exclude name="royale-asjs/frameworks/js/libs/XMLJS.swc"/> + <exclude name="royale-asjs/frameworks/themes/Halo/Halo.swc"/> + <exclude name="royale-asjs/frameworks/themes/JewelTheme/target/JewelTheme.swc"/> + + <exclude name="royale-asjs/frameworks/projects/Graphics/src/main/royale/org/apache/royale/graphics/utils/shaderClasses/*.pbj"/> + <exclude name="royale-asjs/frameworks/projects/**/src/test/royale/FlexUnitRoyaleApplication.swf"/> + <exclude name="royale-asjs/frameworks/localfonts.ser"/> + <exclude name="royale-asjs/frameworks/macfonts.ser"/> + <exclude name="royale-asjs/frameworks/winfonts.ser"/> + + <exclude name="royale-asjs/js/libs/GCL.swc"/> + <exclude name="royale-asjs/js/libs/cordova.swc"/> + <exclude name="royale-asjs/js/libs/createjs.swc"/> + <exclude name="royale-asjs/js/libs/google_maps.swc"/> + <exclude name="royale-asjs/js/libs/jasmine.swc"/> + <exclude name="royale-asjs/js/libs/jquery.swc"/> + <exclude name="royale-asjs/js/libs/js.swc"/> + <exclude name="royale-asjs/js/libs/node.swc"/> + <exclude name="royale-asjs/js/libs/ace-1.2.3.swc"/> + + <exclude name="royale-asjs/js/lib/args4j.jar"/> + <exclude name="royale-asjs/js/lib/asdoc.jar"/> + <exclude name="royale-asjs/js/lib/commons-io.jar"/> + <exclude name="royale-asjs/js/lib/compc.jar"/> + <exclude name="royale-asjs/js/lib/compiler-royaleTasks.jar"/> + <exclude name="royale-asjs/js/lib/royaleUnitTasks.jar"/> + <exclude name="royale-asjs/js/lib/externc.jar"/> + <exclude name="royale-asjs/js/lib/flex-tool-api.jar"/> + <exclude name="royale-asjs/js/lib/guava.jar"/> + <exclude name="royale-asjs/js/lib/jsc.jar"/> + <exclude name="royale-asjs/js/lib/junit-4.10.jar"/> + <exclude name="royale-asjs/js/lib/mxmlc.jar"/> + <exclude name="royale-asjs/js/lib/java-websocket.jar"/> + <exclude name="royale-asjs/js/lib/dom4j.jar"/> + <exclude name="royale-asjs/js/lib/dom4j-LICENSE.txt"/> + <exclude name="royale-asjs/js/lib/slf4j-api.jar"/> + <exclude name="royale-asjs/lib/adt.jar"/> + <exclude name="royale-asjs/lib/compc.jar"/> + <exclude name="royale-asjs/lib/compiler-asc.jar"/> + <exclude name="royale-asjs/lib/compiler-common.jar"/> + <exclude name="royale-asjs/lib/compiler-compc.jar"/> + <exclude name="royale-asjs/lib/compiler-mxmlc.jar"/> + <exclude name="royale-asjs/lib/compiler-optimizer.jar"/> + <exclude name="royale-asjs/lib/compiler-swfdump.jar"/> + <exclude name="royale-asjs/lib/compiler.jar"/> + <exclude name="royale-asjs/lib/fdb.jar"/> + <exclude name="royale-asjs/lib/flex-compiler-oem.jar"/>
[... 545 lines stripped ...]
