Dateiverwaltung für die WebBox
ulrich
2017-03-21 7b3372525a42997ef9d169969cbe7b0f3196a9c4
src/java/de/uhilger/filecms/api/CompileService.java
@@ -42,6 +42,38 @@
public class CompileService extends Api {
  
  private static final Logger logger = Logger.getLogger(CompileService.class.getName());
  /**
   * Annahme: relPath zeigt auf einen Ordner, in dem ein build-Ordner die
   * fertigen Klassen und ein web-Ordner die Struktur mit WEB-INF
   * enthaelt.
   *
   * @param relPath  der relative Pfad, der auf den App-Ordner verweist
   * @return
   */
  public String buildApp(String relPath) {
    String result = "ok";
    try {
      File targetDir = getTargetDir(relPath); // App-Ordner
      File classesDir = new File(targetDir, "web/WEB-INF/classes");
      if(classesDir.exists()) {
        FileUtils.deleteDirectory(classesDir);
      }
      classesDir.mkdirs();
      File buildDir = new File(targetDir, "build/");
      File[] files = buildDir.listFiles();
      for(int i = 0; i < files.length; i++) {
        if(files[i].isDirectory()) {
          FileUtils.copyDirectoryToDirectory(files[i], classesDir);
        } else {
          FileUtils.copyFileToDirectory(files[i], classesDir);
        }
      }
    } catch(Exception ex) {
      logger.log(Level.SEVERE, ex.getLocalizedMessage(), ex);
    }
    return result;
  }
    
  public List<CompilerIssue> compileAll(String relPath) {
    logger.fine(relPath);