view build-src/build-importer.xml @ 10:4f06f91bdcf4

Update URL for repo in README file to 2.2.6
author kcr
date Sat, 08 Dec 2012 16:27:50 -0800
parents 5a537ec76c6e
children
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8"?>
<project name="build-importer" basedir=".">

<!--
/*
 * Copyright (c) 2009, 2012, 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.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * 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.
 */
-->

    <description>

        Populate the import directory or make sure that imported components
        are available. The import area or directory (import.dir) should be
        populated once and then re-used over multiple builds.
        Typically, the 'ant clean' target will not remove the import area, it
        must be manually removed (ant tasks cannot remove it due to cpptasks).

        All the imported files are freely and easily downloaded, however these
        individual downloads have proven to be unreliable in total because
        of all the websites that are expected to be up and running well.
        Getting an initial fully populated import area by doing multiple
        downloads may take multiple trys.

        If a ../import.zip is available, that will be used to prime the import
        area.

        If the previous hudson build is available, the import.zip from that
        build will be used to populate the entire import area.

        If the property import.dir is explicitly set, then that import area
        will be used but will be considered read-only.

        In all cases, the validity of the import components will be checked.

        *** Sub-repositories should NOT import this file. ***

        This file is imported by the build-defs.xml file.

    </description>

    <property name="import.platform" value="${platform}"/>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
    <!-- Populates the import.dir area with freely available files. -->

    <!-- A global import.zip made available to populate the import area. -->
    <property name="global.import.zip" location="${jfx.root.dir}/../import.zip"/>

    <!-- The location of the import area in the current build area. -->
    <property name="local.import.dir" location="${jfx.root.dir}/import"/>

    <!-- A report file or log of the items inside the import area. -->
    <property name="import.report" value="${local.import.dir}/Report.txt"/>
    
    <!-- If import.dir is set at this point, treat it as read-only. -->
    <condition property="import.read-only">
        <isset property="import.dir"/>
    </condition>

    <import file="${jfx.root.build.src.dir}/build-os-arch.xml"/>

    <!-- Set import.dir to local area if it is not set. -->
    <condition property="import.dir" value="${local.import.dir}">
        <and>
            <not>
                <isset property="import.dir"/>
            </not>
        </and>
    </condition>
    
    <!-- When can we use the global import.zip to populate import.dir. -->
    <condition property="use.global.zip">
        <and>
            <not>
                <isset property="import.read-only"/>
            </not>
            <available file="${global.import.zip}" type="file"/>
        </and>
    </condition>

    <!-- When import.dir is completely empty, needs to be fully populated. -->
    <condition property="local.import.dir.empty">
        <and>
            <not>
                <isset property="import.read-only"/>
            </not>
            <not>
                <available file="${local.import.dir}" type="dir"/>
            </not>
        </and>
    </condition>
    <condition property="use.allof.global.zip">
        <and>
            <isset property="local.import.dir.empty"/>
            <isset property="use.global.zip"/>
        </and>
    </condition>

    <!-- When should we use http downloads. -->
    <condition property="use.http.get">
        <and>
            <not>
                <isset property="import.read-only"/>
            </not>
            <not>
                <isset property="use.global.zip"/>
            </not>
        </and>
    </condition>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
    <!-- Macrodefs -->

    <!-- Print out a property value -->
    <macrodef name="print-prop">
        <attribute name="name"/>
        <sequential>
            <condition property="@{name}.value" value="${@{name}}" else="">
                <isset property="@{name}"/>
            </condition>
            <echo level="info"
		  message="    @{name}: ${@{name}.value}"/>
        </sequential>
    </macrodef>

    <!-- Set some basic properties for this import item -->
    <macrodef name="import-set-properties">
        <attribute name="description"/>
        <attribute name="item"/>
        <attribute name="version"/>
        <attribute name="url"/>
        <attribute name="basename"/>
        <attribute name="platform"/>
        <attribute name="includes"/>
        <sequential>
            <property name="import.@{item}.description"
	              value="@{description}"/>
            <property name="import.@{item}.version"
	              value="@{version}"/>
            <property name="import.@{item}.url"
	              value="@{url}"/>
            <property name="import.@{item}.basename"
	              value="@{basename}"/>
            <property name="import.@{item}.platform"
	              value="@{platform}"/>
            <property name="import.@{item}.includes"
	              value="@{includes}"/>
            <property name="import.@{item}.dir"
                      location="${import.dir}/@{item}-@{version}/@{platform}"/>
            <property name="import.@{item}.local.dir"
                      location="${local.import.dir}/@{item}-@{version}/@{platform}"/>
            <property name="import.@{item}.touchfile"
                      location="${import.@{item}.local.dir}-installed"/>
            <condition property="import.@{item}.installed">
                <and>
                    <available file="${import.@{item}.touchfile}" type="file"/>
                    <available file="${import.@{item}.local.dir}" type="dir"/>
                </and>
            </condition>
            <condition property="import.@{item}.use.http.get">
                <and>
                    <not>
                        <isset property="import.read-only"/>
                    </not>
                    <not>
                        <isset property="import.@{item}.installed"/>
                    </not>
                </and>
            </condition>
        </sequential>
    </macrodef>

    <!-- This file must exist after the import -->
    <macrodef name="import-file-must-exist">
        <attribute name="item"/>
        <attribute name="property"/>
        <sequential>
            <do-file-check file="${@{property}}"/>
            <echo level="info"
		  message="File exists: ${@{property}}"/>
        </sequential>
    </macrodef>
    
    <!-- This class must exist in this classpath -->
    <macrodef name="import-classname-must-exist">
        <attribute name="item"/>
        <attribute name="classname"/>
        <attribute name="classpath"/>
        <sequential>
            <do-class-check classname="@{classname}" classpath="@{classpath}"/>
            <echo level="info"
		  message="Classname exists: @{classname}"/>
        </sequential>
    </macrodef>

    <!-- Perform the download and add to the download report -->
    <macrodef name="import-get">
        <attribute name="item"/>
        <attribute name="suffix"/>
        <sequential>
            <fail if="import.downloads.disabled"
		  message="Downloads have been disabled"/>
            <property name="import.@{item}.downloaded.file"
                      location="${import.@{item}.local.dir}/${import.@{item}.basename}@{suffix}"/>
            <delete dir="${import.@{item}.local.dir}" quiet="true"/>
            <mkdir dir="${import.@{item}.local.dir}"/>
            <echo level="info"
		  message="DOWNLOAD WARNING: Getting @{item} from ${import.@{item}.url} (version ${import.@{item}.version})"/>
            <delete file="${import.@{item}.downloaded.file}"      quiet="true"/>
            <delete file="${import.@{item}.downloaded.file}.temp" quiet="true"/>
            <get src="${import.@{item}.url}/${import.@{item}.basename}@{suffix}"
                 dest="${import.@{item}.downloaded.file}.temp"/>
            <move file="${import.@{item}.downloaded.file}.temp"
                  tofile="${import.@{item}.downloaded.file}" verbose="true"/>
            <import-file-must-exist item="@{item}"
			                        property="import.@{item}.downloaded.file"/>
            <echo message="${import.@{item}.version}"
                  file="${import.@{item}.touchfile}"/>
            <echo level="info"
		  file="${import.report}" append="true">
Import Item: @{item}
Description: ${import.@{item}.description}
    Version: ${import.@{item}.version} ${import.@{item}.platform}
        Url: ${import.@{item}.url}
            </echo>
        </sequential>
    </macrodef>
    
    <macrodef name="import-make-read-only">
        <attribute name="dir"/>
        <sequential>
            <!-- Temporaily, leave as is
	    <chmod dir="@{dir}"
		   perm="a-w" type="both" includes="**/**"/>
            <chmod dir="@{dir}" perm="a-w" type="dir"/>
	    -->
        </sequential>
    </macrodef>
    
    <!-- Download a local copy of this item from the url (tar.bz2 bundle) -->
    <macrodef name="download-url-bzip2">
        <attribute name="item"/>
        <sequential>
            <import-get item="@{item}" suffix=".tar.bz2"/>
            <exec dir="${import.@{item}.local.dir}" executable="tar" failonerror="true">
                <arg value="-xjpf"/>
                <arg value="${import.@{item}.downloaded.file}"/>
            </exec>
            <delete file="${import.@{item}.downloaded.file}"/>
            <import-make-read-only dir="${import.@{item}.local.dir}"/>
        </sequential>
    </macrodef>

    <!-- Download a local copy of this item from the url (tar.gz bundle) -->
    <macrodef name="download-url-tgz">
        <attribute name="item"/>
        <sequential>
            <import-get item="@{item}" suffix=".tar.gz"/>
            <do-untar-bundle tar="${import.@{item}.downloaded.file}"
                             dir="${import.@{item}.local.dir}"
                             includes="${import.@{item}.includes}"/>
            <delete file="${import.@{item}.downloaded.file}"/>
            <import-make-read-only dir="${import.@{item}.local.dir}"/>
        </sequential>
    </macrodef>

    <!-- Download a local copy of this item from the url (zip bundle) -->
    <macrodef name="download-url-zip">
        <attribute name="item"/>
        <sequential>
            <import-get item="@{item}" suffix=".zip"/>
            <do-unzip-bundle zip="${import.@{item}.downloaded.file}"
                             dir="${import.@{item}.local.dir}"
                             includes="${import.@{item}.includes}"/>
            <delete file="${import.@{item}.downloaded.file}"/>
            <import-make-read-only dir="${import.@{item}.local.dir}"/>
        </sequential>
    </macrodef>

    <!-- Download a local copy of this item from the url (jar file) -->
    <macrodef name="download-url-jar">
        <attribute name="item"/>
        <sequential>
            <import-get item="@{item}" suffix=".jar"/>
            <import-make-read-only dir="${import.@{item}.local.dir}"/>
        </sequential>
    </macrodef>

    <!-- Check the local copy or download -->
    <macrodef name="import-check">
        <attribute name="item"/>
        <sequential>
            <echo level="info"
		  message="Checked imported @{item} version ${import.@{item}.version}"/>
        </sequential>
    </macrodef>

    <!--- Import all the items for a specific platform -->
    <macrodef name="import-platform">
        <attribute name="platform"/>
        <sequential>
            <echo level="info" message="Importing for platform @{platform}"/>
            <ant target="all-imports-platform-specific" inheritAll="false">
                <property name="import.platform" value="@{platform}"/>
            </ant>
            <property name="import.platform.@{platform}.checked" value="true"/>
        </sequential>
    </macrodef>

    <!-- Delete item -->
    <macrodef name="import-delete">
        <attribute name="item"/>
        <attribute name="version"/>
        <sequential>
            <delete dir="${local.import.dir}/@{item}-@{version}"/>
            <delete file="${local.import.dir}/@{item}-@{version}-installed"/>
        </sequential>
    </macrodef>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <!-- Import everything for all platforms -->
    <!-- TODO: do we still need ppc binaries for JOGL? They aren't available for JOGL2 -->
    <target name="all-imports"
            depends="
	        check-settings,
                check-for-empty-import,
		all-imports-generic,
		all-imports-solaris-i586,
		all-imports-solaris-amd64,
		all-imports-linux-i586,
		all-imports-linux-amd64,
		all-imports-windows-i586,
		all-imports-windows-amd64,
		all-imports-macosx-universal,
		all-imports-cleanup
            ">
        <echo level="info"
	      message="Imported all files to ${local.import.dir} for all platforms"/>
    </target>

    <target name="all-imports-cleanup">
	<import-delete 
	    item="ant"              version="1.7.0"/>
	<import-delete 
	    item="ant"              version="1.7.1"/>
	<import-delete 
	    item="antlr"            version="3.1.2"/>
	<import-delete 
	    item="antlr301"         version="3.0.1"/>
	<import-delete 
	    item="javacc"           version="4.1"/>
	<import-delete 
	    item="jogl"             version="1.1.1"/>
	<import-delete 
	    item="jogl-natives"     version="1.1.1"/>
	<import-delete 
	    item="jogl2"            version="2.0-pre-20090622"/>
	<import-delete 
	    item="jogl2"            version="2.0-pre-20090804"/>
	<import-delete 
	    item="jogl2"            version="2.0-pre-20090821"/>
	<import-delete 
	    item="retroweaver"      version="2.0.3"/>
	<import-delete 
	    item="svnstat"          version="1.0"/>
	<import-delete 
	    item="cpptasks"         version="1.0b5"/>
	<import-delete 
	    item="swing-layout"     version="1.0.3"/>
	<import-delete 
	    item="wysiwygdocbook"   version="1.02"/>
	<import-delete 
	    item="junit-dep"        version="4.4"/>
	<import-delete 
	    item="markymarker"      version="noversion"/>
	<import-delete 
            item="bitstream"        version="1.10"/>
	<import-delete 
	    item="webnode-deps-mac"      version="noversion"/>
	<import-delete 
	    item="webnode-deps-windows"  version="noversion"/>

	<import-delete 
            item="crosstools.intel-ce3100-x86-glibc" version="1.0"/>
	<import-delete 
            item="crossroots.intel-ce3100-x86-libs" version="1.0"/>

	<import-delete 
            item="crosstools.intel-ce3100-x86-glibc" version="13.5"/>
	<import-delete 
            item="crossroots.intel-ce3100-x86-libs" version="13.5"/>

	<import-delete 
            item="crosstools.intel-ce3100-x86-glibc" version="15.0_1.0"/>
	<import-delete 
            item="crossroots.intel-ce3100-x86-libs" version="15.0_1.0"/>

	<import-delete 
            item="crosstools.intel-ce3100-x86-glibc" version="16.0"/>
	<import-delete 
            item="crossroots.intel-ce3100-x86-libs" version="16.0"/>

	<import-delete 
            item="crosstools.lge-broadcom-mips-uclibc" version="1.0"/>
	<import-delete 
            item="crossroots.lge-broadcom-mips-libs" version="1.0"/>
    </target>
    
    <target name="all-imports-this-platform"
            depends="all-imports-platform-specific">
    </target>
    <target name="all-imports-solaris-sparc"
            unless="import.platform.solaris-sparc.checked">
        <import-platform platform="solaris-sparc"/>
    </target>
    <target name="all-imports-solaris-sparcv9"
            unless="import.platform.solaris-sparcv9.checked">
        <import-platform platform="solaris-sparcv9"/>
    </target>
    <target name="all-imports-solaris-i586"
            unless="import.platform.solaris-i586.checked">
        <import-platform platform="solaris-i586"/>
    </target>
    <target name="all-imports-solaris-amd64"
            unless="import.platform.solaris-amd64.checked">
        <import-platform platform="solaris-amd64"/>
    </target>
    <target name="all-imports-linux-i586"
            unless="import.platform.linux-i586.checked">
        <import-platform platform="linux-i586"/>
    </target>
    <target name="all-imports-linux-amd64"
            unless="import.platform.linux-amd64.checked">
        <import-platform platform="linux-amd64"/>
    </target>
    <target name="all-imports-windows-i586"
            unless="import.platform.windows-i586.checked"
            depends="import-webnode-deps">
        <import-platform platform="windows-i586"/>
    </target>
    <target name="all-imports-windows-amd64"
            unless="import.platform.windows-amd64.checked"
            depends="import-webnode-deps">
        <import-platform platform="windows-amd64"/>
    </target>
    <target name="all-imports-macosx-universal"
            unless="import.platform.macosx-universal.checked"
            depends="import-webnode-deps">
        <import-platform platform="macosx-universal"/>
    </target>
    <target name="all-imports-macosx-ppc"
            unless="import.platform.macosx-ppc.checked">
        <import-platform platform="macosx-ppc"/>
    </target>
   
    <target name="check-settings">
        <echo level="info"
	      message=""/>
        <echo level="info"
	      message="Property Settings:"/>
        <echo level="info"
	      message="------------------"/>
        <print-prop name="platform.home"/>
        <print-prop name="platform6u10.home"/>
        <print-prop name="import.dir"/>
        <print-prop name="export.dir"/>
        <print-prop name="os_name"/>
        <print-prop name="arch"/>
        <print-prop name="os.name"/>
        <print-prop name="os.version"/>
        <print-prop name="os.arch"/>
        <print-prop name="user.name"/>
        <print-prop name="user.dir"/>
        <print-prop name="user.home"/>
        <print-prop name="java.home"/>
        <print-prop name="java.version"/>
        <print-prop name="java.vendor"/>
        <print-prop name="java.vm.version"/>
        <print-prop name="ant.home"/>
        <print-prop name="ant.version"/>
        <echo level="info"
	      message=""/>
        <fail unless="platform.home"
	       message="You have to setup platform.home property to JDK 5+ for proper building. Example: ant -Dplatform.home=/usr/lib/java/jdk1.6.0_10"/>
        <fail message="You need JDK 1.5 or higher to build JavaFX Player.">
            <condition>
                <not>
                    <available classname="java.lang.Appendable"/>
                </not>
            </condition>
        </fail>
    </target>

    <!-- Full global copy from directory or zip file. -->
    <target name="check-for-empty-import"
            depends="use-global-zip-import-if-available,
                     use-hudson-zip-import-if-needed"/>
    <target name="use-global-zip-import-if-available"
            if="use.allof.global.zip">
        <do-unzip-bundle zip="${global.import.zip}" dir="${local.import.dir}"/>
    </target>
    <target name="use-hudson-zip-import-if-needed"
            if="local.import.dir.empty"
            unless="use.allof.global.zip">
        <condition property="use.hudson.zip">
            <and>
                <not>
                    <isset property="jfx.open.only"/>
                </not>
                <isset property="local.import.dir.empty"/>
                <isreachable host="${hudson.jfx.host}" timeout="10"/>
            </and>
        </condition>
        <antcall target="use-hudson-zip-import"/>
    </target>
    <target name="use-hudson-zip-import" if="use.hudson.zip">
        <do-get-previous-bundle name="import"
            url="${hudson.jfx.import.url}" dir="${local.import.dir}"/>
    </target>

    <!-- Import everything that is generic. (same for all platforms) -->
    <target name="all-imports-generic">
        <!-- <parallel threadCount='2'> -->
        <antcall target="import-ant-contrib"/>
        <antcall target="import-antlr"/>
        <antcall target="import-antlrworks"/>
        <antcall target="import-antpack200"/>
        <antcall target="import-asm"/>
        <antcall target="import-cobertura"/>
        <antcall target="import-docbook"/>
        <antcall target="import-docbook-xml"/>
        <antcall target="import-findbugs"/>
        <antcall target="import-javacc"/>
        <antcall target="import-junit"/>
        <antcall target="import-checkstyle"/>
        <antcall target="import-physx"/>
        <antcall target="import-javac"/>
        <antcall target="import-swt"/>
        <antcall target="import-benchmarks"/>
        <!-- </parallel> -->
        <echo level="info"
	      message="Imported all files to ${local.import.dir}"/>
    </target>
    
    <!-- Import everything for a single platform (import.platform) -->
    <target name="all-imports-platform-specific">
        <echo level="info"
	      message="Imported all files to ${local.import.dir}"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
   
    <import-set-properties
	description="Junit: Test Framework"
	item="junit"
	version="4.8.2"
	url="http://jfx.us.oracle.com/imports"
	basename="junit-4.8.2"
	platform=""
	includes="**"/>
    <target name="import-get-junit"
            if="import.junit.use.http.get"
	        unless="import.junit.installed">
        <download-url-jar item="junit"/>
    </target>
    <property name="import.junit.jar"
	      location="${import.junit.dir}/${import.junit.basename}.jar"/>
    <target name="import-junit"
            depends="import-get-junit">
        <import-file-must-exist item="junit"
		                        property="import.junit.jar"/>
        <import-check item="junit"/>
    </target>
    
    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Antlr: Parser Generator"
	item="antlr"
	version="3.1.3"
	url="http://www.antlr.org/download"
	basename="antlr-3.1.3"
	platform=""
	includes="antlr-3.1.3/lib/*.jar"/>
    <target name="import-get-antlr"
            if="import.antlr.use.http.get"
	        unless="import.antlr.installed">
        <download-url-tgz item="antlr"/>
    </target>
    <property name="import.antlr.lib"
	      location="${import.antlr.dir}/antlr-${import.antlr.version}/lib"/>
    <property name="import.antlr.jar"
	      location="${import.antlr.lib}/antlr-${import.antlr.version}.jar"/>
    <property name="import.antlr277.jar"
	      location="${import.antlr.lib}/antlr-2.7.7.jar"/>
    <property name="import.antlr-runtime.jar"
	      location="${import.antlr.lib}/antlr-runtime-${import.antlr.version}.jar"/>
    <property name="import.antlr.stringtemplate.jar"
	      location="${import.antlr.lib}/stringtemplate-3.2.jar"/>
    <property name="import.antlr.classpath"
	      value="${import.antlr.jar}:${import.antlr-runtime.jar}:${import.antlr.stringtemplate.jar}"/>
    <target name="import-antlr"
            depends="import-get-antlr">
        <import-file-must-exist item="antlr"
		    property="import.antlr.jar"/>
        <import-file-must-exist item="antlr"
		    property="import.antlr277.jar"/>
        <import-file-must-exist item="antlr"
		    property="import.antlr-runtime.jar"/>
        <import-file-must-exist item="antlr"
		    property="import.antlr.stringtemplate.jar"/>
        <import-classname-must-exist item="antlr"
		    classname="org.antlr.Tool"
		    classpath="${import.antlr.jar}"/>
        <import-check item="antlr"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Ant-contrib: Ant Building Help (ant-contrib)"
	item="ant-contrib"
	version="1.0b3"
	url="http://downloads.sourceforge.net/ant-contrib"
	basename="ant-contrib-1.0b3-bin"
	platform=""
	includes="**"/>
    <target name="import-get-ant-contrib"
            if="import.ant-contrib.use.http.get"
	        unless="import.ant-contrib.installed">
        <download-url-tgz item="ant-contrib"/>
    </target>
    <property name="import.ant-contrib.home"
	      location="${import.ant-contrib.dir}/ant-contrib"/>
    <property name="import.ant-contrib.jar"
	      location="${import.ant-contrib.home}/ant-contrib-${import.ant-contrib.version}.jar"/>
    <target name="import-ant-contrib"
            depends="import-get-ant-contrib">
        <import-file-must-exist item="ant-contrib"
		    property="import.ant-contrib.jar"/>
        <import-check item="ant-contrib"/>
    </target>
    
    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="antpack200: Ant task for running pack200"
	item="antpack200"
	version="1.0beta"
	url="https://deployment.dev.java.net/files/documents/3921/27491"
	basename="deployment-ant-pack200-1.0beta"
	platform=""
	includes="**"/>
    <target name="import-get-antpack200"
            if="import.antpack200.use.http.get"
	        unless="import.antpack200.installed">
        <download-url-zip item="antpack200"/>
    </target>
    <property name="import.antpack200.jar"
	      location="${import.antpack200.dir}/deployment-ant-pack200-1.0beta.jar"/>
    <target name="import-antpack200"
            depends="import-get-antpack200">
        <import-file-must-exist item="antpack200"
		    property="import.antpack200.jar"/>
        <import-check item="antpack200"/>
    </target>
    
    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
    <!-- Note: change the version, add the old to all-imports-cleanup -->

    <import-set-properties
	description="Docbook: ???"
	item="docbook"
	version="1.73.1"
	url="http://downloads.sourceforge.net/docbook"
	basename="docbook-xsl-1.73.1"
	platform=""
	includes="**"/>
    <target name="import-get-docbook"
            if="import.docbook.use.http.get"
	        unless="import.docbook.installed">
        <download-url-tgz item="docbook"/>
    </target>
    <property name="import.docbook.lib"
	      location="${import.docbook.dir}/docbook-xsl-${import.docbook.version}/lib"/>
    <property name="import.docbook.xsl"
	      location="${import.docbook.lib}/lib.xsl"/>
    <target name="import-docbook"
            depends="import-get-docbook">
        <import-file-must-exist item="docbook"
		    property="import.docbook.xsl"/>
        <import-check item="docbook"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Findbugs: Finds Java Bugs"
	item="findbugs"
	version="1.3.3"
	url="http://prdownloads.sourceforge.net/findbugs"
	basename="findbugs-1.3.3"
	platform=""
	includes="**"/>
    <target name="import-get-findbugs"
            if="import.findbugs.use.http.get"
	        unless="import.findbugs.installed">
        <download-url-tgz item="findbugs"/>
    </target>
    <property name="import.findbugs.home"
	      location="${import.findbugs.dir}/findbugs-${import.findbugs.version}"/>
    <property name="import.findbugs.lib"
	      location="${import.findbugs.home}/lib"/>
    <property name="import.findbugs.jar"
	      location="${import.findbugs.lib}/findbugs.jar"/>
    <target name="import-findbugs"
            depends="import-get-findbugs">
        <import-file-must-exist item="findbugs"
		    property="import.findbugs.jar"/>
        <import-classname-must-exist item="findbugs"
		    classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
		    classpath="${import.findbugs.jar}"/>
        <import-check item="findbugs"/>
    </target>
    
    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
    
    <import-set-properties
	description="Docbook-xml: ???"
	item="docbook-xml"
	version="4.5"
	url="http://www.docbook.org/xml/4.5"
	basename="docbook-xml-4.5"
	platform=""
	includes="**"/>
    <target name="import-get-docbook-xml"
            if="import.docbook-xml.use.http.get"
	        unless="import.docbook-xml.installed">
        <download-url-zip item="docbook-xml"/>
    </target>
    <property name="import.docbook-xml.xml"
	      location="${import.docbook-xml.dir}/catalog.xml"/>
    <target name="import-docbook-xml"
            depends="import-get-docbook-xml">
        <import-file-must-exist item="docbook-xml"
		    property="import.docbook-xml.xml"/>
        <import-check item="docbook-xml"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
        description="NVidia PhysX SDK"
        item="nvidia-physx-sdk"
        version="2.8.4"
        url="http://jfx.us.oracle.com/imports"
        basename="nvidia-physx-sdk-2.8.4-${os_name}-${arch}"
        platform=""
        includes="**"/>
    <target name="import-get-nvidia-physx-sdk"
            if="import.nvidia-physx-sdk.use.http.get"
            unless="import.nvidia-physx-sdk.installed">
        <download-url-zip item="nvidia-physx-sdk"/>
    </target>
    <property name="import.nvidia-physx-sdk.zip"
              location="${import.nvidia-physx-sdk.dir}/nvidia-physx-sdk-2.8.4.zip"/>
    <target name="import-nvidia-physx-sdk" depends="import-get-nvidia-physx-sdk">
        <import-file-must-exist item="nvidia-physx-sdk" property="import.nvidia-physx-sdk.dir"/>
        <import-check item="nvidia-physx-sdk"/>
    </target>
    <condition property="need.import.physx">
        <or>
            <equals arg1="${platform}" arg2="windows-i586"/>
            <equals arg1="${platform}" arg2="windows-amd64"/>
        </or>
    </condition>
    <target name="import-physx" if="need.import.physx">
        <antcall target="import-nvidia-physx-sdk"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="checkstyle"
	item="checkstyle"
	version="5.1"
	url="http://jfx.us.oracle.com/imports"
	basename="checkstyle-5.1"
	platform=""
	includes="**"/>
    <target name="import-get-checkstyle"
            if="import.checkstyle.use.http.get"
	        unless="import.checkstyle.installed">
        <download-url-jar item="checkstyle"/>
    </target>
    <property name="import.checkstyle.jar"
	      location="${import.checkstyle.dir}/${import.checkstyle.basename}.jar"/>
    <target name="import-checkstyle"
            depends="import-get-checkstyle">
        <import-file-must-exist item="checkstyle"
		    property="import.checkstyle.jar"/>
        <import-check item="checkstyle"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="javac"
	item="javac"
	version="0.1"
	url="http://jfx.us.oracle.com/imports"
	basename="javac"
	platform=""
	includes="**"/>
    <target name="import-get-javac"
            if="import.javac.use.http.get"
	        unless="import.javac.installed">
        <download-url-jar item="javac"/>
    </target>
    <property name="import.javac.jar"
	      location="${import.javac.dir}/${import.javac.basename}.jar"/>
    <target name="import-javac"
            depends="import-get-javac">
        <import-file-must-exist item="javac"
		    property="import.javac.jar"/>
        <import-check item="javac"/>
    </target>
    

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
        description="SWT"
        item="swt"
        version="3.7.1"
        url="http://jfx.us.oracle.com/imports"
        basename="swt-3.7.1-${os_name}-${arch}"
        platform=""
        includes="**"/>
    <target name="import-get-swt"
            if="import.swt.use.http.get"
            unless="import.swt.installed">
        <download-url-zip item="swt"/>
    </target>
    <property name="import.swt.jar"
              location="${import.swt.dir}/swt-debug.jar"/>
    <target name="import-swt" depends="import-get-swt">
        <import-file-must-exist item="swt" property="import.swt.dir"/>
        <import-check item="swt"/>
    </target>


    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Antlrworks: IDE for Antlr?"
	item="antlrworks"
	version="1.3.1"
	url="http://antlr.org/download"
	basename="antlrworks-1.3.1"
	platform=""
	includes="**"/>
    <target name="import-get-antlrworks"
            if="import.antlrworks.use.http.get"
	        unless="import.antlrworks.installed">
        <download-url-jar item="antlrworks"/>
    </target>
    <property name="import.antlrworks.jar"
	      location="${import.antlrworks.dir}/${import.antlrworks.basename}.jar"/>
    <target name="import-antlrworks"
            depends="import-get-antlrworks">
        <import-file-must-exist item="antlrworks"
		    property="import.antlrworks.jar"/>
        <import-classname-must-exist item="antlrworks"
		    classname="org.antlr.works.Console"
		    classpath="${import.antlrworks.jar}"/>
        <import-check item="antlrworks"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Asm: Java bytecode manipulation and analysis framework (BSD)"
	item="asm"
	version="3.1"
	url="http://download.forge.objectweb.org/asm"
	basename="asm-3.1-bin"
	platform=""
	includes="**"/>
    <target name="import-get-asm"
            if="import.asm.use.http.get"
	        unless="import.asm.installed">
        <download-url-zip item="asm"/>
    </target>
    <property name="import.asm.home"
	      location="${import.asm.dir}/asm-${import.asm.version}"/>
    <property name="import.asm.lib"
	      location="${import.asm.home}/lib"/>
    <property name="import.asm.jar"
	      location="${import.asm.lib}/asm-${import.asm.version}.jar"/>
    <property name="import.asm-all.jarname"
	      value="asm-all-${import.asm.version}.jar"/>
    <property name="import.asm-all.jar"
	      location="${import.asm.lib}/all/${import.asm-all.jarname}"/>
    <target name="import-asm"
            depends="import-get-asm">
        <import-file-must-exist item="asm"
		    property="import.asm.jar"/>
        <import-file-must-exist item="asm"
		    property="import.asm-all.jar"/>
        <import-check item="asm"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Cobertura: Code Test Coverage Analysis"
	item="cobertura"
	version="1.9.3"
	url="http://downloads.sourceforge.net/cobertura"
	basename="cobertura-1.9.3-bin"
	platform=""
	includes="**"/>
    <target name="import-get-cobertura"
            if="import.cobertura.use.http.get"
	        unless="import.cobertura.installed">
        <download-url-zip item="cobertura"/>
    </target>
    <property name="import.cobertura.home"
	      location="${import.cobertura.dir}/cobertura-${import.cobertura.version}"/>
    <property name="import.cobertura.jar"
	      location="${import.cobertura.home}/cobertura.jar"/>
    <property name="import.cobertura.asm.jar"
	      location="${import.cobertura.home}/lib/asm-3.0.jar"/>
    <property name="import.cobertura.asm-tree.jar"
	      location="${import.cobertura.home}/lib/asm-tree-3.0.jar"/>
    <property name="import.cobertura.jakarta-oro.jar"
	      location="${import.cobertura.home}/lib/jakarta-oro-2.0.8.jar"/>
    <property name="import.cobertura.log4j.jar"
	      location="${import.cobertura.home}/lib/log4j-1.2.9.jar"/>
    <target name="import-cobertura"
            depends="import-get-cobertura">
        <import-file-must-exist item="cobertura"
		    property="import.cobertura.jar"/>
        <import-file-must-exist item="cobertura"
		    property="import.cobertura.asm.jar"/>
        <import-file-must-exist item="cobertura"
		    property="import.cobertura.asm-tree.jar"/>
        <import-file-must-exist item="cobertura"
		    property="import.cobertura.jakarta-oro.jar"/>
        <import-file-must-exist item="cobertura"
		    property="import.cobertura.log4j.jar"/>
        <import-check item="cobertura"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Javacc: Javacc"
	item="javacc"
	version="4.2"
        url="https://javacc.dev.java.net/files/documents/17/117793"
	basename="javacc-4.2"
	platform=""
	includes="**"/>
    <target name="import-get-javacc"
            if="import.javacc.use.http.get"
	        unless="import.javacc.installed">
        <download-url-tgz item="javacc"/>
    </target>
    <property name="import.javacc.jar"
	      location="${import.javacc.dir}/javacc-${import.javacc.version}/bin/lib/javacc.jar"/>
    <target name="import-javacc"
            depends="import-get-javacc">
        <import-file-must-exist item="javacc"
		    property="import.javacc.jar"/>
        <import-check item="javacc"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="benchmarks"
	item="benchmarks"
	version="2.1.1"
	url="http://jfx.us.oracle.com/imports"
	basename="benchmarks-2.1.1"
	platform=""
	includes="**"/>
    <target name="import-get-benchmarks"
            if="import.benchmarks.use.http.get"
	        unless="import.benchmarks.installed">
        <download-url-jar item="benchmarks"/>
    </target>
    <property name="import.benchmarks.jar"
	      location="${import.benchmarks.dir}/${import.benchmarks.basename}.jar"/>
    <target name="import-benchmarks"
            depends="import-get-benchmarks">
        <import-file-must-exist item="benchmarks"
		    property="import.benchmarks.jar"/>
        <import-check item="benchmarks"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    <import-set-properties
	description="Webnode dependencies"
	item="webnode-deps"
	version="1.3"
	url="http://jfx.us.oracle.com/imports"
	basename="webnode-deps-1.3-${os_name}-${arch}"
        platform=""
	includes="**"/>
    <target name="import-get-webnode-deps"
            if="import.webnode-deps.use.http.get"
            unless="import.webnode-deps.installed">
        <download-url-zip item="webnode-deps"/>
    </target>
    <property name="import.webnode-deps.root"
	      location="${import.webnode-deps.dir}/import"/>
    <target name="import-webnode-deps" unless="isLinux">
        <antcall target="import-get-webnode-deps"/>
        <import-file-must-exist item="webnode-deps"
                                property="import.webnode-deps.root"/>
        <import-check item="webnode-deps"/>
    </target>

    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

</project>