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

[pacmak] support pre-release versions #2114

Closed
4 tasks done
nija-at opened this issue Oct 12, 2020 · 1 comment · Fixed by #2146
Closed
4 tasks done

[pacmak] support pre-release versions #2114

nija-at opened this issue Oct 12, 2020 · 1 comment · Fixed by #2146
Assignees
Labels
feature-request A feature should be added or improved.

Comments

@nija-at
Copy link
Contributor

nija-at commented Oct 12, 2020

🚀 Feature Request

Affected Languages

  • TypeScript or Javascript
  • Python
  • Java
  • .NET (C#, F#, ...)

Description

We would like to release the the next major version of aws-cdk and the constructs libraries
initially as pre-release. See cdk pre-release identifiers and constructs pre-release identifier.

JSII packing needs to natively support this.

Proposed Solution

If the version field in package.json contains a pre-release suffix, JSII should treat the suffix as a pre-release identifier and create pre-release versions appropriate for the package managers of the target languages.

For example, if version is specified as 2.0.0-alpha.1, it must automatically detect that this is a pre-release version and create target versions as 2.0.0-alpha.1 for Maven Central, 2.0.0-alpha.1 for Nuget and 2.0.0.a1 for PyPI.

Some package managers are restrictive in what is acceptable pre-release versions. For example, PyPI only allows devN, aN, bN and rcN (where N is the pre-release version number) as valid pre-release versions.
For this reason, when enabled for these package managers, it must make reasonable assumptions about allowed pre-release identifiers, erring if a pre-release identifier cannot be translated and allow overriding them in the jsii section.

@nija-at nija-at added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Oct 12, 2020
@nija-at nija-at added this to the October Release milestone Oct 12, 2020
@SomayaB SomayaB removed the needs-triage This issue or PR still needs to be triaged. label Oct 12, 2020
RomainMuller added a commit that referenced this issue Oct 19, 2020
When an NPM package built with `jsii` is tagged with a version that
includes a prerelease identifier (e.g: `1.2.3-alpha.1`), automatically
represent this as a pre-release version in generated packages, too. For
most currently supported languages, this simply means forwarding the
version untouched, however for Python, prerelease identifiers need to
be mapped into one of the supported tokens in PyPI (`.dev#`, `.a#`,
`.b#` or `.rc#`).

Fixes #2114
RomainMuller added a commit that referenced this issue Oct 28, 2020
When an NPM package built with `jsii` is tagged with a version that
includes a prerelease identifier (e.g: `1.2.3-alpha.1`), automatically
represent this as a pre-release version in generated packages, too. For
most currently supported languages, this simply means forwarding the
version untouched, however for Python, prerelease identifiers need to
be mapped into one of the supported tokens in PyPI (`.dev#`, `.a#`,
`.b#` or `.rc#`).

Fixes #2114

Co-authored-by: Niranjan Jayakar <nija@amazon.com>
@github-actions
Copy link
Contributor

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants