samples/libs/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Fri, 06 Apr 2012 10:00:19 +0200
changeset 387 00a0b7267dce
parent 371 6a0d94f47107
child 402 e25dbfce40e9
permissions -rw-r--r--
Use fixed update center for NetBeans IDE 7.1.1
     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">
     9             <param name="library" value="derby"/>
    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"/>
    11         </antcall>
    12         <antcall target="-library">
    13             <param name="library" value="derbyclient"/>
    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"/>
    15         </antcall>
    16         <antcall target="-library-from-nbm">
    17             <param name="library" value="org.openide.util.lookup"/>
    18             <param name="library.include" value="**/org-openide-util-lookup.jar"/>
    19         </antcall>
    20         <antcall target="-library-from-nbm">
    21             <param name="library" value="org.openide.util"/>
    22             <param name="library.include" value="**/org-openide-util.jar"/>
    23         </antcall>
    24         <antcall target="-library-from-nbm">
    25             <param name="library" value="org.openide.filesystems"/>
    26             <param name="library.include" value="**/org-openide-filesystems.jar"/>
    27         </antcall>
    28         <antcall target="-library-from-nbm">
    29             <param name="library" value="org.netbeans.modules.nbjunit"/>
    30             <param name="library.include" value="**/org-netbeans-modules-nbjunit.jar"/>
    31         </antcall>
    32         <antcall target="-library-from-nbm">
    33             <param name="library" value="org.netbeans.insane"/>
    34             <param name="library.include" value="**/org-netbeans-insane.jar"/>
    35         </antcall>
    36         <antcall target="-library-from-nbm">
    37             <param name="library" value="org.netbeans.libs.springframework"/>
    38             <param name="library.include" value="**/*spring*.jar"/>
    39         </antcall>
    40         <antcall target="-library-from-nbm">
    41             <param name="library" value="org.netbeans.libs.commons_logging"/>
    42             <param name="library.include" value="**/*commons*logg*.jar"/>
    43         </antcall>
    44     </target>
    45 
    46     <available property="autoupdate.tasks.jar" file="dist/tasks.jar"/>
    47     <property name="bootstrap.url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/netbeans/harness/tasks.jar"/>
    48     <property name="netbeans.updatecenter.url" value="http://dlc.sun.com.edgesuite.net/netbeans/7.1.1/final/uc/catalog.xml.gz"/>
    49     <target name="-download-autoupdate-task" unless="autoupdate.tasks.jar">
    50         <mkdir dir="dist"/>
    51         <get dest="dist/tasks.jar" src="${bootstrap.url}" usetimestamp="true"/>
    52     </target>
    53     <target name="autoupdate-task" depends="-download-autoupdate-task">
    54         <taskdef
    55             name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate"
    56             classpath="dist/tasks.jar"
    57         />
    58     </target>
    59     
    60     <!-- support methods -->
    61     
    62     <target name="-library-check">
    63         <fail message="You need to specify library name" unless="library"/>
    64         <fail message="You need to specify url" unless="url"/>
    65         
    66         <property name="library.jar" location="dist/${library}.jar"/>
    67         <property name="library.zip" location="dist/${library}.zip"/>
    68         
    69         <echo message="Checking for ${library.jar}"/>
    70         <available file="${library.jar}"     property="library.available"/>
    71     </target>
    72     <target name="-library" depends="-library-check" unless="library.available">
    73         <mkdir dir="dist"/>
    74         <get dest="${library.jar}" src="${url}"/>
    75         
    76         <fail message="Now the library ${library} should be downloaded">
    77             <condition>
    78                 <not><available file="${library.jar}"/></not>
    79             </condition>
    80         </fail>
    81     </target>
    82     <target name="-library-from-nbm-check">
    83         <echo message="Checking for ${library} and its includes ${library.include}"/>
    84         <condition property="library.from.nbm.available">
    85             <resourcecount when="greater" count="0">
    86                 <fileset dir="dist">
    87                     <include name="${library.include}"/>
    88                 </fileset>
    89             </resourcecount>
    90         </condition>
    91     </target>
    92     <target name="-library-from-nbm" depends="-library-from-nbm-check" unless="library.from.nbm.available">
    93         <fail message="You need to specify library name" unless="library"/>
    94         <autoupdate todir="dist" updatecenter="${netbeans.updatecenter.url}">
    95             <modules includes="${library}"/>
    96         </autoupdate>
    97 
    98         <copy todir="dist" flatten="true">
    99             <fileset dir="dist">
   100                 <include name="${library.include}"/>
   101             </fileset>
   102         </copy>
   103     </target>
   104     
   105     <target name="clean">
   106         <delete dir="dist"/>
   107     </target>
   108 </project>