Giter Club home page Giter Club logo

Comments (14)

pkriens avatar pkriens commented on August 18, 2024 1

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.

pkriens avatar pkriens commented on August 18, 2024 1

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.

joe-chacko avatar joe-chacko commented on August 18, 2024

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.

pkriens avatar pkriens commented on August 18, 2024

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.

image

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.

joe-chacko avatar joe-chacko commented on August 18, 2024

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.

pkriens avatar pkriens commented on August 18, 2024

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.

habiblawal1 avatar habiblawal1 commented on August 18, 2024

@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)
Screenshot 2024-05-31 at 17 34 01 (2)

from bnd.

chrisrueger avatar chrisrueger commented on August 18, 2024

@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:

image

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)):

image

from bnd.

habiblawal1 avatar habiblawal1 commented on August 18, 2024

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

Screenshot 2024-06-03 at 17 16 57 (2)
Screenshot 2024-06-03 at 17 17 04 (2)

from bnd.

chrisrueger avatar chrisrueger commented on August 18, 2024

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:

  1. in a new Eclipse workspace do "File / Import / Existing Projects into workspace"
image
  1. Select "Browse" and go to the folder which contains your checked out bndtools git repo
image
  1. 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:
image

from bnd.

habiblawal1 avatar habiblawal1 commented on August 18, 2024

Thanks for the quick feedback, its much appreciated. I'll give that a try now :)

from bnd.

habiblawal1 avatar habiblawal1 commented on August 18, 2024

Yup its fixed, I think the issue may have been that I had search for nested projects ticked. Thank you!

from bnd.

chrisrueger avatar chrisrueger commented on August 18, 2024

@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.

habiblawal1 avatar habiblawal1 commented on August 18, 2024

I've created a pull request to inlcude elph I've anyone is able to help review it please :)

from bnd.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.