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

Consider bundling CommunityModules.jar as part of a TLC release #16

Open
lemmy opened this issue Jul 5, 2020 · 6 comments
Open

Consider bundling CommunityModules.jar as part of a TLC release #16

lemmy opened this issue Jul 5, 2020 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@lemmy
Copy link
Member

lemmy commented Jul 5, 2020

dgpv/bip32_template_parse_tplaplus_spec#1 shows that users are reluctant to adopt CM because it adds an additional dependency. Thus, we should consider bundling/shipping a snapshot of CM with new TLC releases.

Requirements:

  • Don't blur the lines between CM and the TLA+ standard modules (Specifying Systems)
  • Override bundled CM with a newer release
@lemmy lemmy added the enhancement New feature or request label Jul 5, 2020
@lemmy lemmy changed the title Consider release CM snapshot as part of a TLC release Consider bundling CM snapshot as part of a TLC release Jul 5, 2020
@lemmy
Copy link
Member Author

lemmy commented Jul 7, 2020

Although copy&paste usually works for TLA+ definitions and thus doesn't create an additional dependency, this is not true for Java module overrides. Since one of the main value propositions of CM is module overrides, the general idea of bundling CM with the TLA+ tools received a blessing during today's conf call. However, it implies that we are more careful/conservative with adding new modules to CM and should always consider if https://github.com/tlaplus/examples is a more appropriate home.

@lemmy lemmy self-assigned this Jul 9, 2020
@lemmy
Copy link
Member Author

lemmy commented Jul 9, 2020

Another idea: Instead of bundling CM with tla2tools.jar, tla2tools.jar could have a command to automatically fetch (a particular) version of CM from the web.

@lemmy
Copy link
Member Author

lemmy commented Jul 15, 2020

Simply dropping CommunityModules.jar (timestamp suffix stripped) into the toolbox directory makes sure that TLC loads the modules and overrides.

Questions:

  • What is the lookup order if multiple copies of CommunityModules.jar appear on the Java classpath?
  • Does this work from inside the Toolbox?

@lemmy lemmy changed the title Consider bundling CM snapshot as part of a TLC release Consider bundling CommunityModules.jar as part of a TLC release Aug 10, 2020
@lemmy
Copy link
Member Author

lemmy commented Aug 10, 2020

tlaplus/tlaplus#490 (tlaplus/tlaplus#493) would make it easy for users to load CommunityModules.jar system-wide (although TLA_PATH would have to be added to the classpath too for module overrides to work).

lemmy added a commit to tlaplus/tlaplus that referenced this issue Aug 17, 2020
Related to CommunityModules issue #16
tlaplus/CommunityModules#16

[Feature][Toolbox][Changelog]
@pfeodrippe
Copy link
Contributor

@lemmy We already have a Json module with no license problem, what did you plan as next steps? Are we bundling Community Modules to TLC release using CommunityModule-deps.jar or something else?

@lemmy
Copy link
Member Author

lemmy commented Jan 29, 2021

We will just move TLCExt and Json to TLC. The other modules will remain in the CommunityModules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

2 participants