use of org.bndtools.templating.StringResource in project bndtools by bndtools.
the class MustacheTemplateEngineTest method testAlternativeDelimiters.
@Test
public void testAlternativeDelimiters() throws Exception {
MustacheTemplateEngine engine = new MustacheTemplateEngine();
ResourceMap input = new ResourceMap();
input.put("readme.txt", new StringResource("{{=« »=}}Unprocessed: {{packageName}}. Processed: «packageName»"));
Map<String, List<Object>> params = new HashMap<>();
params.put("packageName", Collections.<Object>singletonList("org.example.foo"));
ResourceMap output = engine.generateOutputs(input, params, new NullProgressMonitor());
assertEquals(1, output.size());
assertEquals("Unprocessed: {{packageName}}. Processed: org.example.foo", IO.collect(output.get("readme.txt").getContent()));
}
use of org.bndtools.templating.StringResource in project bndtools by bndtools.
the class MustacheTemplateEngineTest method testNoProcessExtendedPattern.
@Test
public void testNoProcessExtendedPattern() throws Exception {
MustacheTemplateEngine engine = new MustacheTemplateEngine();
ResourceMap input = new ResourceMap();
input.put("_template.properties", new StringResource("process.before=!*.java"));
input.put("{{srcDir}}/", new FolderResource());
input.put("{{srcDir}}/{{packageDir}}/", new FolderResource());
input.put("{{srcDir}}/{{packageDir}}/package-info.java", new StringResource("package {{packageName}};"));
Map<String, List<Object>> params = new HashMap<>();
params.put("srcDir", Collections.<Object>singletonList("src"));
params.put("packageDir", Collections.<Object>singletonList("org/example/foo"));
params.put("packageName", Collections.<Object>singletonList("org.example.foo"));
ResourceMap output = engine.generateOutputs(input, params, new NullProgressMonitor());
assertEquals(3, output.size());
assertEquals("package {{packageName}};", IO.collect(output.get("src/org/example/foo/package-info.java").getContent()));
}
use of org.bndtools.templating.StringResource in project bndtools by bndtools.
the class MustacheTemplateEngineTest method testApplyDefaults.
@Test
public void testApplyDefaults() throws Exception {
MustacheTemplateEngine engine = new MustacheTemplateEngine();
ResourceMap input = new ResourceMap();
input.put("_defaults.properties", new StringResource("fish=carp\nbattleship=potemkin\nantidisestablishmentarianism=bigword"));
input.put("readme.txt", new StringResource("Blah {{fish}} blah {{battleship}} blah {{antidisestablishmentarianism}}"));
ResourceMap outputs = engine.generateOutputs(input, new HashMap<String, List<Object>>(), new NullProgressMonitor());
assertEquals(1, outputs.size());
assertEquals("Blah carp blah potemkin blah bigword", IO.collect(outputs.get("readme.txt").getContent()));
}
use of org.bndtools.templating.StringResource in project bndtools by bndtools.
the class BndRunFileWizard method init.
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.workbench = workbench;
mainPage = new WizardNewFileCreationPage("newFilePage", selection) {
@Override
protected InputStream getInitialContents() {
try {
return getTemplateContents(getFileName());
} catch (Exception e) {
throw new WrappingException(e);
}
}
};
mainPage.setTitle("New Bnd Run Descriptor");
//$NON-NLS-1$
mainPage.setFileExtension("bndrun");
mainPage.setAllowExistingResources(false);
BuiltInTemplate baseTemplate = new BuiltInTemplate("«Empty»", DEFAULT_TEMPLATE_ENGINE);
baseTemplate.addInputResource("$fileName$", new StringResource(""));
baseTemplate.setHelpPath("docs/empty_run.xml");
templatePage = new TemplateSelectionWizardPage("runTemplateSelection", "bndrun", baseTemplate);
templatePage.setTitle("Select Run Descriptor Template");
paramsPage = new TemplateParamsWizardPage(PROPS);
templatePage.addPropertyChangeListener(TemplateSelectionWizardPage.PROP_TEMPLATE, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
paramsPage.setTemplate(templatePage.getTemplate());
}
});
}
use of org.bndtools.templating.StringResource in project bndtools by bndtools.
the class NewBndProjectWizard method init.
@Override
public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
super.init(workbench, currentSelection);
BuiltInTemplate baseTemplate = new BuiltInTemplate(EMPTY_TEMPLATE_NAME, DEFAULT_TEMPLATE_ENGINE);
//$NON-NLS-1$
baseTemplate.addInputResource(Project.BNDFILE, new StringResource(""));
//$NON-NLS-1$
baseTemplate.setHelpPath("docs/empty_project.xml");
templatePage = new ProjectTemplateSelectionWizardPage("projectTemplateSelection", "project", baseTemplate);
templatePage.setTitle("Select Project Template");
paramsPage = new TemplateParamsWizardPage(ProjectTemplateParam.valueStrings());
templatePage.addPropertyChangeListener(TemplateSelectionWizardPage.PROP_TEMPLATE, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
Template template = templatePage.getTemplate();
pageOne.setTemplate(template);
paramsPage.setTemplate(template);
}
});
setDefaultPageImageDescriptor(ImageDescriptor.createFromURL(Plugin.getDefault().getBundle().getEntry("icons/bndtools-wizban.png")));
}
Aggregations