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

Built-in workspace templates inconsistent between OSGi R7 and OSGi R8 #5955

Closed
scottslewis opened this issue Dec 31, 2023 · 6 comments · Fixed by #6164
Closed

Built-in workspace templates inconsistent between OSGi R7 and OSGi R8 #5955

scottslewis opened this issue Dec 31, 2023 · 6 comments · Fixed by #6164
Assignees

Comments

@scottslewis
Copy link
Contributor

This file org.bndtools.templating.gitrepo/resources/processed/org/bndtools/templating/jgit/initialrepos.txt specifies the two workspace templates made available by default in bnd workspace creation.

Currently (and historically) it has these two workspace templates defined in the repos with same name

bndtools/workspace - https://github.com/bndtools/workspace
bndtools/bndtools.workspace.min = https://github.com/bndtools/bndtools.workspace.min

As per this issue: bndtools/bndtools.workspace.min#7 bndtools.workspace.min has been updated to OSGi R8 on master branch and initialrepos.txt now points to it.

In initialRepos.txt, however, bndtools.workspace still refers to OSGi 7.1, not 8. There is an open pull request in bndtools.workspace repo to move to R8: bndtools/workspace#24.

Either bndtools.workspace pr bndtools/workspace#24 should be merged to main and initialrepos.txt updated to use main branch OR there was some discussion to remove bndtools.workspace from initialrepos.txt (and wizard code I think?). In any case, if both repos in initialrepos.txt remain then both should be on R8 OR there should only be bndtools.workspace.min (on R8 already)

@pkriens @chrisrueger

@pkriens
Copy link
Member

pkriens commented Feb 16, 2024

@scottslewis can we have a call about this? We're discussing this and I think it makes sense to ONLY have min. We can then add other repos via bnd files in the ext directory.

Contact me via email so we can setup a zoom call.

@scottslewis
Copy link
Contributor Author

@pkriens I'm sorry, but I've got family and work commitments this week that will make a call impossible.

To state my opinion: I have no problems with having only one template (min/R8). However, all of my tooling experience tells me that whenever anything is removed, it will likely cause at least some confusion and churn in the user community. I'm not sure how to prevent this churn, but I do think it's worthy of a) some communication with the community to assess how many problems this might cause/warn them, and for whom and/or b) some technical effort to reduce (or make more gradual) the churn.

@pkriens pkriens self-assigned this Mar 15, 2024
@pkriens
Copy link
Member

pkriens commented Jun 21, 2024

could you provide a status? I am confused and have very little time to work on this and need actionable items.

@scottslewis
Copy link
Contributor Author

From https://github.com/bndtools/bnd/blob/master/org.bndtools.templating.gitrepo/resources/processed/org/bndtools/templating/jgit/initialrepos.txt

bndtools/workspace;branch=origin/${version;==;${base.version}},
bndtools/bndtools.workspace.min

and afaict, nothing has changed since this

bndtools/workspace - https://github.com/bndtools/workspace
bndtools/bndtools.workspace.min = https://github.com/bndtools/bndtools.workspace.min

As per this issue: bndtools/bndtools.workspace.min#7 bndtools.workspace.min has been updated to OSGi R8 on master branch and initialrepos.txt now points to it.

In initialRepos.txt, however, bndtools.workspace still refers to OSGi 7.1, not 8. There is an open pull request in bndtools.workspace repo to move to R8: bndtools/workspace#24.

My conclusion is that bndtools.workspace.min (master) currently points to R8 and workspace (master) still points to R7. a worst case situation for users that have no idea which workspace template they should use and why one would use R7 (the 'main' one) or R8.

I would suggest merging the pull request 24 to at least have both workspace templates on R8 and simplifying initialRepos.txt. Caveat...I have myself not tested the 24 pull request but I believe it's probably just a copy of what's in bndtools.workspace.min.

@chrisrueger
Copy link
Contributor

I would suggest merging the pull request 24 to at least have both workspace templates on R8 and simplifying initialRepos.txt. Caveat...I have myself not tested the 24 pull request but I believe it's probably just a copy of what's in bndtools.workspace.min.

Counter suggestion based on recent discussions in #6070 (comment)

  • keep the bndtools/bndtools.workspace.min = https://github.com/bndtools/bndtools.workspace.min
  • remove the bndtools/workspace - https://github.com/bndtools/workspace
  • focus on the new Template Fragments instead of the older workspace templates.

I added some additions to the docs for template fragements in #6162 since in today's bnd call we talked about it.
@pkriens demonstrated the current status.

The more fine-grained model of template fragments to me seems easier to maintain, more flexible than the previous workspace template approach.

Also @peterkir presented his work on the oomph setup stuff of #6084 together with a new proposal of how to deploy the p2 repo of bndtools in the future (maybe replace jfrog with something different).

All that combined (p2 repos, oomph, template fragments) could play right into your hands with your ECF work. I think at the moment it is a bit confusing, because lots of those ideas are in the works and not finished.

@scottslewis
Copy link
Contributor Author

I would suggest merging the pull request 24 to at least have both workspace templates on R8 and simplifying initialRepos.txt. Caveat...I have myself not tested the 24 pull request but I believe it's probably just a copy of what's in bndtools.workspace.min.

Counter suggestion based on recent discussions in #6070 (comment)

* keep the `bndtools/bndtools.workspace.min = https://github.com/bndtools/bndtools.workspace.min`

* remove the `bndtools/workspace - https://github.com/bndtools/workspace`

* focus on the new [Template Fragments](https://bnd.bndtools.org/chapters/620-template-fragments.html) instead of the older workspace templates.

For the record I agree with @chrisrueger that it would be 'better/simpler' to have only a single repo (bndtools.workspace.min) in initialRepos.txt and remove bndtools/workspace.

The reason I didn't suggest this originally, is that I wasn't/am not sure that this would break something in bndtools itself. For example, I'm not sure that the bndtools/workspace isn't referenced directly in source code. If @chrisrueger, however, is sure that it is not, and removing bndtools/workspace won't break anything, then I would endorse his notion of having only bndtools.workspace.min (8) as the one and only builtin workspace template.

All that combined (p2 repos, oomph, template fragments) could play right into your hands with your ECF work. I think at the moment it is a bit confusing, because lots of those ideas are in the works and not finished.

I agree. Having a single 'builtin' workspace template (bndtools.workspace.min R8) and template fragments improves the situation immensely from ECF perspective. I will have to make major changes to the ECF workspace template, but I'm prepared to make those changes once bndtools 7.1 is finalized and released.

chrisrueger added a commit to chrisrueger/bnd that referenced this issue Jun 24, 2024
 from initialrepos.txt, because in bndtools#5955 we kind of agreed to remove https://github.com/bndtools/workspace workspace template and just keep the bndtools/bndtools.workspace.min , because workspace templates will most likely be superseded by Template Fragments

Signed-off-by: Christoph Rueger <[email protected]>
chrisrueger added a commit to chrisrueger/bnd that referenced this issue Jun 24, 2024
 from initialrepos.txt, because in bndtools#5955 we kind of agreed to remove https://github.com/bndtools/workspace workspace template and just keep the bndtools/bndtools.workspace.min , because workspace templates will most likely be superseded by Template Fragments

Signed-off-by: Christoph Rueger <[email protected]>
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 a pull request may close this issue.

3 participants