From 6848810854fa35b4454b6f39bb89e48fd66a572f Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Thu, 14 Jul 2016 16:39:06 -0400 Subject: [PATCH] Clean up the API around the build model. Eventually we want to get rid of it. Also expose the internal packages. Need them for UI testing in clients to get at the Template object. Change-Id: I049f4173cfff86ec398e5e8586c8760c6e1a681a --- .../tools/templates/freemarker/FMGenerator.java | 12 ++++++++++++ .../templates/freemarker/FMProjectGenerator.java | 11 +++++++++-- .../META-INF/MANIFEST.MF | 3 ++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java index 9c23ae90663..e7ad6949201 100644 --- a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java +++ b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java @@ -20,6 +20,7 @@ import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -74,8 +75,19 @@ public abstract class FMGenerator implements IGenerator, TemplateLoader { return manifest; } + protected void populateModel(Map model) { + // default nothing + } + + @Override + public void generate(IProgressMonitor monitor) throws CoreException { + generate(new HashMap<>(), monitor); + } + @Override public void generate(Map model, IProgressMonitor monitor) throws CoreException { + populateModel(model); + // If no manifest, just return if (manifestPath == null) { return; diff --git a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java index f925b4defae..74f0716fe52 100644 --- a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java +++ b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java @@ -48,10 +48,15 @@ public abstract class FMProjectGenerator extends FMGenerator { } @Override - public void generate(Map model, IProgressMonitor monitor) throws CoreException { + protected void populateModel(Map model) { + super.populateModel(model); + // Make sure project name is in model model.put("projectName", projectName); //$NON-NLS-1$ + } + @Override + public void generate(Map model, IProgressMonitor monitor) throws CoreException { // Create the project createProject(monitor); @@ -59,7 +64,7 @@ public abstract class FMProjectGenerator extends FMGenerator { super.generate(model, monitor); } - protected void createProject(IProgressMonitor monitor) throws CoreException { + protected IProject createProject(IProgressMonitor monitor) throws CoreException { IWorkspace workspace = ResourcesPlugin.getWorkspace(); project = workspace.getRoot().getProject(projectName); @@ -76,6 +81,8 @@ public abstract class FMProjectGenerator extends FMGenerator { // TODO make sure it's got all our settings or is this an error // condition? } + + return project; } } diff --git a/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF index 1ba9b50e5bc..966b1cc76ae 100644 --- a/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF @@ -11,4 +11,5 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tools.templates.core;bundle-version="1.0.0";visibility:=reexport Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.tools.templates.ui +Export-Package: org.eclipse.tools.templates.ui, + org.eclipse.tools.templates.ui.internal