Comments (14)
This is really good! Where is the frigging PR? :-) I like the idea!
Interested how you do this. You got one bnd/git workspace on location A and then open up different new Eclipse workspace on location B with this partial view?
There is a synchronize button on the Bndtools Explorer. This currently synchronizes with all the projects in the bnd workspace. This will need some adaptation so it won't drag in the rest. Your UI could be connected to this button though.
Looking forward to a PR.
from bnd.
I've done some more pondering and came to the conclusion that adding it to the new bnd workspace wizard is not efficient.
Trying to see the use case I'd say a user creates an Eclipse workspace on a bnd workspace. We currently have the Bndtools Explorer sync action to synchronize this completely. What we need I guess is a button to show up your UI that allows you to efficiently select another subset of projects. It would then rearrange the current Eclipse workspace. as fast as possible.
Anyway, commit a PR and lets take it from there.
from bnd.
Cool — it will take me some time to port it, but good to know the idea has legs.
The screenshots shown are for a new Eclipse workspace. It is in a separate location from the bnd workspace.
Once you tell the import wizard where your bnd workspace is, it imports the cnf project automatically (as you can see in the background of the first screenshot).
After that, you select which projects to import from the bnd workspace into the Eclipse workspace.
Your comment has me thinking though — what do we do when the workspaces are the same filesystem location?
It should be doable, but it will need some consideration.
from bnd.
I am working on a new bnd workspace wizard and the automatic syncing with Eclipse. This is awfully close. I wonder if we could integrate this?
My current focus is to use fragment templates that could be easily extended with a simple PR. They are fragments that just do one thing: gradle, maven layout, Java 17, OSGi R8, distribution. etc.
What I could so is start with a page that selects between the classic workspace templates (which should be deprecated over time), my fragment templates, and sub-setting an existing workspace (as you propose).
In the subset case, we only need a File to the bnd workspace and let the user select the projects it is interested in. You can only create/delete projects in the current instance of Eclipse so it will require acknowledgment to delete the Eclipse projects. With some changes to the WorkspaceSynchronizer, the project creation/deletion should be straightforward. It now compares against all projects in the bnd workspace but it should be simple to give it a list.
You have a fancy drag/drop UI. Although you got >1000 projects, I think this could be easily handled with a CheckboxTableViewer? When you click on the projects you want, we can immediately calculate which projects are included. I guess we need a search bar on top of it.
The workflow would then be. Open a new Eclipse workspace, create new bnd workspace wizard, select the sub-set, chose the bnd workspace, pick the projects, and sync against the list.
If you like this idea, could you make your sources available on github? Maybe we can work together on this?
from bnd.
Your new workspace wizard — is that to create a new BND workspace? Presumably the user already has an Eclipse workspace they are using at that point.
I will look into the checkbox table viewer. I'm not particularly wedded to the drag & drop UI. That was just what we came up with starting from a non-UI background (our first few iterations were command-line tools that kicked off Eclipse project imports).
from bnd.
Yes, the new workspace wizard is always from existing workspace. However, I allow the selection of another bnd workspace and then use that as the Eclipse workspace.
The CheckboxTableViewer is a very easy way to select from a large input set.
from bnd.
@pkriens Hey Peter, I've tried opening the bnd repo in Eclipse to try copy over the elph plugin, however I'm struggling to fix the issue of a bunch of exclamation marks and red crosses on the folders which are leaving me unable to run the .bndrun files from the bndtools.core project as shown in the following guide https://bndtools.org/development.html. Is there any steps you recommend to help try fix this? (I do have bndtools installed in Eclipse and have also tried building from the command line too)
from bnd.
@habiblawal1 have you installed bndtools itself too into your Eclipse? I could not see that from your screenshot.
UPDATE:
I do have bndtools installed in Eclipse and have also tried building from the command line too
sorry, my bad I did not read carefully.
Hmm strange. Which version of Eclipse are you running on?
One more idea:
Can you switch to the bndtools perspective where you see the Bndtools Explorer and the Repositories?
And then click on this refresh button:
Also maybe check if you can group your Problems view by type to see if you see Bndtools errors. In my case it looks like this, for a Workspace which builds fine (I'm on Eclipse 2023-09 (4.29.0)):
from bnd.
A lot of the bndtools path problem issues tend to be about different project directories not being subdirectory of the bnd workspace /Users/habiblawal/Documents/GitHub/bnd/bndtools.core.test/resources/workspaces/editors/quickfix
.
I've tried on both Eclipse IDE for Eclipse Committers Version: 2024-03 (4.31.0), and Version: 2023-12 (4.30.0) Eclipse IDE for Java Developers
from bnd.
different project directories not being
subdirectory of the bnd workspace
Ok you found the reason.
The projects must be all inside the bnd workspace.
The question is: how did you import them? Did you follow the instructions on https://bndtools.org/development.html#importing-into-eclipse
I tried to do repeat this with a new workspace and it looks like this:
- in a new Eclipse workspace do "File / Import / Existing Projects into workspace"
- Select "Browse" and go to the folder which contains your checked out bndtools git repo
- After importing it starts building which takes some minutes. In my case it did not completely build the first time. I just had to select and refresh all projects (Ctry - A all Projects + F5 ). Then the build completed and it should look like this:
from bnd.
Thanks for the quick feedback, its much appreciated. I'll give that a try now :)
from bnd.
Yup its fixed, I think the issue may have been that I had search for nested projects ticked. Thank you!
from bnd.
@habiblawal1 great to hear 👍 Glad I could help. If you think something should be added to https://bndtools.org/development.html#importing-into-eclipse then let me know.
from bnd.
I've created a pull request to inlcude elph I've anyone is able to help review it please :)
from bnd.
Related Issues (20)
- Bnd can cause a .jar to contain the wrong modules’ classes HOT 5
- NPE in Add to -buildpath Quickfix HOT 2
- bnd-maven-plugin: Explicit Service-Component instruction is merged with value generated from `DSAnnotations` plugin HOT 6
- Bndtools / Maven with sources JAR HOT 5
- Unexpected behavior when using Export-Package alongside -includeresources HOT 5
- Add Maven, Eclipse and IntelliJ folders to gitignore HOT 1
- EphemeralPortTest failing intermittently HOT 8
- ProjectResolverTest failing HOT 32
- Compile error on JDK 21: aQute/lib/collections/SortedList doesn't fully implement SortedSet/List interfaces HOT 2
- Running bnd shell command under windows
- Spring Boot 3.3.0 causing StackOverflowError HOT 3
- ANSI Console doesn't work with bndtools HOT 4
- Default 256 for bnd.executor.maximumPoolSize is excessive HOT 22
- 1
- Issues with bndtools Eclipse dev instance on MacOS Sonoma 14.3+ with temurin JDK > 17.0.09+9 HOT 4
- [Maven] When a dependency has multiple artifacts, the non-jar can hide the jar dependency, resulting in resolve issues
- Eclipse 2024-06 Error when installing with bndtools m2e HOT 1
- Repositories restored from XML are inconstent
- ResourceImpl::equals fails for synthetic reources
- New "Project templates" projects should always / immediately show up in the "New Bnd OSGi Project" wizard, after creation.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bnd.