Oops... I forgot the code
package ant; import java.io.File;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Javac;
import org.apache.tools.ant.types.Path;
public class AntRunner {
// separador de arquivos (\)
public static final String FILE_SEP = (String)
System.getProperty("file.separator");
// separador de linhas(\n)
public static final String NEW_LINE = (String)
System.getProperty("line.separator");
// bibliotecas necess�rias para compila��o
public static final String LIB_DIR = "D:\\eclipse\\workspace\\Ant\\lib";
// cria um projeto no Ant
private Project createProject() {
Project project = new Project();
project.init();
return project;
}
// configura o classpath inserindo todas as bibliotecas
// necess�rias ao programa em teste
// libsPath = diret�rio onde est�o os arquivos *.jar
private void configureClassPath(Javac javac, String libsPath) {
// bibliotecas exigidas pelo programa em teste
if (libsPath != null && libsPath.length() > 0) {
File additionalDir = new File(libsPath);
if (additionalDir.exists()) {
// lista os jars do diret�rio
String[] jars = additionalDir.list(new JarFileFilter());
for (int i = 0; i < jars.length; i++) {
javac.createClasspath().setLocation(new File(jars[i]));
}
}
else {
System.err.println("DIRET�RIO '" + libsPath + "' N�O EXISTE");
}
}
}
// compila os arquivos java
// srcPath = diret�rio onde est�o os arquivos *.java
// libsPath = diret�rio onde est�o os arquivos *.jar
// destPath = diret�rio onde estar�o os arquivos *.class
public void compile(String srcPath, String libsPath, String destPath) {
// cia o projeto Ant na mem�ria
Project project = createProject();
// cria a tarefa de compila��o
Javac javac = (Javac) project.createTask("javac");
javac.init();
// adiciona as bibliotecas necess�rias � compila��o
configureClassPath(javac, LIB_DIR);
configureClassPath(javac, libsPath);
// origem dos arquivos *.java
Path src = javac.createSourcepath();
src.setLocation(new File(srcPath));
javac.setSrcdir(src);
// destino dos arquivos *.class
File dest = new File(destPath);
dest.mkdir();
javac.setDestdir(dest);
System.out.println("CLASSPATH=" + javac.getClasspath());
// executa a tarefa
javac.setVerbose(true);
javac.execute();
}
}
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
