flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject [19/51] [abbrv] git commit: [flex-asjs] [refs/heads/spark] - Updated cordova-build.xml ANT script.
Date Thu, 26 May 2016 23:05:03 GMT
Updated cordova-build.xml ANT script.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2b8a69e0
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2b8a69e0
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2b8a69e0

Branch: refs/heads/spark
Commit: 2b8a69e04ee8022cae28f71c5de093e50f97c490
Parents: 7b3c0cb
Author: Peter Ent <pent@apache.org>
Authored: Mon May 16 14:55:29 2016 -0400
Committer: Alex Harui <aharui@apache.org>
Committed: Thu May 26 16:04:21 2016 -0700

----------------------------------------------------------------------
 cordova-build.xml | 149 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 97 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2b8a69e0/cordova-build.xml
----------------------------------------------------------------------
diff --git a/cordova-build.xml b/cordova-build.xml
index 1e209b8..d7fb343 100644
--- a/cordova-build.xml
+++ b/cordova-build.xml
@@ -18,80 +18,125 @@
 
 -->
 
-<project name="createproject" default="main" basedir=".">
+<project name="createproject" default="main">
 
-    <condition property="project.name.specified" value="true">
-            <isset property="PROJECT_NAME" />
+	<!-- this ANT script assumes you are in the following directory structure:
+	
+	     .    /* run ANT here */
+	     ./src/<APP>.mxml   /* The main application MXML tag */
+	     ./bin/js-debug     /* The result of building APP.mxml via mxmlc
+	     ./app/<APP>        /* The Cordova application directory
+	     
+	     1. This ANT script will build the template Cordova app/APP if it does not
+	     already exist. 
+	     
+	     2. This ANT script will compile the APP.mxml into bin/js-debug
+	     
+	     3. This ANT script will remove ./app/<APP>/www contents are replace it with
+	     the contents of bin/js-debug.
+	     
+	     Optionally, you can run the Cordova application using ant run <platform>
+	     
+	-->
+	
+	<target name="main" depends="create, compilejs, copyfiles" description="Creates the Cordova
app if needed, compiles the FlexJS app, copies the results to Cordova app">
+		<echo message="Building app ${appname} for platform ${platform}" />
+	</target>
+	
+	<!-- Set up properties and conditions -->
+	
+	<condition property="platform" value="android">
+	<!-- override with -Dplatform=other-platform-name -->
+		<not>
+			<isset property="platform" />
+		</not>
     </condition>
-    <fail message="PROJECT_NAME not specified. Should specify desired name of cordova
project" unless="project.name.specified"/>
-
-    <condition property="target.dir.specified" value="true">
-        <isset property="TARGET_DIR" />
-    </condition>
-    <fail message="TARGET_DIR not specified. Should specify folder to contain cordova
project folder" unless="target.dir.specified"/>
-
-    <condition property="project.dir.specified" value="true">
-        <isset property="PROJECT_DIR" />
-    </condition>
-    <fail message="PROJECT_DIR not specified. Should specify folder that contains the
bin/js-debug output of a FlexJS project" unless="project.dir.specified"/>
-
-    <property name="target.dir" value="${TARGET_DIR}" />
-    <property name="project.name" value="${PROJECT_NAME}" />
-    <property name="project.dir" value="${PROJECT_DIR}" />
-
-    <property name="app.dir" value="${target.dir}/${project.name}" />
-    <available file="${app.dir}" type="dir" property="app.dir.exists"/>
-
-    <available file="${target.dir}" type="dir" property="target.dir.exists"/>
-    <fail message="${target.dir} does not exist" unless="target.dir.exists"/>
-    <available file="${project.dir}/bin/js-debug" type="dir" property="project.dir.exists"/>
-    <fail message="${project.dir}/bin/js-debug does not exist" unless="project.dir.exists"/>
     
-    <target name="create" unless="app.dir.exists">
+    
+	<basename property="directory.name" file="${user.dir}" />
+	<!-- override with -Dappname=other-app-name -->
+    <condition property="appname" value="${directory.name}">
+    	<not>
+    		<isset property="appname" />
+    	</not>
+    </condition>
+	
+	<property name="cordova.target.dir" value="${user.dir}/app/${appname}" />
+    <available file="${cordova.target.dir}" type="dir" property="app.dir.exists"/>
+	
+	<!-- Step 1: create the Cordova template project unless it already exists -->
+	
+	<target name="makedir" unless="app.dir.exists">
+		<mkdir dir="${user.dir}/app" />
+	</target>
+	
+	<target name="create" unless="app.dir.exists" depends="makedir" description="Creates
the Cordova application template">
     	<!-- create the project -->
-		<exec executable="cordova" dir="${target.dir}">
+		<exec executable="cordova" dir="${user.dir}/app">
 			<arg value="create" />
-			<arg value="${project.name}" />
-			<arg value="org.apache.flex.mobile" />
-			<arg value="${project.name}" />
+			<arg value="${appname}" />
 		</exec>
+		
+		<echo>Adding in platform(s). This may take awhile.</echo>
 
 		<!-- add in the platforms -->
-		<exec executable="cordova" dir="${app.dir}">
+		<exec executable="cordova" dir="${cordova.target.dir}">
 			<arg value="platform" />
 			<arg value="add" />
-			<arg value="android" />
+			<arg value="${platform}" />
 		</exec>
     </target>
     
-    <target name="copyfiles" depends="create">
-    	<echo message="Removing www directory contents" />
+    <!-- Step 2: Compile the FlexJS application -->
+    
+    <target name="compilejs" description="Compiles the FlexJS app into JavaScript">
+    	<echo message="Compiling FlexJS app" />
+    	<exec executable="mxmlc" dir="${user.dir}/src">
+    		<arg value="${appname}.mxml" />
+    	</exec>
+    </target>
+    
+    <!-- Step 3: Clean www directory -->
+    
+    <target name="purge">
     	<delete includeEmptyDirs="true">
-    		<fileset dir="${app.dir}/www" includes="**/*" />
+    		<fileset dir="${cordova.target.dir}/www" includes="**/*" />
     	</delete>
+    </target>
+    
+    <!-- Step 4: Copy files from step 2 -->
+    
+    <target name="copyfiles" depends="purge">
     	<echo message="Copying files from project" />
-    	<copy todir="${app.dir}/www">
-    		<fileset dir="${project.dir}/bin/js-debug" />
+    	<copy todir="${cordova.target.dir}/www">
+    		<fileset dir="${user.dir}/bin/js-debug" />
     	</copy>
     </target>
     
-    <target name="build" depends="copyfiles">
-		<!-- build the app -->
-		<exec executable="cordova" dir="${app.dir}">
-			<arg value="build" />
-			<arg value="android" />
-		</exec>
-    </target>
+    <!--
+    	Running the app on the platform
+    -->
     
-    <target name="main" depends="build">
-    	<echo message="App = ${app.dir} and basedir = ${basedir}" />
+    <target name="run" description="Runs the Cordova application on the specified platform">
+    	<echo message="Launching ${appname} on platform ${platform}" />
+    	<exec executable="cordova" dir="${cordova.target.dir}">
+    		<arg value="run" />
+    		<arg value="${platform}" />
+    	</exec>
     </target>
     
-    <target name="help">
-    	<echo message="ant -f cordova-build.xml -DPROJECT_NAME=name -DPROJECT_DIR=FlexJSProjectDirectory
-DTARGET_DIR=PhoneGapProjectDirectory" />
-    	<echo message="PhoneGap project is created inside of PhoneGapProjectDirectory with
the PROJECT name and all files are copied" />
-    	<echo message="from FlexJSProjectDirectory/bin/js-debug into the PhoneGap project."
/>
+    <!--
+    	Cleaning Tasks
+    -->
+    
+    <target name="clean" depends="purge" description="Removes files created during the
build and copy">
+    	<delete dir="${user.dir}/bin-debug" failonerror="false" />
+    	<delete dir="${user.dir}/bin-release" failonerror="false" />
     </target>
     
-</project>
+    <target name="super-clean" depends="clean" description="Removes all files and directories
except src and its contents">
+    	<delete dir="${user.dir}/bin" />
+    	<delete dir="${user.dir}/app" />
+    </target>
 
+</project>
\ No newline at end of file


Mime
View raw message