samples/libs/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Fri, 31 Aug 2012 20:16:57 +0200
changeset 402 e25dbfce40e9
parent 387 00a0b7267dce
child 407 e1439046d96e
permissions -rw-r--r--
Example demostrating how to use trait to provide effective implementation of linked list while keeping encapsulation
jtulach@18
     1
<?xml version="1.0" encoding="UTF-8"?>
jtulach@402
     2
<project name="libraries" default="libraries" basedir=".">
jtulach@402
     3
       <target name="libraries" depends="scala,autoupdate-task">
jtulach@18
     4
        <antcall target="-library">
jtulach@21
     5
            <param name="library" value="junit-4.4"/>
jtulach@21
     6
            <param name="url" value="http://switch.dl.sourceforge.net/sourceforge/junit/junit-4.4.jar"/>
jtulach@18
     7
        </antcall>
jtulach@358
     8
        <antcall target="-library">
jtulach@358
     9
            <param name="library" value="derby"/>
jtulach@358
    10
            <param name="url" value="http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/derby/derby/10.6.1.0/derby-10.6.1.0.jar"/>
jtulach@358
    11
        </antcall>
jtulach@358
    12
        <antcall target="-library">
jtulach@358
    13
            <param name="library" value="derbyclient"/>
jtulach@358
    14
            <param name="url" value="http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/derby/derbyclient/10.6.1.0/derbyclient-10.6.1.0.jar"/>
jtulach@358
    15
        </antcall>
jtulach@347
    16
        <antcall target="-library-from-nbm">
jtulach@347
    17
            <param name="library" value="org.openide.util.lookup"/>
jtulach@340
    18
            <param name="library.include" value="**/org-openide-util-lookup.jar"/>
jtulach@340
    19
        </antcall>
jtulach@347
    20
        <antcall target="-library-from-nbm">
jtulach@347
    21
            <param name="library" value="org.openide.util"/>
jtulach@79
    22
            <param name="library.include" value="**/org-openide-util.jar"/>
jtulach@79
    23
        </antcall>
jtulach@347
    24
        <antcall target="-library-from-nbm">
jtulach@347
    25
            <param name="library" value="org.openide.filesystems"/>
jtulach@154
    26
            <param name="library.include" value="**/org-openide-filesystems.jar"/>
jtulach@154
    27
        </antcall>
jtulach@347
    28
        <antcall target="-library-from-nbm">
jtulach@347
    29
            <param name="library" value="org.netbeans.modules.nbjunit"/>
jtulach@82
    30
            <param name="library.include" value="**/org-netbeans-modules-nbjunit.jar"/>
jtulach@82
    31
        </antcall>
jtulach@347
    32
        <antcall target="-library-from-nbm">
jtulach@347
    33
            <param name="library" value="org.netbeans.insane"/>
jtulach@82
    34
            <param name="library.include" value="**/org-netbeans-insane.jar"/>
jtulach@82
    35
        </antcall>
jtulach@347
    36
        <antcall target="-library-from-nbm">
jtulach@347
    37
            <param name="library" value="org.netbeans.libs.springframework"/>
jtulach@245
    38
            <param name="library.include" value="**/*spring*.jar"/>
jtulach@245
    39
        </antcall>
jtulach@347
    40
        <antcall target="-library-from-nbm">
jtulach@347
    41
            <param name="library" value="org.netbeans.libs.commons_logging"/>
jtulach@245
    42
            <param name="library.include" value="**/*commons*logg*.jar"/>
jtulach@245
    43
        </antcall>
jtulach@18
    44
    </target>
jtulach@402
    45
    
jtulach@402
    46
    <property name="scala.url" value="http://www.scala-lang.org/downloads/distrib/files/scala-2.9.2.tgz"/>
jtulach@402
    47
    <property name="scala.home" location="${ant.libraries.file}/../dist/scala-2.9.2"/>
jtulach@402
    48
    <available file="${scala.home}/bin/scalac" property="scala.available"/>
jtulach@402
    49
    <target name="scala" unless="scala.available">
jtulach@402
    50
        <mkdir dir="dist"/>
jtulach@402
    51
        <get dest="dist/scala.tgz" src="${scala.url}" skipexisting="true"/>
jtulach@402
    52
        <mkdir dir="${scala.home}"/>
jtulach@402
    53
        <untar compression="gzip" src="dist/scala.tgz" dest="${scala.home}/.."/>
jtulach@402
    54
        <fail message="Can't find ${scala.home}/bin/scalac">
jtulach@402
    55
            <condition>
jtulach@402
    56
                <not>
jtulach@402
    57
                    <available file="${scala.home}/bin/scalac"/>
jtulach@402
    58
                </not>
jtulach@402
    59
            </condition>
jtulach@402
    60
        </fail>
jtulach@402
    61
    </target>
jtulach@347
    62
jtulach@370
    63
    <available property="autoupdate.tasks.jar" file="dist/tasks.jar"/>
jtulach@370
    64
    <property name="bootstrap.url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/netbeans/harness/tasks.jar"/>
jtulach@387
    65
    <property name="netbeans.updatecenter.url" value="http://dlc.sun.com.edgesuite.net/netbeans/7.1.1/final/uc/catalog.xml.gz"/>
jtulach@370
    66
    <target name="-download-autoupdate-task" unless="autoupdate.tasks.jar">
jtulach@347
    67
        <mkdir dir="dist"/>
jtulach@347
    68
        <get dest="dist/tasks.jar" src="${bootstrap.url}" usetimestamp="true"/>
jtulach@370
    69
    </target>
jtulach@370
    70
    <target name="autoupdate-task" depends="-download-autoupdate-task">
jtulach@347
    71
        <taskdef
jtulach@347
    72
            name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate"
jtulach@347
    73
            classpath="dist/tasks.jar"
jtulach@347
    74
        />
jtulach@347
    75
    </target>
jtulach@18
    76
    
jtulach@18
    77
    <!-- support methods -->
jtulach@18
    78
    
jtulach@18
    79
    <target name="-library-check">
jtulach@18
    80
        <fail message="You need to specify library name" unless="library"/>
jtulach@18
    81
        <fail message="You need to specify url" unless="url"/>
jtulach@18
    82
        
jtulach@21
    83
        <property name="library.jar" location="dist/${library}.jar"/>
jtulach@79
    84
        <property name="library.zip" location="dist/${library}.zip"/>
jtulach@21
    85
        
jtulach@21
    86
        <echo message="Checking for ${library.jar}"/>
jtulach@370
    87
        <available file="${library.jar}"     property="library.available"/>
jtulach@18
    88
    </target>
jtulach@18
    89
    <target name="-library" depends="-library-check" unless="library.available">
jtulach@18
    90
        <mkdir dir="dist"/>
jtulach@21
    91
        <get dest="${library.jar}" src="${url}"/>
jtulach@18
    92
        
jtulach@18
    93
        <fail message="Now the library ${library} should be downloaded">
jtulach@18
    94
            <condition>
jtulach@21
    95
                <not><available file="${library.jar}"/></not>
jtulach@18
    96
            </condition>
jtulach@18
    97
        </fail>
jtulach@18
    98
    </target>
jtulach@370
    99
    <target name="-library-from-nbm-check">
jtulach@371
   100
        <echo message="Checking for ${library} and its includes ${library.include}"/>
jtulach@371
   101
        <condition property="library.from.nbm.available">
jtulach@371
   102
            <resourcecount when="greater" count="0">
jtulach@371
   103
                <fileset dir="dist">
jtulach@371
   104
                    <include name="${library.include}"/>
jtulach@371
   105
                </fileset>
jtulach@371
   106
            </resourcecount>
jtulach@371
   107
        </condition>
jtulach@370
   108
    </target>
jtulach@370
   109
    <target name="-library-from-nbm" depends="-library-from-nbm-check" unless="library.from.nbm.available">
jtulach@347
   110
        <fail message="You need to specify library name" unless="library"/>
jtulach@347
   111
        <autoupdate todir="dist" updatecenter="${netbeans.updatecenter.url}">
jtulach@347
   112
            <modules includes="${library}"/>
jtulach@347
   113
        </autoupdate>
jtulach@347
   114
jtulach@347
   115
        <copy todir="dist" flatten="true">
jtulach@347
   116
            <fileset dir="dist">
jtulach@347
   117
                <include name="${library.include}"/>
jtulach@347
   118
            </fileset>
jtulach@347
   119
        </copy>
jtulach@79
   120
    </target>
jtulach@272
   121
    
jtulach@272
   122
    <target name="clean">
jtulach@272
   123
        <delete dir="dist"/>
jtulach@272
   124
    </target>
jtulach@18
   125
</project>