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

Versioning of lang.* modules #142

Closed
jclark opened this issue May 21, 2019 · 4 comments
Closed

Versioning of lang.* modules #142

jclark opened this issue May 21, 2019 · 4 comments
Assignees
Labels
Area/Lang Relates to the Ballerina language specification Area/Platform Relates to the Ballerina platform design/incomplete Part of design not yet worked out status/pending Design is agreed and waiting to be added
Milestone

Comments

@jclark
Copy link
Collaborator

jclark commented May 21, 2019

The following are inconsistent

  1. lang.* modules are versioned according to the spec
  2. spec versions are 20xxRy
  3. module versions must follow semver syntax
@jclark jclark added Area/Lang Relates to the Ballerina language specification design/incoherent Design has internal contradictions labels May 21, 2019
@jclark jclark added this to the 2019R2 milestone May 21, 2019
@sanjiva
Copy link
Contributor

sanjiva commented May 30, 2019

I think the idea is that a spec version will indicate the set of version #s of the lang.* modules that go with that spec version right? (That's what we documented in #115 I think.)

In that case I'm not sure what the problem?

@jclark
Copy link
Collaborator Author

jclark commented May 30, 2019

The grammar for import-decl requires a X.Y.Z version number, which stops you importing e.g. version 2019R3 of a lang module.

@jclark
Copy link
Collaborator Author

jclark commented May 31, 2019

Solution is that langlib has a mapping from spec version e.g. 2019R3 to semver 1.0.0

@jclark jclark added the status/pending Design is agreed and waiting to be added label May 31, 2019
This was referenced May 31, 2019
@jclark jclark self-assigned this Jun 4, 2019
@jclark jclark added Area/Langext Relates to annotations providing language extras Area/Platform Relates to the Ballerina platform and removed Area/Langext Relates to annotations providing language extras labels Jun 4, 2019
@jclark
Copy link
Collaborator Author

jclark commented Jun 4, 2019

There is a lang spec part of this (lang spec defines version number for each lang module) and a platform part (how does the compilation environment pick up these version numbers).

@jclark jclark added design/incomplete Part of design not yet worked out and removed design/incoherent Design has internal contradictions labels Jun 4, 2019
@jclark jclark closed this as completed in b2f2647 Jun 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area/Lang Relates to the Ballerina language specification Area/Platform Relates to the Ballerina platform design/incomplete Part of design not yet worked out status/pending Design is agreed and waiting to be added
Projects
None yet
Development

No branches or pull requests

2 participants