eclipse-pde / eclipse.pde

Eclipse Public License 2.0
25 stars 62 forks source link

Bnd Template: Failed to compile template '_mapping': _mapping 2:24: doesn't look like an expression #1356

Open mikerumpf opened 1 month ago

mikerumpf commented 1 month ago

In Eclipse 4.31 https://eclipse.dev/eclipse/news/4.31/pde.php#bndtemplates was introduced (thanks a lot!). However I can't get it to work. Whenever I create a plugin from the example template I get the following exception.

`java.lang.IllegalArgumentException: Failed to compile template '_mapping': _mapping 2:24: doesn't look like an expression

at org.bndtools.templating.engine.st.StringTemplateEngine.compile(StringTemplateEngine.java:278)
at org.bndtools.templating.engine.st.StringTemplateEngine.getTemplateParameters(StringTemplateEngine.java:98)
at org.eclipse.pde.bnd.ui.templating.CapabilityBasedTemplate.getMetadata(CapabilityBasedTemplate.java:225)
at org.eclipse.pde.bnd.ui.templating.CapabilityBasedTemplate.getMetadata(CapabilityBasedTemplate.java:163)
at org.eclipse.pde.bnd.ui.wizards.TemplateParamsWizardPage.updateUI(TemplateParamsWizardPage.java:104)
at org.eclipse.pde.bnd.ui.wizards.TemplateParamsWizardPage.createControl(TemplateParamsWizardPage.java:75)
at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:180)
at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:744)
at org.eclipse.jface.wizard.WizardDialog.setWizard(WizardDialog.java:1184)
at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1235)
at org.eclipse.jface.wizard.WizardDialog.lambda$3(WizardDialog.java:1225)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1225)
at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:922)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:470)
at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:265)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4285)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1160)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4083)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3673)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:101)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:581)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:415)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4285)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1160)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4083)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3673)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:152)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
at org.eclipse.equinox.launcher.Main.run(Main.java:1481)`

Context: eclipse.buildId=4.32.0.20240606-1231 java.version=21.0.3 java.vendor=Eclipse Adoptium BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE Framework arguments: -product org.eclipse.epp.package.rcp.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.rcp.product -data C:\ws_intern\ws_basicosgi

laeubi commented 1 month ago

@mikerumpf can you share what exactly is chosen in the wizard (maybe even a screencast)? Is it the same for String Template and Mustace Template?

mikerumpf commented 1 month ago

bndtemplate

mikerumpf commented 1 month ago

Mustache Template works fine btw.