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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]