samples/libs/build.xml
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 03 Apr 2020 16:32:36 +0200
changeset 416 9ed8788a1a4e
parent 415 f8492036f31c
permissions -rw-r--r--
Using HTTPS to download the libraries
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project name="libraries" default="libraries" basedir=".">
     3        <target name="libraries" depends="scala,autoupdate-task">
     4         <antcall target="-library">
     5             <param name="library" value="junit-4.4"/>
     6             <param name="url" value="https://repo1.maven.org/maven2/junit/junit/4.4/junit-4.4.jar"/>
     7         </antcall>
     8         <antcall target="-library">
     9             <param name="library" value="derby"/>
    10             <param name="url" value="https://repo1.maven.org/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="https://repo1.maven.org/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     <property name="scala.url" value="https://www.scala-lang.org/files/archive/scala-2.10.4.tgz"/>
    47     <property name="scala.home" location="${ant.libraries.file}/../dist/scala-2.10.4"/>
    48     <available file="${scala.home}/bin/scalac" property="scala.available"/>
    49     <target name="scala" unless="scala.available">
    50         <mkdir dir="dist"/>
    51         <get dest="dist/scala10.tgz" src="${scala.url}" skipexisting="true"/>
    52         <mkdir dir="${scala.home}"/>
    53         <untar compression="gzip" src="dist/scala10.tgz" dest="${scala.home}/.."/>
    54         <fail message="Can't find ${scala.home}/bin/scalac">
    55             <condition>
    56                 <not>
    57                     <available file="${scala.home}/bin/scalac"/>
    58                 </not>
    59             </condition>
    60         </fail>
    61     </target>
    62 
    63     <available property="autoupdate.tasks.jar" file="dist/tasks.jar"/>
    64     <property name="bootstrap.url" value="https://downloads.apache.org/netbeans/netbeans/11.3/nbms/tasks.jar"/>
    65     <property name="netbeans.updatecenter.url" value="https://downloads.apache.org/netbeans/netbeans/11.3/nbms/updates.xml.gz"/>
    66     <target name="-download-autoupdate-task" unless="autoupdate.tasks.jar">
    67         <mkdir dir="dist"/>
    68         <get dest="dist/tasks.jar" src="${bootstrap.url}" usetimestamp="true"/>
    69     </target>
    70     <target name="autoupdate-task" depends="-download-autoupdate-task">
    71         <taskdef
    72             name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate"
    73             classpath="dist/tasks.jar"
    74         />
    75     </target>
    76     
    77     <!-- support methods -->
    78     
    79     <target name="-library-check">
    80         <fail message="You need to specify library name" unless="library"/>
    81         <fail message="You need to specify url" unless="url"/>
    82         
    83         <property name="library.jar" location="dist/${library}.jar"/>
    84         <property name="library.zip" location="dist/${library}.zip"/>
    85         
    86         <echo message="Checking for ${library.jar}"/>
    87         <available file="${library.jar}"     property="library.available"/>
    88     </target>
    89     <target name="-library" depends="-library-check" unless="library.available">
    90         <mkdir dir="dist"/>
    91         <get dest="${library.jar}" src="${url}"/>
    92         
    93         <fail message="Now the library ${library} should be downloaded">
    94             <condition>
    95                 <not><available file="${library.jar}"/></not>
    96             </condition>
    97         </fail>
    98     </target>
    99     <target name="-library-from-nbm-check">
   100         <echo message="Checking for ${library} and its includes ${library.include}"/>
   101         <condition property="library.from.nbm.available">
   102             <resourcecount when="greater" count="0">
   103                 <fileset dir="dist">
   104                     <include name="${library.include}"/>
   105                 </fileset>
   106             </resourcecount>
   107         </condition>
   108     </target>
   109     <target name="-library-from-nbm" depends="-library-from-nbm-check" unless="library.from.nbm.available">
   110         <fail message="You need to specify library name" unless="library"/>
   111         <autoupdate todir="dist" updatecenter="${netbeans.updatecenter.url}">
   112             <modules includes="${library}"/>
   113         </autoupdate>
   114 
   115         <copy todir="dist" flatten="true">
   116             <fileset dir="dist">
   117                 <include name="${library.include}"/>
   118             </fileset>
   119         </copy>
   120     </target>
   121     
   122     <target name="clean">
   123         <delete dir="dist"/>
   124     </target>
   125 </project>