-
-
Notifications
You must be signed in to change notification settings - Fork 301
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
Feature/newworkspace #6070
Feature/newworkspace #6070
Conversation
--- Signed-off-by: Peter Kriens <[email protected]> Signed-off-by: Peter Kriens <[email protected]>
--- Signed-off-by: Peter Kriens <[email protected]> Signed-off-by: Peter Kriens <[email protected]>
--- Signed-off-by: Peter Kriens <[email protected]> Signed-off-by: Peter Kriens <[email protected]>
--- Signed-off-by: Peter Kriens <[email protected]> Signed-off-by: Peter Kriens <[email protected]>
--- Signed-off-by: Peter Kriens <[email protected]> Signed-off-by: Peter Kriens <[email protected]>
@pkriens I tried this out and wasn't able to get it to create/setup a bndtools workspace. Is that expected? What's the expected timeline for introducing this...and deprecating workspace templates? Sometime after 7.1? Seems like it's a very big change to bndtools usage (as everyone has to make a bndtools workspace) to introduce. Questions:
|
Yes, if you're not careful the fragments will clash. Before I commit the set of fragments to the new workspace, I do detect duplicates and will append them if allowed by the setup. I could go much more fancy but I'd like to get some feedback first. The javascript world seems to thrive by not making everything an unreadable UUID so I've deferred the counter measures for now. Making a fragment template is as far as I can see limited to a small set of people. And when you commit a PR, we can detect any conflicts. I do not expect lots of PRs (although I'd love to have that problem!) The current workspaces are now deprecated because, as you pointed out so clearly, they did not work very well. However, I am easy to convince to keep them around. If I get push back I could add a first page to the wizard to select the classic workspace templates. |
Running latest code in Eclipse 3.7 debugger I click finish and Eclipse dies with nothing more than this in debug console output Welcome to Apache Felix Gogo g! setting Text {} C:\Users\slewi\workspace\untitled-0 I did it a second time with this new workspace config Finish doesn't crash eclipse, but this is output to log 2024-04-08 17:12:05,906 [HttpClient,https://github.com/bndtools/workspace-templates/archive/master.zip] INFO a.bnd.build.LoggingProgressPlugin - Download https://github.com/bndtools/workspace-templates/archive/master.zip And afaict no bndtools workspace was created...this is after the above completes (no errors reported)
I'm talking about being able to point to p2 repos in workspace template fragments (as I am currently with workspace templates). In an existing workspace template is this (in ext/defaults.bnd): ... (other maven repos) -plugin.4.ECFRSSDK: -plugin.5.ECFGRPC: All I'm asking is that I be able to put the above into workspace template fragments. If this is already supported, great.
That's not what you intend is it? That is, it seems to me the whole reason for workspace template fragments is so that a more 'modular' approach to workspace templating can be used...making it easier with more reuse to be able to create workspace templates? I'll surely be able to work it out for my workspace template use case, but if you want others to use it/build upon it, I would think making it more usable than 'good luck' will be needed.
See above.
I don't think it even makes sense to deprecate the existing workspace templates until the new mechanism is out, well-tested under actual usage conditions, by community, etc. Otherwise you are basically making it impossible to use bndtools at all for those that need to setup a bndtools workspace to begin with. I would suggest leaving the existing mechanism in place for at least two minor releases. |
If you run Eclipse in the bnd debugger, it exits on restart. This is because the debugger uses its own launcher. The Eclipse way of restarting is exiting the VM and the outer exe then restarts the VM. That said, even running it in a normal eclipse restarts correctly but it opens the old workspace. I use a mechanism suggested by ChatGPT(setting some system properties) but that does not work. Can't find any documentation about this so I have to debug further. For the p2 repos/plugins, the old way works find as a bnd file in the ext directory. No change there. It was just that obr & mvn needed a bnd file and an index file, the pmvn and pobr merge this into a single file. As I said already many times, the older mechanism will not disappear any time soon. Just want to push people in the direction of the fragments because I think they have many advantages. But the coming months we'll see. |
I'll make you a deal on this: I have an existing workspace template for ECF remote services here: https://github.com/ECF/bndtools.workspace. I would like to refactor (by creating new repos) into 2 or more workspace template fragments, with the goal of ultimately contributing URLs to your newworkspace fragments list. I would expect to base these template fragments on one or more of the 3 that are there already. We can use these workspace template fragments to test your newworkspace/template fragment mechanisms. And we can use the testing to identify the areas where merging or dependency problems might imply refactoring of the fragments or some tooling for preventing or dealing with fragment conflicts. |
I will give it a go. Your ECF was on my mind for this. |
Added some updates to the docs in #6162 |
This is a rather large PR. It achieves the following: