ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert r. Sanders" <robert.sand...@ipov.net>
Subject Re: HTTP tasks
Date Wed, 06 Jul 2005 19:10:10 GMT
I gave up on the built-in HTTP Tasks and used the BSF support to create 
a 'simple' upload script that using the Apache HttpClient classes:

In my build.xml
    <target name="upload">
        <description>
            Uses the HTTP PUT method to upload several files to a WebDAV 
server(s)
        </description>
        <!-- NOTE: this task depends on having the js.jar file
            from the Mozilla Rhino project in you ant/lib directory
            (and also the commons-http libs). -->
        <property name="xml.dir" value="some/directory"/>
        <script language="javascript" src="upload.js"/>
    </target>


In the script.js file:
    importClass(java.io.File);
    importClass(java.io.FileInputStream);
    importClass(Packages.org.apache.commons.httpclient.HttpClient);
    
importClass(Packages.org.apache.commons.httpclient.UsernamePasswordCredentials);
    importClass(Packages.org.apache.commons.httpclient.methods.PutMethod);
   
    var srcDir = new File(project.getProperty("xml.dir"));
    var style = project.getProperty("build.style");
    var files = srcDir.listFiles();
    var echo = xview_skins.createTask("echo");
   
    var user = project.getProperty("svn.user");
    var password = project.getProperty("svn.password");
    var client = new HttpClient();
    client.getState().setCredentials(null, null, new 
UsernamePasswordCredentials(user, password));
   
    for (var i = 0; i < files.length; i++) {
        if (files[i].isFile()) {
            var put = new PutMethod('http://' + style + 
'.svn.ipov.net/svn/stage/' + files[i].getName());
            put.setRequestBody( new FileInputStream(files[i]) );
            client.executeMethod(put);
           
            put = new PutMethod('http://' + style + 
'.svn.ipov.net/svn/_live/' + files[i].getName());
            put.setRequestBody( new FileInputStream(files[i]) );
            client.executeMethod(put);
        }
    }


>  
>
>>-----Urspr√ľngliche Nachricht-----
>>Von: Ivan Ivanov [mailto:rambiusparkisanius@yahoo.com] 
>>Gesendet: Freitag, 1. Juli 2005 23:02
>>An: user@ant.apache.org
>>Betreff: HTTP tasks
>>
>>Dear Colleagues,
>>
>>I am looking for an Ant task that implements HTTP PUT method 
>>so that I can upload files to a web server. Is there such a 
>>task or should I write it myself?
>>
>>Also, while I was googling for it, I noticed that there is a 
>>proposal in Ant for http tasks, located at [1], that claim 
>>they will support basic http requests.
>>I would like to know what is their status. Are they planned to 
>>be part of Ant distribution at some time and if so when to expect them?
>>
>>Regards
>>Ivan
>>
>>[1]http://cvs.apache.org/viewcvs.cgi/ant/proposal/sandbox/httptasks/
>>
>>    
>>

-- 
    Robert r. Sanders
    Chief Technologist
    iPOV
    (334) 821-5412
    www.ipov.net


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message