samples/libs/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 20 Feb 2010 18:20:10 +0100
changeset 347 481fbbbcc7b7
parent 341 ca61d3a68998
child 358 afdd66815ee3
permissions -rw-r--r--
Using autoupdate task to work with NBMs
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project name="Downloads necessary libraries" default="libraries" basedir=".">
     3        <target name="libraries" depends="autoupdate-task">
     4         <antcall target="-library">
     5             <param name="library" value="junit-4.4"/>
     6             <param name="url" value="http://switch.dl.sourceforge.net/sourceforge/junit/junit-4.4.jar"/>
     7         </antcall>
     8         <antcall target="-library-from-nbm">
     9             <param name="library" value="org.openide.util.lookup"/>
    10             <param name="library.include" value="**/org-openide-util-lookup.jar"/>
    11         </antcall>
    12         <antcall target="-library-from-nbm">
    13             <param name="library" value="org.openide.util"/>
    14             <param name="library.include" value="**/org-openide-util.jar"/>
    15         </antcall>
    16         <antcall target="-library-from-nbm">
    17             <param name="library" value="org.openide.filesystems"/>
    18             <param name="library.include" value="**/org-openide-filesystems.jar"/>
    19         </antcall>
    20         <antcall target="-library-from-nbm">
    21             <param name="library" value="org.netbeans.modules.nbjunit"/>
    22             <param name="library.include" value="**/org-netbeans-modules-nbjunit.jar"/>
    23         </antcall>
    24         <antcall target="-library-from-nbm">
    25             <param name="library" value="org.netbeans.insane"/>
    26             <param name="library.include" value="**/org-netbeans-insane.jar"/>
    27         </antcall>
    28         <antcall target="-library-from-nbm">
    29             <param name="library" value="org.netbeans.libs.springframework"/>
    30             <param name="library.include" value="**/*spring*.jar"/>
    31         </antcall>
    32         <antcall target="-library-from-nbm">
    33             <param name="library" value="org.netbeans.libs.commons_logging"/>
    34             <param name="library.include" value="**/*commons*logg*.jar"/>
    35         </antcall>
    36     </target>
    37 
    38     <target name="autoupdate-task">
    39         <mkdir dir="dist"/>
    40         <property name="bootstrap.url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/netbeans/harness/tasks.jar"/>
    41         <property name="netbeans.updatecenter.url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml.gz"/>
    42         
    43         <get dest="dist/tasks.jar" src="${bootstrap.url}" usetimestamp="true"/>
    44         <taskdef
    45             name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate"
    46             classpath="dist/tasks.jar"
    47         />
    48     </target>
    49     
    50     <!-- support methods -->
    51     
    52     <target name="-library-check">
    53         <fail message="You need to specify library name" unless="library"/>
    54         <fail message="You need to specify url" unless="url"/>
    55         
    56         <property name="library.jar" location="dist/${library}.jar"/>
    57         <property name="library.zip" location="dist/${library}.zip"/>
    58         
    59         <echo message="Checking for ${library.jar}"/>
    60         <available file="${library.jar}" property="library.available"/>
    61     </target>
    62     <target name="-library" depends="-library-check" unless="library.available">
    63         <mkdir dir="dist"/>
    64         <get dest="${library.jar}" src="${url}"/>
    65         
    66         <fail message="Now the library ${library} should be downloaded">
    67             <condition>
    68                 <not><available file="${library.jar}"/></not>
    69             </condition>
    70         </fail>
    71     </target>
    72     <target name="-library-from-nbm">
    73         <fail message="You need to specify library name" unless="library"/>
    74         <autoupdate todir="dist" updatecenter="${netbeans.updatecenter.url}">
    75             <modules includes="${library}"/>
    76         </autoupdate>
    77 
    78         <copy todir="dist" flatten="true">
    79             <fileset dir="dist">
    80                 <include name="${library.include}"/>
    81             </fileset>
    82         </copy>
    83     </target>
    84     
    85     <target name="clean">
    86         <delete dir="dist"/>
    87     </target>
    88 </project>