You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xap-commits@incubator.apache.org by bb...@apache.org on 2007/01/21 00:55:21 UTC

svn commit: r498221 - /incubator/xap/trunk/buildsystem/build.xml

Author: bbuffone
Date: Sat Jan 20 16:55:20 2007
New Revision: 498221

URL: http://svn.apache.org/viewvc?view=rev&rev=498221
Log:
cleaned up the build.xml file and added a manufacturing process.

Modified:
    incubator/xap/trunk/buildsystem/build.xml

Modified: incubator/xap/trunk/buildsystem/build.xml
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/buildsystem/build.xml?view=diff&rev=498221&r1=498220&r2=498221
==============================================================================
--- incubator/xap/trunk/buildsystem/build.xml (original)
+++ incubator/xap/trunk/buildsystem/build.xml Sat Jan 20 16:55:20 2007
@@ -1,43 +1,47 @@
-<project name="OpenXap" default="help">
+<project name="Apache Xap - Build System" default="help">
 
-
-    <description>OpenXap project</description>
+	<description>Apache Xap - Build System</description>
     
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     <!-- Project specific properties.                                      -->
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-	<property name="isDebug" value="true" />
-	<property name="jsunitDir" value="./jsunit" />
-	<property name="webappsRoot" value="./staging" />
-  	<property name="dist" value="./dist" />
-	<property name="examplesAppName" value="xap" />
+	<property name="isDebug" value="true"/>
+	<property name="web.application.output.location" value="../.dist/samples" />
+	<property name="web.application.directory.name" value="xap" />
 	<property name="profile" value="xap"/>
-  	<property name="release_dir" value="release"/>	
-			
+  	
+	<property name="codebase.location" value="../codebase"/>	
+	<property name="staging.location" value="../.dist/.temp/.staging"/>	
+	<property name="dist.location" value="../.dist"/>	
+	<property name="unittests.location" value="../unittests"/>	
+	<property name="jsunit.location" value="${unittests.location}/jsunit" />
+	<property name="release.location" value="${dist.location}/.temp/release/dojo"/>	
+	<property name="samples.location" value="../samples/WebContent"/>	
+	<property name="tools.location" value="tools"/>	
+	
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     <!-- Import other build files.                                         -->
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-    <import file="./jsunit/build.xml" />
-    <import file="./jsunit-server-properties.xml" />
+	<import file="${unittests.location}/jsunit/build.xml" />
+	<import file="${unittests.location}/jsunit-server-properties.xml" />
+	<import file="build-manufacturing.xml" />
 	
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     <!-- Overrides of ./jsunit/build.xml                                   -->
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     <path id="classpath">
-       <fileset dir="${jsunitDir}/java/lib">
+       <fileset dir="${jsunit.location}/java/lib">
            <include name="*.jar"/>
        </fileset>
-       <fileset dir="${jsunitDir}/java/bin">
+       <fileset dir="${jsunit.location}/java/bin">
            <include name="jsunit.jar"/>
        </fileset>
-       <dirset dir="${jsunitDir}/java/config"/>
+       <dirset dir="${jsunit.location}/java/config"/>
     </path>
 
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     <!-- XAP project specific targets                                      -->
-    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-	
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->	
 	<target name="help" description="Prints help" >
 	<echo>
 Build script help
@@ -49,8 +53,8 @@
 	browser on your machine.
 
 deploy-examples: deploys examples without rebuilding profile
-	usage: ant deploy-examples -DwebappsRoot=[dir] 
-		-DexamplesAppName=[name]
+	usage: ant deploy-examples -Dweb.application.output.location=[dir] 
+		-Dweb.application.directory.name=[name]
 
 examples: rebuilds profile and redeploys examples
 	usage: ant examples
@@ -58,7 +62,7 @@
 build-profile: compresses based on a profile in 
 	buildscripts/profiles to a specified directory
 	usage: ant build-profile -Dprofile=[profile_name] 
-		-Drelease_dir=[dir]
+		-Drelease.location=[dir]
 
 doc: builds JSDoc to doc/xap directory
 
@@ -68,9 +72,7 @@
 	</echo>
 	</target>
 
-
-
-			
+	
 	<!-- Runs all XAP project targets                                      -->
 	<target name="all" description="Runs tests, examples and doc targets." 
 					   depends="tests,examples,doc">
@@ -82,34 +84,47 @@
 	<!-- be created under ./staging that you can copy to your deployment   -->
 	<!-- area (i.e. webapps folder under tomcat).                          -->
 	<!-- To specify custom dist location and appname, use the following:   -->
-	<!-- build.bat examples -DwebappsRoot=<dir> -DexamplesAppName=<name>   -->
-	<target name="examples" depends="build-profile, deploy-examples"/>
-    
+	<!-- build.bat examples -Dweb.application.output.location=<dir> -Dweb.application.directory.name=<name>   -->
+	<target name="examples">
+		<antcall target="build-profile">
+			<param name="profile-name" value="${profile}"/>			
+		</antcall>
+		<antcall target="deploy-examples"></antcall>
+	</target>
+	
+	<target name="profile-examples">
+		<antcall target="jsLex"></antcall>
+		<antcall target="build-profile">
+			<param name="profile-name" value="${profile}.performance"/>			
+		</antcall>
+		<antcall target="deploy-examples"></antcall>
+	</target>
+	
+    <target name="deploy-examples" 
+    	description="Builds examples. Usage: examples -Dweb.application.output.location=[dir] -Dweb.application.directory.name=[name]">
+    	
+      	<!--<delete dir="${web.application.output.location}/${web.application.directory.name}"/>-->
+    	<mkdir dir="${web.application.output.location}/${web.application.directory.name}"/>
+    	<copy todir="${web.application.output.location}/${web.application.directory.name}" overwrite="true">
+    		<fileset dir="${samples.location}" includes="*/**" />
+    	</copy>
+
+        <copy file="${dist.location}/lib/xapcore.js" todir="${web.application.output.location}/${web.application.directory.name}"/>
     
-    <target name="deploy-examples" description="Builds examples. Usage: examples -DwebappsRoot=[dir]
-		-DexamplesAppName=[name]">
-      <!--  <delete dir="${webappsRoot}/${examplesAppName}"/> -->
-    		<mkdir dir="${webappsRoot}/${examplesAppName}"/>
-    		<copy todir="${webappsRoot}/${examplesAppName}" overwrite="true">
-    			<fileset dir="./WebContent" includes="*/**" />
-    		</copy>
-
-        <copy file="./dist/xapcore.js" todir="${webappsRoot}/${examplesAppName}"/>
-
-      
-       	<copy todir="${webappsRoot}/${examplesAppName}" overwrite="true">
-        	<fileset dir="." includes="src/**" />
+       	<copy todir="${web.application.output.location}/${web.application.directory.name}" overwrite="true">
+       		<fileset dir="${codebase.location}" includes="src/**" />
         </copy>
-        <copy todir="${webappsRoot}/${examplesAppName}" overwrite="false">
-        	<fileset dir="." includes="css/**" />
+        <copy todir="${web.application.output.location}/${web.application.directory.name}" overwrite="false">
+        	<fileset dir="${codebase.location}" includes="css/**" />
         </copy>
     </target>
     
 	<!-- Builds XAP source code jsdoc. -->
     <target name="doc" description="Builds JSDoc">
         <echo message="Building docs"/>
-        <delete dir="doc/xap"/>
-        <exec executable="perl">
+    	<delete dir="${dist.location}/doc/xap"/>
+    	<mkdir dir="${dist.location}/doc/xap"/>
+    	<exec executable="perl">
             <arg value="JSDoc-1.9.9.2/jsdoc.pl" />
             <arg value="-r" />
             <arg value="--package-naming" />
@@ -119,108 +134,74 @@
             <arg value="--logo" />
             <arg value="doc/header_logo.gif" />
             <arg value="--directory" />
-            <arg value="doc/xap" />
-            <arg value="src/xap" />
+    		<arg value="${dist.location}/doc/xap" />
+        	<arg value="${codebase.location}/src/xap" />
         </exec>
     </target>
 	
-	<!-- Builds XAP source code jsdoc. These docs will be used on the XAP website. -->
-	<target name="doc-site" description="Builds JSDoc">
-		<echo message="Building docs"/>
-		<delete dir="doc/xap-site"/>
-		
-		<!-- replace the main.tmpl in the jsdoc.pl to main-site.tmpl -->
-		<replace file="JSDoc-1.9.9.2/jsdoc.pl"
-			token="main.tmpl" value="main-site.tmpl"/>
-		
-		<exec executable="perl">
-			<arg value="JSDoc-1.9.9.2/jsdoc.pl" />
-			<arg value="-r" />
-			<arg value="--package-naming" />
-			<arg value="--no-lexical-privates" />
-			<arg value="--project-name" />
-			<arg value="XAP source" />
-			<arg value="--logo" />
-			<arg value="doc/header_logo.gif" />
-			<arg value="--directory" />
-			<arg value="doc/xap-site" />
-			<arg value="src/xap" />
-		</exec>
-		
-		<!-- Change back the  main.tmpl in the jsdoc.pl -->
-		<replace file="JSDoc-1.9.9.2/jsdoc.pl"
-			token="main-site.tmpl" value="main.tmpl"/>
-			
-			
-		<zip destfile="doc/xap-site/site.zip" > 
-			<fileset dir="doc/xap-site/">
-				<include name="xap.Xap.html"/>
-				<include name="xap.application.Application.html"/>
-				<include name="xap.session.ClientSession.html"/>
-				<include name="xap.xml.dom.XapElement.html"/>
-				<include name="xap.xml.dom.Document.html"/>
-				<include name="xap.requestservice.RequestService.html"/>
-				<include name="xap.requestservice.HttpRequest.html"/>
-				<include name="xap.requestservice.NetServiceListener.html"/>
-				<include name="xap.session.ClientEvent.html"/>
-				<include name="xap.session.Container.html"/>
-				<include name="xap.xml.DocumentContainer.html"/>
-				<include name="xap.macro.Macro.html"/>
-				<include name="xap.util.LogFactory.html"/>
-				<include name="xap.util.LogFactory.ConsoleLog.html"/>
-				
-				<!-- -->
-				<include name="overview-summary-Xap.js.html"/>
-				<include name="overview-summary-application_Application.js.html"/>
-				<include name="overview-summary-session_ClientSession.js.html"/>
-				<include name="overview-summary-xml_dom_XapElement.js.html"/>
-				<include name="overview-summary-xml_dom_Document.js.html"/>
-				<include name="overview-summary-xml_requestservice_RequestService.js.html"/>
-				<include name="overview-summary-xml_requestservice_HttpRequest.js.html"/>
-				<include name="overview-summary-xml_requestservice_NetServiceListener.js.html"/>
-				<include name="overview-summary-session_ClientEvent.js.html"/>
-				<include name="overview-summary-session_Container.js.html"/>
-				<include name="overview-summary-xml_DocumentContainer.js.html"/>
-				<include name="overview-summary-macro_Macro.js.html"/>
-				<include name="overview-summary-util_LogFactory.js.html"/>
-				<include name="stylesheet.css"/>
-				
-			</fileset>
-		</zip>
-		
-	</target>
-
 	<!-- Runs all JSUnit tests. The standalone_test is defined in the imported -->
 	<!-- ./jsunit/build.xml that came with jsunit.                             -->
     <target name="tests" description="Runs JSUnit tests">
+    	<delete dir="${dist.location}/jsunit/"/>
+    	
+    	<!-- Make the directories to copy the testing stuff into. -->
+    	<!-- This directory will be the root of the application. -->
+    	<mkdir dir="${dist.location}/jsunit/testsrc"/>
+    	<copy todir="${dist.location}/jsunit/testsrc">
+    		<fileset dir="${unittests.location}/testsrc"/>
+    	</copy>
+
+    	<mkdir dir="${dist.location}/jsunit/src"/>
+    	<copy todir="${dist.location}/jsunit/src">
+    		<fileset dir="${codebase.location}/src"/>
+    	</copy>
+
+    	<mkdir dir="${dist.location}/jsunit/jsunit"/>
+    	<copy todir="${dist.location}/jsunit/jsunit">
+    		<fileset dir="${unittests.location}/jsunit">
+    			<include name="app/**"/>
+    			<include name="css/**"/>
+    			<include name="images/**"/>
+    			<include name="testRunner.html"/>
+    			<include name="index.jsp"/>
+    		</fileset>
+    	</copy>
+    	
+		<!-- all log files will end up in this location -->    	
+    	<mkdir dir="${dist.location}/jsunit/logs"/>
+    	
+    	<!-- This call actually makes the test run -->
     	<antcall target="standalone_test"></antcall>
     </target>
 
 	<target name="compile-tools" description="Compiles various tools">
-		<mkdir dir="tools/dist"/>
-		<javac srcdir="tools/src" destdir="tools/dist"/>
+		<mkdir dir="${tools.location}/dist"/>
+		<javac srcdir="${tools.location}/src" destdir="${tools.location}/dist"/>
     </target>
 	
-	<target name="build-profile" description="Builds a xap profile usage
-	is -Dprofile=PROFILE_NAME ">
+	<target name="build-profile" 
+		description="Builds a xap profile usage is -Dprofile=PROFILE_NAME ">
 		<exec dir="buildscripts" executable="ant.bat">
-      <arg value="-Dprofile=${profile}" />
-      <arg value="-Drelease_dir=../${release_dir}" />
-      <arg value="compress" />
+			<arg value="-Dprofile=${profile-name}" />
+      		<arg value="-Drelease=../${release.location}" />
+      		<arg value="compress" />
   		</exec>
-  		<copy file="${release_dir}/xapcore.js" todir="dist"/>
-  		<copy file="${release_dir}/xapcore.js.uncompressed.js" todir="dist"/>
-  		<copy file="${release_dir}/build.txt" todir="dist"/>
+		<delete dir="${dist.location}/lib"/>
+		<mkdir dir="${dist.location}/lib"/>
+		<copy file="${release.location}/xapcore.js" todir="${dist.location}/lib"/>
+		<copy file="${release.location}/xapcore.js.uncompressed.js" todir="${dist.location}/lib"/>
+		<copy file="${release.location}/build.txt" todir="${dist.location}/lib"/>
+		
+		<delete dir="${dist.location}/.temp"/>
 	</target>
-
 	
 	<target name="compress-source" description="Compresses javascript source"> 
-			<delete dir="compressedSource"/>
-			<java fork="yes" classname="JsCompress" classpath="tools/dist">
-				<arg value="tools/lib/custom_rhino.jar"/>
-				<arg value="src"/>
-				<arg value="compressedSource"/>
-			</java>
+		<delete dir="compressedSource"/>
+		<java fork="yes" classname="JsCompress" classpath="${tools.location}/dist">
+			<arg value="${tools.location}/lib/custom_rhino.jar"/>
+			<arg value="${codebase}/src"/>
+			<arg value="${codebase}/compressedSource"/>
+		</java>
 	</target>
 	
 </project>