<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Free Eclipse Classpath Ant Task</title>
	<atom:link href="http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/feed/" rel="self" type="application/rss+xml" />
	<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/</link>
	<description>OSX, Java, Ruby, Python, Objective-C, Lisp, politics, religion, Greek, Spanish and much more!</description>
	<pubDate>Tue, 06 Jan 2009 05:59:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Sean</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-222</link>
		<dc:creator>Sean</dc:creator>
		<pubDate>Sat, 26 Aug 2006 07:07:52 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-222</guid>
		<description>Great work Joe, thanks for the task. I found one bug while using it in an environment that uses Eclipse on Windows and Ant on linux. In such a scenario, the .classpath file stores relative paths in the form "/project/etc" which are correctly converted to absolute Windows paths ("C:/blah/project/etc") using the following statement:
if (!file.isAbsolute())
{
 file = new File(dir, location);
}
Unfortunately, when this same classpath is read in Linux it recognizes "/project/etc" as an absolute path and fails to properly adjust it for the relative directory location.
I fixed it by eliminating the absolute test (I only use relative paths for simplicity), but I'm sure there is a more general solution.
Again, great work!</description>
		<content:encoded><![CDATA[<p>Great work Joe, thanks for the task. I found one bug while using it in an environment that uses Eclipse on Windows and Ant on linux. In such a scenario, the .classpath file stores relative paths in the form &#8220;/project/etc&#8221; which are correctly converted to absolute Windows paths (&#8221;C:/blah/project/etc&#8221;) using the following statement:<br />
if (!file.isAbsolute())<br />
{<br />
 file = new File(dir, location);<br />
}<br />
Unfortunately, when this same classpath is read in Linux it recognizes &#8220;/project/etc&#8221; as an absolute path and fails to properly adjust it for the relative directory location.<br />
I fixed it by eliminating the absolute test (I only use relative paths for simplicity), but I&#8217;m sure there is a more general solution.<br />
Again, great work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-223</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Tue, 23 May 2006 03:32:30 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-223</guid>
		<description>// Added basic Expansion after reverseing in jad
// might be useful to others, as it was for me
/*jadclipse*/
package com.joeygibson.ant;
import java.io.*;
import java.nio.channels.WritableByteChannel;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.tools.ant.*;
import org.apache.tools.ant.types.Path;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
public class EclipseClasspathTask extends Task {
    private List pathElements = new ArrayList();
    public static final String DEFAULT_FILENAME = ".classpath";
    public static final String DEFAULT_PATHID = "classpath";
    public static final String DEFAULT_WORKSPACE = "c:/eclipse/workspace";
    private List prefFiles;
    private File dir;
    private String pathId;
    private String classPathFileName;
    private boolean verbose;
    private File workspace;
    private String dumpFileName;
    public EclipseClasspathTask() {
        pathId = "classpath";
        classPathFileName = ".classpath";
        verbose = false;
        prefFiles = new ArrayList();
        prefFiles.add(".metadata/.plugins/org.eclipse.jdt.core/prefs.ini");
        prefFiles.add(".metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs");
        prefFiles.add(".metadata/.plugins/org.eclipse.jdt.core/pref_store.ini");
    }
    public void execute() throws BuildException {
        if (workspace == null) {
            workspace = new File("c:/eclipse/workspace");
        }
        Map variables = getVariables();
        Document document = null;
        File inFile = null;
        try {
            if (dir == null) {
                dir = getProject().getBaseDir();
            }
            inFile = new File(dir, classPathFileName);
            SAXBuilder sax = new SAXBuilder();
            document = sax.build(inFile);
        } catch (FileNotFoundException e) {
            log("Unable to open Eclipse classpath file [" + inFile.getAbsolutePath() + "]");
        } catch (JDOMException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (document == null) {
            return;
        }
        Path classPath = new Path(getProject());
        Element root = document.getRootElement();
        Collection children = root.getChildren("classpathentry");
        if (children != null) {
            Iterator i = children.iterator();
            while (i.hasNext()) {
                Element element = (Element) i.next();
                Attribute kind = element.getAttribute("kind");
                Attribute path = element.getAttribute("path");
                String location = null;
                if (kind.getValue().equals("var")) {
                    String name = path.getValue();
                    location = (String) variables.get(name);
                    boolean allowForExtension = true;
                    String varname = null;
                    if (allowForExtension &#038;&#038; name != null) {
                        if (verbose) {
                            log("Checking name:'" + name + "'");
                        }
                        if (name.indexOf("/") != -1) {
                            // check that first path seperator is a var as path maybe extension.
                            varname = name.substring(0, name.indexOf("/"));
                            if (varname != null &#038;&#038; variables.get(varname) != null) {
                                location = (String) variables.get(varname) + name.substring(varname.length(), name.length());
                            }
                        }
                    }
                    if (location == null) {
                        log("Unable to map variable [" + name + "]");
                        continue;
                    }
                    if (verbose) {
                        log("Varname " + varname);
                        log("Adding " + location + ", (" + name + ")");
                    }
                } else if (kind.getValue().equals("lib")) {
                    location = path.getValue();
                    if (verbose) {
                        log("Adding " + location);
                    }
                } else {
                    if (verbose) {
                        log("Skipping entry of type: [" + kind.getValue() + "]");
                    }
                    continue;
                }
                try {
                    File file = new File(location);
                    if (!file.isAbsolute()) {
                        file = new File(dir, location);
                    }
                    pathElements.add(file);
                    org.apache.tools.ant.types.Path.PathElement e = classPath.createPathElement();
                    e.setLocation(file);
                } catch (Exception e) {
                    log("Error processing [" + location + "]: " + e.getMessage());
                }
            }
        }
        getProject().addReference(pathId, classPath);
        if (dumpFileName != null &#038;&#038; !pathElements.isEmpty()) {
            //@TODO use XML tools properly!!
            try {
                File dumpFile = new File(getProject().getBaseDir(), dumpFileName);
                PrintWriter writer = new PrintWriter(new FileOutputStream(dumpFile));
                writer.println("");
                writer.println("");
                Iterator iter = pathElements.iterator();
                while (iter.hasNext()) {
                    File path = (File) iter.next();
                    writer.println("t");
                }
                writer.println("");
                writer.flush();
                writer.close();
            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
        if (verbose) {
            log("n" + pathId + ": " + classPath.toString());
        }
    }
    private Map getVariables() {
        Map vars = new HashMap();
        File prefs = null;
        Iterator i = prefFiles.iterator();
        while (i.hasNext()) {
            String fileName = (String) i.next();
            prefs = new File(workspace, fileName);
            if (verbose) {
                log("Checking " + prefs.toString());
            }
            if (!prefs.exists()) {
                if (verbose) {
                    log("Cant find '" + prefs.toString() + "'");
                }
            } else {
                try {
                    BufferedReader in = new BufferedReader(new FileReader(prefs));
                    String line = null;
                    Pattern valRegex = Pattern.compile("/?(\w).?:(.+)");
                    do {
                        if ((line = in.readLine()) == null) {
                            break;
                        }
                        int index = line.indexOf("classpathVariable");
                        if (index &gt;= 0) {
                            String slice = line.substring(index);
                            String chunks[] = slice.split("=");
                            if (chunks.length == 2) {
                                String name = chunks[0].substring(chunks[0].lastIndexOf(".") + 1);
                                String value = null;
                                Matcher valMatcher = valRegex.matcher(chunks[1]);
                                if (valMatcher.matches()) {
                                    value = valMatcher.group(1) + ":" + valMatcher.group(2);
                                } else {
                                    value = chunks[1];
                                }
                                if (verbose) {
                                    //log("Adding to var lookup: (" + name + "," + value + ")");
                                }
                                vars.put(name, value);
                            }
                        }
                    } while (true);
                } catch (FileNotFoundException e) {
                    log("Unable to find Eclipse preferences file at [" + prefs.getAbsolutePath() + "]");
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return vars;
    }
    public void setDir(File directory) {
        dir = directory;
    }
    public void setPathId(String pathName) {
        pathId = pathName;
    }
    public void setFileName(String fileName) {
        this.classPathFileName = fileName;
    }
    public void setWorkspace(File workspace) {
        this.workspace = workspace;
    }
    public void setVerbose(boolean verbose) {
        this.verbose = verbose;
    }
    public void setDumpFileName(String string) {
        dumpFileName = string;
    }
}
/***** DECOMPILATION REPORT *****
	DECOMPILED FROM: C:ANTlibeclipseclasspathtask.jar
	TOTAL TIME: 80 ms
	JAD REPORTED MESSAGES/ERRORS:
	EXIT STATUS:	0
	CAUGHT EXCEPTIONS:
 ********************************/</description>
		<content:encoded><![CDATA[<p>// Added basic Expansion after reverseing in jad<br />
// might be useful to others, as it was for me<br />
/*jadclipse*/<br />
package com.joeygibson.ant;<br />
import java.io.*;<br />
import java.nio.channels.WritableByteChannel;<br />
import java.util.*;<br />
import java.util.regex.Matcher;<br />
import java.util.regex.Pattern;<br />
import org.apache.tools.ant.*;<br />
import org.apache.tools.ant.types.Path;<br />
import org.jdom.*;<br />
import org.jdom.input.SAXBuilder;<br />
public class EclipseClasspathTask extends Task {<br />
    private List pathElements = new ArrayList();<br />
    public static final String DEFAULT_FILENAME = &#8220;.classpath&#8221;;<br />
    public static final String DEFAULT_PATHID = &#8220;classpath&#8221;;<br />
    public static final String DEFAULT_WORKSPACE = &#8220;c:/eclipse/workspace&#8221;;<br />
    private List prefFiles;<br />
    private File dir;<br />
    private String pathId;<br />
    private String classPathFileName;<br />
    private boolean verbose;<br />
    private File workspace;<br />
    private String dumpFileName;<br />
    public EclipseClasspathTask() {<br />
        pathId = &#8220;classpath&#8221;;<br />
        classPathFileName = &#8220;.classpath&#8221;;<br />
        verbose = false;<br />
        prefFiles = new ArrayList();<br />
        prefFiles.add(&#8221;.metadata/.plugins/org.eclipse.jdt.core/prefs.ini&#8221;);<br />
        prefFiles.add(&#8221;.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs&#8221;);<br />
        prefFiles.add(&#8221;.metadata/.plugins/org.eclipse.jdt.core/pref_store.ini&#8221;);<br />
    }<br />
    public void execute() throws BuildException {<br />
        if (workspace == null) {<br />
            workspace = new File(&#8221;c:/eclipse/workspace&#8221;);<br />
        }<br />
        Map variables = getVariables();<br />
        Document document = null;<br />
        File inFile = null;<br />
        try {<br />
            if (dir == null) {<br />
                dir = getProject().getBaseDir();<br />
            }<br />
            inFile = new File(dir, classPathFileName);<br />
            SAXBuilder sax = new SAXBuilder();<br />
            document = sax.build(inFile);<br />
        } catch (FileNotFoundException e) {<br />
            log(&#8221;Unable to open Eclipse classpath file [" + inFile.getAbsolutePath() + "]&#8220;);<br />
        } catch (JDOMException e) {<br />
            e.printStackTrace();<br />
        } catch (IOException e) {<br />
            e.printStackTrace();<br />
        }<br />
        if (document == null) {<br />
            return;<br />
        }<br />
        Path classPath = new Path(getProject());<br />
        Element root = document.getRootElement();<br />
        Collection children = root.getChildren(&#8221;classpathentry&#8221;);<br />
        if (children != null) {<br />
            Iterator i = children.iterator();<br />
            while (i.hasNext()) {<br />
                Element element = (Element) i.next();<br />
                Attribute kind = element.getAttribute(&#8221;kind&#8221;);<br />
                Attribute path = element.getAttribute(&#8221;path&#8221;);<br />
                String location = null;<br />
                if (kind.getValue().equals(&#8221;var&#8221;)) {<br />
                    String name = path.getValue();<br />
                    location = (String) variables.get(name);<br />
                    boolean allowForExtension = true;<br />
                    String varname = null;<br />
                    if (allowForExtension &#038;&#038; name != null) {<br />
                        if (verbose) {<br />
                            log(&#8221;Checking name:&#8217;&#8221; + name + &#8220;&#8216;&#8221;);<br />
                        }<br />
                        if (name.indexOf(&#8221;/&#8221;) != -1) {<br />
                            // check that first path seperator is a var as path maybe extension.<br />
                            varname = name.substring(0, name.indexOf(&#8221;/&#8221;));<br />
                            if (varname != null &#038;&#038; variables.get(varname) != null) {<br />
                                location = (String) variables.get(varname) + name.substring(varname.length(), name.length());<br />
                            }<br />
                        }<br />
                    }<br />
                    if (location == null) {<br />
                        log(&#8221;Unable to map variable [" + name + "]&#8220;);<br />
                        continue;<br />
                    }<br />
                    if (verbose) {<br />
                        log(&#8221;Varname &#8221; + varname);<br />
                        log(&#8221;Adding &#8221; + location + &#8220;, (&#8221; + name + &#8220;)&#8221;);<br />
                    }<br />
                } else if (kind.getValue().equals(&#8221;lib&#8221;)) {<br />
                    location = path.getValue();<br />
                    if (verbose) {<br />
                        log(&#8221;Adding &#8221; + location);<br />
                    }<br />
                } else {<br />
                    if (verbose) {<br />
                        log(&#8221;Skipping entry of type: [" + kind.getValue() + "]&#8220;);<br />
                    }<br />
                    continue;<br />
                }<br />
                try {<br />
                    File file = new File(location);<br />
                    if (!file.isAbsolute()) {<br />
                        file = new File(dir, location);<br />
                    }<br />
                    pathElements.add(file);<br />
                    org.apache.tools.ant.types.Path.PathElement e = classPath.createPathElement();<br />
                    e.setLocation(file);<br />
                } catch (Exception e) {<br />
                    log(&#8221;Error processing [" + location + "]: &#8221; + e.getMessage());<br />
                }<br />
            }<br />
        }<br />
        getProject().addReference(pathId, classPath);<br />
        if (dumpFileName != null &#038;&#038; !pathElements.isEmpty()) {<br />
            //@TODO use XML tools properly!!<br />
            try {<br />
                File dumpFile = new File(getProject().getBaseDir(), dumpFileName);<br />
                PrintWriter writer = new PrintWriter(new FileOutputStream(dumpFile));<br />
                writer.println(&#8221;");<br />
                writer.println(&#8221;");<br />
                Iterator iter = pathElements.iterator();<br />
                while (iter.hasNext()) {<br />
                    File path = (File) iter.next();<br />
                    writer.println(&#8221;t&#8221;);<br />
                }<br />
                writer.println(&#8221;");<br />
                writer.flush();<br />
                writer.close();<br />
            } catch (FileNotFoundException e1) {<br />
                // TODO Auto-generated catch block<br />
                e1.printStackTrace();<br />
            }<br />
        }<br />
        if (verbose) {<br />
            log(&#8221;n&#8221; + pathId + &#8220;: &#8221; + classPath.toString());<br />
        }<br />
    }<br />
    private Map getVariables() {<br />
        Map vars = new HashMap();<br />
        File prefs = null;<br />
        Iterator i = prefFiles.iterator();<br />
        while (i.hasNext()) {<br />
            String fileName = (String) i.next();<br />
            prefs = new File(workspace, fileName);<br />
            if (verbose) {<br />
                log(&#8221;Checking &#8221; + prefs.toString());<br />
            }<br />
            if (!prefs.exists()) {<br />
                if (verbose) {<br />
                    log(&#8221;Cant find &#8216;&#8221; + prefs.toString() + &#8220;&#8216;&#8221;);<br />
                }<br />
            } else {<br />
                try {<br />
                    BufferedReader in = new BufferedReader(new FileReader(prefs));<br />
                    String line = null;<br />
                    Pattern valRegex = Pattern.compile(&#8221;/?(\w).?:(.+)&#8221;);<br />
                    do {<br />
                        if ((line = in.readLine()) == null) {<br />
                            break;<br />
                        }<br />
                        int index = line.indexOf(&#8221;classpathVariable&#8221;);<br />
                        if (index >= 0) {<br />
                            String slice = line.substring(index);<br />
                            String chunks[] = slice.split(&#8221;=&#8221;);<br />
                            if (chunks.length == 2) {<br />
                                String name = chunks[0].substring(chunks[0].lastIndexOf(&#8221;.&#8221;) + 1);<br />
                                String value = null;<br />
                                Matcher valMatcher = valRegex.matcher(chunks[1]);<br />
                                if (valMatcher.matches()) {<br />
                                    value = valMatcher.group(1) + &#8220;:&#8221; + valMatcher.group(2);<br />
                                } else {<br />
                                    value = chunks[1];<br />
                                }<br />
                                if (verbose) {<br />
                                    //log(&#8221;Adding to var lookup: (&#8221; + name + &#8220;,&#8221; + value + &#8220;)&#8221;);<br />
                                }<br />
                                vars.put(name, value);<br />
                            }<br />
                        }<br />
                    } while (true);<br />
                } catch (FileNotFoundException e) {<br />
                    log(&#8221;Unable to find Eclipse preferences file at [" + prefs.getAbsolutePath() + "]&#8220;);<br />
                } catch (IOException e) {<br />
                    e.printStackTrace();<br />
                }<br />
            }<br />
        }<br />
        return vars;<br />
    }<br />
    public void setDir(File directory) {<br />
        dir = directory;<br />
    }<br />
    public void setPathId(String pathName) {<br />
        pathId = pathName;<br />
    }<br />
    public void setFileName(String fileName) {<br />
        this.classPathFileName = fileName;<br />
    }<br />
    public void setWorkspace(File workspace) {<br />
        this.workspace = workspace;<br />
    }<br />
    public void setVerbose(boolean verbose) {<br />
        this.verbose = verbose;<br />
    }<br />
    public void setDumpFileName(String string) {<br />
        dumpFileName = string;<br />
    }<br />
}<br />
/***** DECOMPILATION REPORT *****<br />
	DECOMPILED FROM: C:ANTlibeclipseclasspathtask.jar<br />
	TOTAL TIME: 80 ms<br />
	JAD REPORTED MESSAGES/ERRORS:<br />
	EXIT STATUS:	0<br />
	CAUGHT EXCEPTIONS:<br />
 ********************************/</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PP</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-221</link>
		<dc:creator>PP</dc:creator>
		<pubDate>Thu, 08 Sep 2005 11:18:55 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-221</guid>
		<description>First, thanks for this task.
For a project that I am doing I needed to create an automatic build. Because we use WSAD/Eclipse as the main development tool, I wanted a simple way to create a classpath from the .classpath file, so an ant script can build the ear file.
So thanks to your eclipsecp Ant task I could start straight away! Soon I found out I need some additional functionality, so I've extended your ant task as follows:
* follows project references as well,
* made it possible to run outside an eclipse environment (by dumping all variables in a properties file),
* removed the dependency on jdom, so you only have to drop the eclipsecp jar in the lib dir of ant
Please email me if your interested... can I publish this modified version in some way myself?</description>
		<content:encoded><![CDATA[<p>First, thanks for this task.<br />
For a project that I am doing I needed to create an automatic build. Because we use WSAD/Eclipse as the main development tool, I wanted a simple way to create a classpath from the .classpath file, so an ant script can build the ear file.<br />
So thanks to your eclipsecp Ant task I could start straight away! Soon I found out I need some additional functionality, so I&#8217;ve extended your ant task as follows:<br />
* follows project references as well,<br />
* made it possible to run outside an eclipse environment (by dumping all variables in a properties file),<br />
* removed the dependency on jdom, so you only have to drop the eclipsecp jar in the lib dir of ant<br />
Please email me if your interested&#8230; can I publish this modified version in some way myself?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jeremy weber</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-219</link>
		<dc:creator>jeremy weber</dc:creator>
		<pubDate>Tue, 09 Aug 2005 14:02:00 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-219</guid>
		<description>This is pretty useful as is.  However what does it do for references projects?</description>
		<content:encoded><![CDATA[<p>This is pretty useful as is.  However what does it do for references projects?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joey</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-211</link>
		<dc:creator>Joey</dc:creator>
		<pubDate>Mon, 30 May 2005 15:06:31 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-211</guid>
		<description>Feel free to implement that, then. I did what was useful to me at the time. I released it in case other might find it useful. But I have no time any more to enhance or change it.</description>
		<content:encoded><![CDATA[<p>Feel free to implement that, then. I did what was useful to me at the time. I released it in case other might find it useful. But I have no time any more to enhance or change it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kim Pepper</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-216</link>
		<dc:creator>Kim Pepper</dc:creator>
		<pubDate>Mon, 30 May 2005 00:13:14 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-216</guid>
		<description>It would be much more useful if you could define filesets in Ant then have a task to generate the .classpath file for eclipse.</description>
		<content:encoded><![CDATA[<p>It would be much more useful if you could define filesets in Ant then have a task to generate the .classpath file for eclipse.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stef</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-217</link>
		<dc:creator>Stef</dc:creator>
		<pubDate>Tue, 01 Mar 2005 12:59:19 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-217</guid>
		<description>mmm ... site didn't like the XML so here it is again with round brackets instead of angle brackets:
(project name="MyProject" default="copy-libs" basedir=".")
(taskdef resource="com/joeygibson/ant/eclipseclasspath.properties"/)
(target name="copy-libs")
(eclipsecp pathid="myclasspath" workspace="D:\Temp\library_builder" dir="." filename=".classpath" verbose="true"/)
(/target)
(/project)</description>
		<content:encoded><![CDATA[<p>mmm &#8230; site didn&#8217;t like the XML so here it is again with round brackets instead of angle brackets:<br />
(project name=&#8221;MyProject&#8221; default=&#8221;copy-libs&#8221; basedir=&#8221;.&#8221;)<br />
(taskdef resource=&#8221;com/joeygibson/ant/eclipseclasspath.properties&#8221;/)<br />
(target name=&#8221;copy-libs&#8221;)<br />
(eclipsecp pathid=&#8221;myclasspath&#8221; workspace=&#8221;D:\Temp\library_builder&#8221; dir=&#8221;.&#8221; filename=&#8221;.classpath&#8221; verbose=&#8221;true&#8221;/)<br />
(/target)<br />
(/project)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stef</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-212</link>
		<dc:creator>Stef</dc:creator>
		<pubDate>Tue, 01 Mar 2005 12:49:47 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-212</guid>
		<description>Hi,
I'm trying to copy all JARs required by an application to a particular directory. The classpath is specified in a .classpath file created by Eclipse and I used the ant task from http://www.joeygibson.com/blog/tech/java/Ant/EclipseClasspathTask.html to get the classpath in the build.xml as follows:
But what I would like to do now that I have the classpath loaded from the .classpath file is to copy each of the JAR files in the classpath to a particular location.
I think I need to create a filelist/fileset from the classpath but I don't know how to do it?
Could you please help me with this,
Many thanks,
Stefan</description>
		<content:encoded><![CDATA[<p>Hi,<br />
I&#8217;m trying to copy all JARs required by an application to a particular directory. The classpath is specified in a .classpath file created by Eclipse and I used the ant task from <a href="http://www.joeygibson.com/blog/tech/java/Ant/EclipseClasspathTask.html" rel="nofollow">http://www.joeygibson.com/blog/tech/java/Ant/EclipseClasspathTask.html</a> to get the classpath in the build.xml as follows:<br />
But what I would like to do now that I have the classpath loaded from the .classpath file is to copy each of the JAR files in the classpath to a particular location.<br />
I think I need to create a filelist/fileset from the classpath but I don&#8217;t know how to do it?<br />
Could you please help me with this,<br />
Many thanks,<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aboulafia</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-213</link>
		<dc:creator>Aboulafia</dc:creator>
		<pubDate>Fri, 04 Feb 2005 12:11:03 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-213</guid>
		<description>Hi, I've installed eclipsecp as stated in the readme but at everybuild I get this error : [eclipsecp] Unable to find Eclipse preferences file at [D:\JavaDev\eclipse_projects\AnaemDir\.metadata\.plugins\org.eclipse.jdt.core\pref_store.ini]
There is no file named "pref_store.ini" on d:\eclipse or d:\eclipse_projects directories
What's wrong ?
Thank you</description>
		<content:encoded><![CDATA[<p>Hi, I&#8217;ve installed eclipsecp as stated in the readme but at everybuild I get this error : [eclipsecp] Unable to find Eclipse preferences file at [D:\JavaDev\eclipse_projects\AnaemDir\.metadata\.plugins\org.eclipse.jdt.core\pref_store.ini]<br />
There is no file named &#8220;pref_store.ini&#8221; on d:\eclipse or d:\eclipse_projects directories<br />
What&#8217;s wrong ?<br />
Thank you</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Oliver</title>
		<link>http://joeygibson.com/2004/06/15/free-eclipse-classpath-ant-task/comment-page-1/#comment-218</link>
		<dc:creator>Michael Oliver</dc:creator>
		<pubDate>Fri, 21 Jan 2005 18:55:25 +0000</pubDate>
		<guid isPermaLink="false">EclipseClasspathTask#comment-218</guid>
		<description>oops the tags needed to be escaped, do a view source to see them.</description>
		<content:encoded><![CDATA[<p>oops the tags needed to be escaped, do a view source to see them.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
