ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kenneth Wood <kenneth.w...@e2open.com>
Subject RE: Any interest in a remote Ant server?
Date Mon, 08 Mar 2004 20:48:35 GMT
My bad, didn't see your reference to Rant on first read!!!!!!!

-----Original Message-----
From: Kenneth Wood [mailto:kenneth.wood@e2open.com] 
Sent: Monday, March 08, 2004 2:33 PM
To: Ant Developers List
Subject: RE: Any interest in a remote Ant server?


Did you follow and read the "Related Projects" link from the Ant home page?
Because such a beast already exits:

Rant:
Rant stands for Remote Ant. It is a distributed build system that allows an
Ant build file to launch builds on other systems and receive exceptions
should they occur.

Compatibility:  Ant 1.4  
URL:  http://sourceforge.net/projects/remoteant/  
Contact:  Chris Nelson  
License:  MIT License  


-----Original Message-----
From: Robert Smith [mailto:rsmith@comnitel.com] 
Sent: Monday, March 08, 2004 2:30 PM
To: dev@ant.apache.org
Subject: Any interest in a remote Ant server?


Hi all,

I've written an add-on for Ant that allows for remote builds. It consists of
an RMI based server application and a handful of custom Ant tasks on the
client side. My motivation for this was to allow C/C++ code to be built on
remote machines for multiple architectures from the comfort of the
developer's Eclipse IDE on Windows. I tried Rant, but found it too limiting,
so I've done my own version, complete with file transfers and synchronous
logging (which took some work to make it all serialize/deserialize properly
across RMI!)

Now that I've got it working, the question is, what do I do with it? Is
there even any interest out there for such a thing? Who should I talk to at
apache? Should I just throw it up on my own web page?

Here's how it works from the user's perspective. Please let me know how to
proceed. By the way, I have a new set of Ant tasks for Eclipse that allow
you to use the .classpath file from inside *or* outside the IDE. I needed
this to allow our continuous integration server to use the same build
process as the developer's IDE. Any interest there?

Cheers,

Robert

---------------------------------------

Successful build log from client:


Buildfile: C:\Program Files\eclipse\workspace\RemoteAnt2\build.xml

c-all:
        [echo] Begining remote build
[createSession] Created remote session: clare:192.168.1.97:20042872453
    [putFiles] Transfering 1 files to clare
    [putFiles] Transfering 3 files to clare
 [remoteBuild] Building on clare using SolarisCBuild.xml

clare.test:
  [clare.echo] Building C code for Sun Sparc Solaris
    [clare.cc] 2 total files to be compiled.
    [clare.cc] Starting link

c-all:
     [getFile] Recieving ctjava from clare
     [getFile] Copied ctjava from clare to C:\Program
Files\eclipse\workspace\RemoteAnt2/Configuration/bin/ctjava
[closeSession] Session clare:192.168.1.97:20042872453 closed. BUILD
SUCCESSFUL Total time: 11 seconds


-----------------------------------------


Failed build log from client:

Buildfile: C:\Program Files\eclipse\workspace\RemoteAnt2\build.xml

c-all:
        [echo] Begining remote build
[createSession] Created remote session: clare:192.168.1.97:2004287186
    [putFiles] Transfering 1 files to clare
    [putFiles] Transfering 3 files to clare
 [remoteBuild] Building on clare using SolarisCBuild.xml

clare.test:
  [clare.echo] Building C code for Sun Sparc Solaris
    [clare.cc] 2 total files to be compiled.
BUILD FAILED: /tmp/builds/192.168.1.97/2004287186/SolarisCBuild.xml:6: Could
not launch gcc: java.io.IOException: gcc: not found BUILD FAILED:
file:C:/Program
Files/eclipse/workspace/RemoteAnt2/build.xml:89: Build failed on host clare.
Total time: 8 seconds


-----------------------------------------


Failed build log from server:


0    [main] INFO  com.rjmpsmith.ant.RemoteAntServer  - Starting server on
host clare port 2020.
1641 [main] INFO  com.rjmpsmith.ant.RemoteAntServer  - Bound
rmi://clare:2020/RemoteBuildServices
10439 [RMI TCP Connection(2)-192.168.1.97] INFO
com.rjmpsmith.ant.RemoteBuildServices  - Created remote session:
clare:192.168.1.97:200428713 10606 [RMI TCP Connection(2)-192.168.1.97]
DEBUG com.rjmpsmith.ant.RemoteBuildServices  - Recieving
/tmp/builds/192.168.1.97/200428713/SolarisCBuild.xml
10840 [RMI TCP Connection(2)-192.168.1.97] DEBUG
com.rjmpsmith.ant.RemoteBuildServices  - Recieving
/tmp/builds/192.168.1.97/200428713/c/ctjava/src/ctext.c
10858 [RMI TCP Connection(2)-192.168.1.97] DEBUG
com.rjmpsmith.ant.RemoteBuildServices  - Recieving
/tmp/builds/192.168.1.97/200428713/c/ctjava/src/ctext.h
10876 [RMI TCP Connection(2)-192.168.1.97] DEBUG
com.rjmpsmith.ant.RemoteBuildServices  - Recieving
/tmp/builds/192.168.1.97/200428713/c/ctjava/src/ctjexec.c
10903 [RMI TCP Connection(2)-192.168.1.97] INFO
com.rjmpsmith.ant.RemoteBuildServices  - Beggining Ant build for session
clare:192.168.1.97:200428713 using SolarisCBuild.xml 17602 [RMI TCP
Connection(2)-192.168.1.97] ERROR com.rjmpsmith.ant.RemoteBuildServices  -
Build failed for session clare:192.168.1.97:200428713
/tmp/builds/192.168.1.97/200428713/SolarisCBuild.xml:6: Could not launch
gcc: java.io.IOException: gcc: not found
        at net.sf.antcontrib.cpptasks.CUtil.runCommand(CUtil.java:476)
        at
net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler.runCommand(CommandLi
neCompiler.java:269)
        at
net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler.compile(CommandLineC
ompiler.java:226)

-----------------------------------------

Ant task usage:


    <!--========================================-->
    <!--=                 c-all                =-->
    <!--========================================-->

    <target name="c-all"
            description="Build C code for Sun Solaris">
        <property name="remotebuild.c.solaris.host" value="clare"/>
        <property name="remotebuild.c.solaris.port" value="2020"/>

        <taskdef resource="remoteant.taskdefs" classpath="classes"/>

        <echo message="Begining remote build"/>

        <createSession host="${remotebuild.c.solaris.host}" 
                       port="${remotebuild.c.solaris.port}" 
                       property="session.c.solaris"/>

        <putFiles session="${session.c.solaris}">
            <fileset dir="cfg">
                    <include name="SolarisCBuild.xml"/>
            </fileset>
            <fileset dir="${basedir}"
                     includes="**/c/**"
                     excludes="**/Makefile"/>
        </putFiles>
                    
        <remoteBuild session="${session.c.solaris}" 
                     buildfile="SolarisCBuild.xml"
                     targets="test"/>
                
        <getFile session="${session.c.solaris}" 
                 remoteFile="ctjava"
                 localFile="${basedir}/Configuration/bin/ctjava"/>
                
        <closeSession session="${session.c.solaris}"/>
    </target>




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

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

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


Mime
View raw message