Using autoupdate task to work with NBMs
authorJaroslav Tulach <jtulach@netbeans.org>
Sat, 20 Feb 2010 18:20:10 +0100
changeset 347481fbbbcc7b7
parent 346 e8eb755f0099
child 348 26f9a0ec4315
Using autoupdate task to work with NBMs
samples/libs/build.xml
     1.1 --- a/samples/libs/build.xml	Tue Feb 02 10:24:49 2010 +0100
     1.2 +++ b/samples/libs/build.xml	Sat Feb 20 18:20:10 2010 +0100
     1.3 @@ -1,46 +1,51 @@
     1.4  <?xml version="1.0" encoding="UTF-8"?>
     1.5  <project name="Downloads necessary libraries" default="libraries" basedir=".">
     1.6 -       <target name="libraries">
     1.7 +       <target name="libraries" depends="autoupdate-task">
     1.8          <antcall target="-library">
     1.9              <param name="library" value="junit-4.4"/>
    1.10              <param name="url" value="http://switch.dl.sourceforge.net/sourceforge/junit/junit-4.4.jar"/>
    1.11          </antcall>
    1.12 -        <antcall target="-library-from-zip">
    1.13 -            <param name="library" value="org-openide-util-lookup"/>
    1.14 +        <antcall target="-library-from-nbm">
    1.15 +            <param name="library" value="org.openide.util.lookup"/>
    1.16              <param name="library.include" value="**/org-openide-util-lookup.jar"/>
    1.17 -            <param name="url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/platform/org-openide-util-lookup.nbm"/>
    1.18          </antcall>
    1.19 -        <antcall target="-library-from-zip">
    1.20 -            <param name="library" value="org-openide-util"/>
    1.21 +        <antcall target="-library-from-nbm">
    1.22 +            <param name="library" value="org.openide.util"/>
    1.23              <param name="library.include" value="**/org-openide-util.jar"/>
    1.24 -            <param name="url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/platform/org-openide-util.nbm"/>
    1.25          </antcall>
    1.26 -        <antcall target="-library-from-zip">
    1.27 -            <param name="library" value="org-openide-filesystems"/>
    1.28 +        <antcall target="-library-from-nbm">
    1.29 +            <param name="library" value="org.openide.filesystems"/>
    1.30              <param name="library.include" value="**/org-openide-filesystems.jar"/>
    1.31 -            <param name="url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/platform/org-openide-filesystems.nbm"/>
    1.32          </antcall>
    1.33 -        <antcall target="-library-from-zip">
    1.34 -            <param name="library" value="org-netbeans-modules-nbjunit"/>
    1.35 +        <antcall target="-library-from-nbm">
    1.36 +            <param name="library" value="org.netbeans.modules.nbjunit"/>
    1.37              <param name="library.include" value="**/org-netbeans-modules-nbjunit.jar"/>
    1.38 -            <param name="url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/harness/org-netbeans-modules-nbjunit.nbm"/>
    1.39          </antcall>
    1.40 -        <antcall target="-library-from-zip">
    1.41 -            <param name="library" value="org-netbeans-insane"/>
    1.42 +        <antcall target="-library-from-nbm">
    1.43 +            <param name="library" value="org.netbeans.insane"/>
    1.44              <param name="library.include" value="**/org-netbeans-insane.jar"/>
    1.45 -            <param name="url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/harness/org-netbeans-insane.nbm"/>
    1.46          </antcall>
    1.47 -        <antcall target="-library-from-zip">
    1.48 -            <param name="library" value="spring-2.5"/>
    1.49 +        <antcall target="-library-from-nbm">
    1.50 +            <param name="library" value="org.netbeans.libs.springframework"/>
    1.51              <param name="library.include" value="**/*spring*.jar"/>
    1.52 -            <param name="url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/java/org-netbeans-libs-springframework.nbm"/>
    1.53          </antcall>
    1.54 -        <antcall target="-library-from-zip">
    1.55 -            <param name="library" value="commons-logging-1.1"/>
    1.56 +        <antcall target="-library-from-nbm">
    1.57 +            <param name="library" value="org.netbeans.libs.commons_logging"/>
    1.58              <param name="library.include" value="**/*commons*logg*.jar"/>
    1.59 -            <param name="url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/ide/org-netbeans-libs-commons_logging.nbm"/>
    1.60          </antcall>
    1.61      </target>
    1.62 +
    1.63 +    <target name="autoupdate-task">
    1.64 +        <mkdir dir="dist"/>
    1.65 +        <property name="bootstrap.url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/netbeans/harness/tasks.jar"/>
    1.66 +        <property name="netbeans.updatecenter.url" value="http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml.gz"/>
    1.67 +        
    1.68 +        <get dest="dist/tasks.jar" src="${bootstrap.url}" usetimestamp="true"/>
    1.69 +        <taskdef
    1.70 +            name="autoupdate" classname="org.netbeans.nbbuild.AutoUpdate"
    1.71 +            classpath="dist/tasks.jar"
    1.72 +        />
    1.73 +    </target>
    1.74      
    1.75      <!-- support methods -->
    1.76      
    1.77 @@ -64,19 +69,17 @@
    1.78              </condition>
    1.79          </fail>
    1.80      </target>
    1.81 -    <target name="-library-from-zip" depends="-library-check" unless="library.available">
    1.82 -        <mkdir dir="dist"/>
    1.83 -        <get dest="${library.zip}" src="${url}"/>
    1.84 -        <unzip dest="dist" src="${library.zip}">
    1.85 -            <patternset includes="${library.include}"/>
    1.86 -            <mapper type="flatten"/>
    1.87 -        </unzip>
    1.88 -        
    1.89 -        <fail message="Now the library ${library} should be downloaded">
    1.90 -            <condition>
    1.91 -                <not><available file="${library.jar}"/></not>
    1.92 -            </condition>
    1.93 -        </fail>
    1.94 +    <target name="-library-from-nbm">
    1.95 +        <fail message="You need to specify library name" unless="library"/>
    1.96 +        <autoupdate todir="dist" updatecenter="${netbeans.updatecenter.url}">
    1.97 +            <modules includes="${library}"/>
    1.98 +        </autoupdate>
    1.99 +
   1.100 +        <copy todir="dist" flatten="true">
   1.101 +            <fileset dir="dist">
   1.102 +                <include name="${library.include}"/>
   1.103 +            </fileset>
   1.104 +        </copy>
   1.105      </target>
   1.106      
   1.107      <target name="clean">