From 2e303f595176362f72c6bd77281dd0b470df5861 Mon Sep 17 00:00:00 2001 From: ulrich Date: Tue, 17 Nov 2020 17:06:44 +0000 Subject: [PATCH] Ant imports hinzugefuegt, BuildListener gebaut --- src/java/de/uhilger/filecms/api/CompileService.java | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/CompileService.java b/src/java/de/uhilger/filecms/api/CompileService.java index c12c1c7..29dc09d 100644 --- a/src/java/de/uhilger/filecms/api/CompileService.java +++ b/src/java/de/uhilger/filecms/api/CompileService.java @@ -35,6 +35,8 @@ import javax.tools.StandardJavaFileManager; import javax.tools.ToolProvider; import org.apache.commons.io.FileUtils; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.ProjectHelper; /** * @@ -43,6 +45,33 @@ private static final Logger logger = Logger.getLogger(CompileService.class.getName()); + public String antBuild(String relPath) { + File targetDir = getTargetDir(relPath); // App-Ordner + StringBuilder sb = new StringBuilder(); + sb.append("Ant build ist noch nicht implementiert."); + + sb.append("<br/>"); + sb.append("targetDir: "); + sb.append(targetDir.getAbsolutePath()); + + File buildFile = new File(targetDir, "build.xml"); + Project p = new Project(); + //p.setName("FileCms Build"); + FileCmsBuildListener listener = new FileCmsBuildListener(); + p.addBuildListener(listener); + p.setUserProperty("ant.file", buildFile.getAbsolutePath()); + p.init(); + ProjectHelper helper = ProjectHelper.getProjectHelper(); + p.addReference("ant.projectHelper", helper); + helper.parse(p, buildFile); + p.executeTarget(p.getDefaultTarget()); + sb.append("<br/>"); + sb.append(listener.getOutput()); + + return sb.toString(); + } + + /** * Annahme: relPath zeigt auf einen Ordner, in dem ein build-Ordner die * fertigen Klassen und ein web-Ordner die Struktur mit WEB-INF -- Gitblit v1.9.3