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]

Reply via email to