make/build.xml

Print this page




  14  accompanied this code).
  15 
  16  You should have received a copy of the GNU General Public License version
  17  2 along with this work; if not, write to the Free Software Foundation,
  18  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 
  20  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21  or visit www.oracle.com if you need additional information or have any
  22  questions.
  23 -->
  24 <project name="nashorn" default="all" basedir="..">
  25   <import file="build-nasgen.xml"/>
  26   <import file="build-benchmark.xml"/>
  27 
  28   <target name="init">
  29     <loadproperties srcFile="make/project.properties"/>
  30     <path id="nashorn.ext.path">
  31       <pathelement location="${dist.dir}"/>
  32     </path>
  33     <property name="ext.class.path" value="-Djava.ext.dirs=&quot;${toString:nashorn.ext.path}&quot;"/>






  34   </target>
  35 
  36   <target name="prepare" depends="init">
  37     <mkdir dir="${build.dir}"/>
  38     <mkdir dir="${build.classes.dir}"/>
  39     <mkdir dir="${build.classes.dir}/META-INF/services"/>
  40     <mkdir dir="${build.test.classes.dir}"/>
  41     <mkdir dir="${dist.dir}"/>
  42     <mkdir dir="${dist.javadoc.dir}"/>
  43     <!-- check if JDK already has ASM classes -->
  44     <available property="asm.available" classname="jdk.internal.org.objectweb.asm.Type"/>
  45     <!-- check if testng.jar is avaiable -->
  46     <available property="testng.available" file="${file.reference.testng.jar}"/>
  47   </target>
  48 
  49   <target name="clean" depends="init, clean-nasgen">
  50     <delete includeemptydirs="true">
  51       <fileset dir="${build.dir}" excludes="${dynalink.dir.name}/**/*" erroronmissingdir="false"/>
  52     </delete>
  53     <delete dir="${dist.dir}"/>


 340     <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
 341         <jvmarg line="${ext.class.path}"/>
 342         <jvmarg line="${run.test.jvmargs}"/>
 343         <arg value="-dump-on-error"/>
 344         <arg value="test.js"/>
 345     </java>
 346   </target>
 347 
 348   <target name="debug" depends="jar"
 349       description="Debug the shell with a sample script">
 350     <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
 351         <jvmarg line="${ext.class.path}"/>
 352         <jvmarg line="${run.test.jvmargs}"/>
 353         <arg value="--print-code"/>
 354         <arg value="--verify-code"/>
 355         <arg value="--print-symbols"/>
 356         <jvmarg value="-Dnashorn.codegen.debug=true"/>
 357         <arg value="test.js"/>
 358     </java>
 359   </target>

























































































 360 </project>


  14  accompanied this code).
  15 
  16  You should have received a copy of the GNU General Public License version
  17  2 along with this work; if not, write to the Free Software Foundation,
  18  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 
  20  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21  or visit www.oracle.com if you need additional information or have any
  22  questions.
  23 -->
  24 <project name="nashorn" default="all" basedir="..">
  25   <import file="build-nasgen.xml"/>
  26   <import file="build-benchmark.xml"/>
  27 
  28   <target name="init">
  29     <loadproperties srcFile="make/project.properties"/>
  30     <path id="nashorn.ext.path">
  31       <pathelement location="${dist.dir}"/>
  32     </path>
  33     <property name="ext.class.path" value="-Djava.ext.dirs=&quot;${toString:nashorn.ext.path}&quot;"/>
  34     <condition property="svn.executable" value="/usr/local/bin/svn" else="svn">
  35       <available file="/usr/local/bin/svn"/>
  36     </condition>
  37     <condition property="hg.executable" value="/usr/local/bin/hg" else="hg">
  38       <available file="/usr/local/bin/hg"/>
  39     </condition>
  40   </target>
  41 
  42   <target name="prepare" depends="init">
  43     <mkdir dir="${build.dir}"/>
  44     <mkdir dir="${build.classes.dir}"/>
  45     <mkdir dir="${build.classes.dir}/META-INF/services"/>
  46     <mkdir dir="${build.test.classes.dir}"/>
  47     <mkdir dir="${dist.dir}"/>
  48     <mkdir dir="${dist.javadoc.dir}"/>
  49     <!-- check if JDK already has ASM classes -->
  50     <available property="asm.available" classname="jdk.internal.org.objectweb.asm.Type"/>
  51     <!-- check if testng.jar is avaiable -->
  52     <available property="testng.available" file="${file.reference.testng.jar}"/>
  53   </target>
  54 
  55   <target name="clean" depends="init, clean-nasgen">
  56     <delete includeemptydirs="true">
  57       <fileset dir="${build.dir}" excludes="${dynalink.dir.name}/**/*" erroronmissingdir="false"/>
  58     </delete>
  59     <delete dir="${dist.dir}"/>


 346     <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
 347         <jvmarg line="${ext.class.path}"/>
 348         <jvmarg line="${run.test.jvmargs}"/>
 349         <arg value="-dump-on-error"/>
 350         <arg value="test.js"/>
 351     </java>
 352   </target>
 353 
 354   <target name="debug" depends="jar"
 355       description="Debug the shell with a sample script">
 356     <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
 357         <jvmarg line="${ext.class.path}"/>
 358         <jvmarg line="${run.test.jvmargs}"/>
 359         <arg value="--print-code"/>
 360         <arg value="--verify-code"/>
 361         <arg value="--print-symbols"/>
 362         <jvmarg value="-Dnashorn.codegen.debug=true"/>
 363         <arg value="test.js"/>
 364     </java>
 365   </target>
 366 
 367   <!-- targets to get external script tests -->
 368 
 369   <!-- test262 test suite -->
 370   <target name="get-test262" depends="init" unless="${test-sys-prop.external.test262}">
 371     <!-- clone test262 mercurial repo -->
 372     <exec executable="${hg.executable}">
 373        <arg value="clone"/>
 374        <arg value="http://hg.ecmascript.org/tests/test262"/>
 375        <arg value="${test.external.dir}/test262"/>
 376     </exec>
 377   </target>
 378   <target name="update-test262" depends="init" if="${test-sys-prop.external.test262}">
 379     <!-- update test262 mercurial repo -->
 380     <exec executable="${hg.executable}" dir="${test.external.dir}/test262">
 381        <arg value="pull"/>
 382        <arg value="-u"/>
 383     </exec>
 384   </target>
 385 
 386   <!-- octane benchmark -->
 387   <target name="get-octane" depends="init" unless="${test-sys-prop.external.octane}">
 388     <!-- checkout octane benchmarks -->
 389     <exec executable="${svn.executable}">
 390        <arg value="--non-interactive"/>
 391        <arg value="--trust-server-cert"/>
 392        <arg value="checkout"/>
 393        <arg value="http://octane-benchmark.googlecode.com/svn/trunk/"/>
 394        <arg value="${test.external.dir}/octane"/>
 395     </exec>
 396   </target>
 397   <target name="update-octane" depends="init" if="${test-sys-prop.external.octane}">
 398     <!-- update octane benchmarks -->
 399     <exec executable="${svn.executable}" dir="${test.external.dir}/octane">
 400        <arg value="--non-interactive"/>
 401        <arg value="--trust-server-cert"/>
 402        <arg value="update"/>
 403     </exec>
 404   </target>
 405 
 406   <!-- sunspider benchmark -->
 407   <target name="get-sunspider" depends="init" unless="${test-sys-prop.external.sunspider}">
 408     <!-- checkout sunspider -->
 409     <exec executable="${svn.executable}">
 410        <arg value="--non-interactive"/>
 411        <arg value="--trust-server-cert"/>
 412        <arg value="checkout"/>
 413        <arg value="http://svn.webkit.org/repository/webkit/trunk/PerformanceTests/SunSpider"/>
 414        <arg value="${test.external.dir}/sunspider"/>
 415     </exec>
 416   </target>
 417   <target name="update-sunspider" depends="init" if="${test-sys-prop.external.sunspider}">
 418     <!-- update sunspider -->
 419     <exec executable="${svn.executable}" dir="${test.external.dir}/sunspider">
 420        <arg value="--non-interactive"/>
 421        <arg value="--trust-server-cert"/>
 422        <arg value="update"/>
 423     </exec>
 424   </target>
 425 
 426   <!-- get all external test scripts -->
 427   <target name="externals" depends="prepare, check-external-tests, get-test262, get-octane, get-sunspider">
 428     <!-- make external test dir -->
 429     <mkdir dir="${test.external.dir}"/> 
 430 
 431     <!-- jquery -->
 432     <mkdir dir="${test.external.dir}/jquery"/>    
 433     <get src="http://code.jquery.com/jquery-1.7.2.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>
 434     <get src="http://code.jquery.com/jquery-1.7.2.min.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>
 435 
 436     <!-- prototype -->
 437     <mkdir dir="${test.external.dir}/prototype"/>    
 438     <get src="http://ajax.googleapis.com/ajax/libs/prototype/1.7.0/prototype.js" dest="${test.external.dir}/prototype" usetimestamp="true" skipexisting="true" ignoreerrors="true"/>
 439 
 440     <!-- underscorejs -->
 441     <mkdir dir="${test.external.dir}/underscore"/> 
 442     <get src="http://underscorejs.org/underscore.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>
 443     <get src="http://underscorejs.org/underscore-min.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>
 444 
 445     <!-- yui -->
 446     <mkdir dir="${test.external.dir}/yui"/> 
 447     <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
 448     <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
 449 
 450   </target>
 451 
 452   <!-- update external test suites that are pulled from source control systems -->
 453   <target name="update-externals" depends="prepare, check-external-tests, update-test262, update-octane, update-sunspider"/>
 454 
 455 </project>