CommunityModules icon indicating copy to clipboard operation
CommunityModules copied to clipboard

Consider bundling CommunityModules.jar as part of a TLC release

Open lemmy opened this issue 5 years ago • 6 comments

https://github.com/dgpv/bip32_template_parse_tplaplus_spec/issues/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 avatar Jul 05 '20 17:07 lemmy

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 avatar Jul 07 '20 17:07 lemmy

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 avatar Jul 09 '20 23:07 lemmy

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 avatar Jul 15 '20 00:07 lemmy

https://github.com/tlaplus/tlaplus/issues/490 (https://github.com/tlaplus/tlaplus/pull/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 avatar Aug 10 '20 22:08 lemmy

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

pfeodrippe avatar Jan 29 '21 02:01 pfeodrippe

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

lemmy avatar Jan 29 '21 03:01 lemmy