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

Dependencies between gems unusable #19

Closed
opoudjis opened this issue Dec 27, 2023 · 10 comments
Closed

Dependencies between gems unusable #19

opoudjis opened this issue Dec 27, 2023 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@opoudjis
Copy link
Contributor

The dependencies tree between pubid gems is making them unusable. Right now:

  • I consume all of pubid-cen, pubid-iso, pubid-iec in the same stack
  • I am supposed to test a pubid-iec PR, which is anchored to pubid-core 1.12
  • The latest pubid-iso is anchored to pubid-core 1.8.6
  • The latest pubid-cen is anchored to pubid-core 1.8.0
  • The current relaton-iso release is anchored to pubid-core 1.8.6 (since it names the version of pubid-iso as 0.6.0)

This means it is impossible for me to do anything with the pubid-iec PR, without recompiling and removing the dependencies for pubid-iso, pubid-cen, and relaton-iso

Releases need to be anchored to a single gem's versions, which is updated whenever a pubid version is updated; this is what the relaton stack does with relaton-cli. Any major version updates are ONLY exposed to the outside world through relaton-cli, and whenever there is a minor version update in a child relaton gem, the minor version of relaton-cli is updated as well.

This may be the intent behind pubid-core, but it is not clear to me that this is happening; and @andrew2net and I are using pubid-core 1.8, which was last updated start of October: we have no idea about the updates to pubid-core since.

So you need to:

(a) notify us when a minor version of pubid-core changes, so that both of us can update our dependencies
(b) ensure that minor versions of pubid-* are synchronised with pubid-core, if they are not already

@opoudjis opoudjis added the enhancement New feature or request label Dec 27, 2023
@github-project-automation github-project-automation bot moved this to 🆕 New in Metanorma Dec 27, 2023
@ronaldtse
Copy link

@mico we must ensure that the whole pubid stack is useable and synchronized at once. We do need a way of ensuring this; so we should have some pubid gem, eg “pubid” that requires all pubid-* flavors.

@andrew2net
Copy link

I don't think we need to have pubid gem that requires all the pubid-* gems. I need to test Relaton flavor gems with new Pubid versions, so I need to be able to manage the Pubid dependencies in each Relaton flavor gem separately.
I think using same major and minor version for all the Pubid gems will make updating gems more clear. We already use such version numeration in Relaton gems.
@mico it seems that paid-core is the root gem for all Pubid gems. Let's use same major and minor version as the pubid-core has, for all Pubid gems.

@mico
Copy link
Contributor

mico commented Mar 29, 2024

@opoudjis did we solve the problem by introducing https://github.com/metanorma/pubid ?

@ronaldtse
Copy link

@andrew2net we need the all-encompassing pubid gem because we need a single place to lock versions for Metanorma. Both Metanorma and Relaton uses the pubid-* gems in different ways.

@mico mico assigned opoudjis and unassigned mico Mar 30, 2024
@opoudjis
Copy link
Contributor Author

opoudjis commented Apr 1, 2024

I am switching to pubid. @andrew2net I would rather you do the same, so that we avoid clashes.

opoudjis added a commit to metanorma/metanorma-iso that referenced this issue Apr 1, 2024
opoudjis added a commit to metanorma/metanorma-itu that referenced this issue Apr 1, 2024
@opoudjis
Copy link
Contributor Author

opoudjis commented Apr 1, 2024

Closing for now...

@opoudjis opoudjis closed this as completed Apr 1, 2024
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in Metanorma Apr 1, 2024
@andrew2net
Copy link

@opoudjis Relaton can't use pubid right now. There are many IDs that pubid unable to parse. Only relaton-iso uses pubid-iso at this time.

@opoudjis
Copy link
Contributor Author

opoudjis commented Apr 2, 2024

@andrew2net OK, but could you at least set your gemspec to use pubid instead of pubid-iso? pubid includes pubid-iso, so you can still require pubid-iso on its own; and if you include it, you prevent our gems falling out of sync.

@ronaldtse
Copy link

@andrew2net can you please help apply pubid one by one into Relaton? We need to make sure pubid works...

opoudjis added a commit to metanorma/metanorma-ieee that referenced this issue Apr 2, 2024
@andrew2net
Copy link

@ronaldtse Artur started applying pubid into Relaton. I'll help him and review the code.

opoudjis added a commit to metanorma/metanorma-iec that referenced this issue Apr 8, 2024
opoudjis added a commit to metanorma/metanorma-jis that referenced this issue Apr 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

No branches or pull requests

4 participants