Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support selection of Bndtools Template in PDE Project Wizards #954

Merged
merged 1 commit into from
Jan 22, 2024

Conversation

laeubi
Copy link
Contributor

@laeubi laeubi commented Nov 30, 2023

PDE already offers a templating mechanism based on extension points, BndTools has one as well that is based on services.

This is an attempt to make BndTools based items available for the new automatic manifest generation that currently lacks any wizards.

Fix

Will require

This is how it currently looks like

Create an own template project

Peek.2024-01-22.13-36.mp4

grafik

Use that template project to create other project from that template

Peek.2024-01-22.13-43.mp4

grafik

Copy link

github-actions bot commented Nov 30, 2023

Test Results

   277 files  ±0     277 suites  ±0   58m 40s ⏱️ + 4m 31s
 3 498 tests ±0   3 462 ✅ ±0   36 💤 ±0  0 ❌ ±0 
10 625 runs  ±0  10 523 ✅ ±0  102 💤 ±0  0 ❌ ±0 

Results for commit 76bde5a. ± Comparison against base commit 25a06e7.

♻️ This comment has been updated with latest results.

@laeubi laeubi force-pushed the issue_704_bnd_templates branch 2 times, most recently from 31952e8 to 71491d8 Compare December 1, 2023 07:30
Copy link
Member

@akurtakov akurtakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment is for the first file but applies to all.

@laeubi
Copy link
Contributor Author

laeubi commented Dec 3, 2023

@akurtakov yes I need to split / cleanup this and open CQ for the files imported from bndtools.
This PR is manly to keep track of open issues (e.g. currently it can't build because of some missing features e.g. eclipse-equinox/equinox#415 and eclipse-platform/eclipse.platform.releng.aggregator#1611) and packages should be "internal API" but I'd like to use usual names if other want to reuse these (e.g. bndtools / m2e ...) and javadoc generation would be fine (for me).

@akurtakov
Copy link
Member

Please don't merge this one until https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/11814 and https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/11813 are approved.
Licensecheck doesn't check dependencies if they are only in target platform but not referenced by any bundle as maven-dependency-plugin doesn't report them. To fix that licensecheck would have to be run not only for the aggregator repo but for each repo so one would see the failure here after addition to the target platform. I would really appreciate if you add this check.

@laeubi
Copy link
Contributor Author

laeubi commented Dec 5, 2023

Yes I need to rebase this PR then the IP lab issues will be shown here as well.

@akurtakov
Copy link
Member

Yes I need to rebase this PR then the IP lab issues will be shown here as well.

I don't see licensecheck being run here at all, are you sure issues will be shown?

@laeubi
Copy link
Contributor Author

laeubi commented Dec 5, 2023

Yes I need to rebase this PR then the IP lab issues will be shown here as well.

I don't see licensecheck being run here at all, are you sure issues will be shown?

If not that should be maybe considered an error? @HannesWell is there any reason the check is not run for PDE repo?

@HannesWell
Copy link
Member

Yes I need to rebase this PR then the IP lab issues will be shown here as well.

I don't see licensecheck being run here at all, are you sure issues will be shown?

If not that should be maybe considered an error? @HannesWell is there any reason the check is not run for PDE repo?

There is no blocker. I think the reason why it only ran for eclipse.platform.releng.aggregator was that that repo contains the sdk.target and therefore sees new artifacts first, except for cases like this one.
So no problem to enable it for PDE too.

@laeubi
Copy link
Contributor Author

laeubi commented Jan 17, 2024

All different parts are merged now, this needs a rebase / resolve conflicts now for the PDE parts....

@laeubi laeubi marked this pull request as ready for review January 22, 2024 12:45
@laeubi laeubi force-pushed the issue_704_bnd_templates branch 3 times, most recently from d8cc7b5 to 6eabb62 Compare January 22, 2024 14:38
PDE already offers a templating mechanism based on extension points,
BndTools has one as well that is based on services.

This is an attempt to make BndTools based items available for the new
automatic manifest generation that currently lacks any wizards.

Fix eclipse-pde#704
@laeubi laeubi merged commit f5354d3 into eclipse-pde:master Jan 22, 2024
16 of 17 checks passed
laeubi added a commit to laeubi/www.eclipse.org-eclipse that referenced this pull request Jan 22, 2024
@laeubi
Copy link
Contributor Author

laeubi commented Jan 22, 2024

laeubi added a commit to eclipse-platform/www.eclipse.org-eclipse that referenced this pull request Jan 22, 2024
@jukzi
Copy link
Contributor

jukzi commented Jan 23, 2024

My Workspace does not find org.eclipse.pde.bnd.ui.wizards.ProjectTemplateParam
image

@laeubi
Copy link
Contributor Author

laeubi commented Jan 23, 2024

The you probably missing the project org.eclipse.pde.bnd.ui

@basilevs
Copy link
Contributor

basilevs commented Feb 11, 2024

@laeubi I'm getting following error on

Eclipse IDE for Eclipse Committers (includes Incubating components)
Version: 2024-03 M2 (4.31.0 M2)
Build id: 20240201-1440

java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Button.removeSelectionListener(org.eclipse.swt.events.SelectionListener)" because "this.cancelButton" is null
	at org.eclipse.jface.wizard.WizardDialog.aboutToStart(WizardDialog.java:401)
	at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1026)
	at org.eclipse.pde.internal.ui.wizards.plugin.NewPluginProjectWizard.getAvailableCodegenWizards(NewPluginProjectWizard.java:209)
	at org.eclipse.pde.internal.ui.wizards.plugin.NewPluginProjectWizard.addPages(NewPluginProjectWizard.java:118)
	at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:634)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1092)
	at org.eclipse.ui.internal.actions.NewWizardShortcutAction.run(NewWizardShortcutAction.java:119)
	at org.eclipse.ui.internal.quickaccess.providers.WizardElement.execute(WizardElement.java:41)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4365)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3988)
	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:648)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:555)
	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.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1459)

I've created some plugin projects, deleted them all and now am trying to create one again.

UPDATE: Nevermind, I see it is tracked in #1097

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants