make/nashorn/build-nasgen.xml
author vlivanov
Thu, 18 Jan 2018 02:25:18 +0300
changeset 48596 860326263d1f
parent 47217 72e3ae9a25eb
permissions -rw-r--r--
8194963: SystemDictionary::link_method_handle_constant() can't link MethodHandle.invoke()/invokeExact() Reviewed-by: kvn, psandoz

<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.
 
 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).
 
 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 
 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.
-->
<project name="build-nasgen" default="run-nasgen" basedir=".">
    <description>Builds and runs nasgen.</description>
    <import file="build.xml"/>

    <target name="build-nasgen" depends="prepare">
        <ant inheritAll="false" dir="${nashorn.make.dir}/buildtools/nasgen"
            antfile="build.xml" target="jar"/>
    </target>

    <target name="run-nasgen" depends="build-nasgen">
        <java classname="${nasgen.tool}" fork="true" failonerror="true">
            <classpath>
                <pathelement location="${basedir}/jcov2/lib/jcov_j2se_rt.jar"/>
                <pathelement location="${build.dir}/nasgen/dist/nasgen.jar"/>
            </classpath>
            <jvmarg line="${nasgen.module.imports}"/>
            <arg value="${nashorn.module.classes.dir}"/>
            <arg value="jdk.nashorn.internal.objects"/>
            <arg value="${nashorn.module.classes.dir}"/>
        </java>
    </target>

    <target name="run-nasgen-eclipse" depends="load-properties">
        <mkdir dir="${basedir}/build/eclipse/.nasgentmp"/>

        <java classname="jdk.nashorn.internal.tools.nasgen.Main" fork="true" failonerror="true">
            <classpath>
                <pathelement location="${basedir}/buildtools/nasgen/dist/nasgen.jar"/>
            </classpath>
            <jvmarg line="${nasgen.module.imports}"/>
            <arg value="${basedir}/build/eclipse"/>
            <arg value="jdk.nashorn.internal.objects"/>
            <arg value="${basedir}/build/eclipse/.nasgentmp"/>
        </java>

        <move todir="${basedir}/build/eclipse/jdk/nashorn/internal/objects">
            <fileset dir="${basedir}/build/eclipse/.nasgentmp/jdk/nashorn/internal/objects">
                <include name="*.class"/>
            </fileset>
        </move>

        <delete includeemptydirs="true"><fileset dir="${basedir}/build/eclipse/.nasgentmp" includes="**"/></delete>

        <copy todir="${basedir}/build/eclipse/jdk/nashorn/internal/objects" preservelastmodified="true">
            <fileset dir="${basedir}/build/eclipse/jdk/nashorn/internal/objects">
                <include name="**/*.class"/>
            </fileset>
        </copy>
    </target>

    <target name="clean-nasgen">
        <ant inheritAll="false" dir="${nashorn.make.dir}/buildtools/nasgen"
            antfile="build.xml" target="clean"/>
    </target>

</project>