-
-
Notifications
You must be signed in to change notification settings - Fork 38
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
Allow specifying of the minimum required Inko version in inko.pkg #723
Comments
Should we allow to specify that a module is compatible with multiple major or 0.minor versions, such as Inko 0.15.0 and 0.16.0? If so, how should we format those specifiers?
|
@uasi The version would be the minimum required version, similar to how we do this for packages. This means that if your package is compatible with both 0.15.0 and 0.16.0, you'd simply specify 0.15.0 as the version. If multiple |
To add to that: looking at our version selection logic for packages, it seems that we treat Based on this we should just treat the version as the minimum regardless of semantic versioning, and I'll create a separate issue for handling 0.X versions per semantic versioning. |
This adds support for specifying a minimum version of Inko that's required to build a project. Semantic versioning isn't applied, meaning that a minimum requirement of 0.15.0 is satisfied by 0.16.0, 1.2.3, etc. This fixes inko-lang#723. Changelog: added
This adds support for specifying a minimum version of Inko that's required to build a project. Semantic versioning isn't applied, meaning that a minimum requirement of 0.15.0 is satisfied by 0.16.0, 1.2.3, etc. This fixes inko-lang#723. Changelog: added
This adds support for specifying a minimum version of Inko that's required to build a project. Semantic versioning isn't applied, meaning that a minimum requirement of 0.15.0 is satisfied by 0.16.0, 1.2.3, etc. This fixes inko-lang#723. Changelog: added
This adds support for specifying a minimum version of Inko that's required to build a project. Semantic versioning isn't applied, meaning that a minimum requirement of 0.15.0 is satisfied by 0.16.0, 1.2.3, etc. This fixes inko-lang#723. Changelog: added
Description
inko.pkg
is used to specify the dependencies of a project. I'd like to extend it to also support specifying the minimum Inko version required to build the project.The syntax for the rule is
require inko X.Y.Z
, i.e.require inko 0.15.0
, such that a finalinko.pkg
might look like this:Since
inko
isn't a valid URL, this won't introduce any conflicts with package dependencies.When running
inko build
, we then check if the used version of Inko is compatible with the required minimum version. The version check is based on semantic versioning, meaning that e.g. 0.16.0 isn't compatible with a minimum 0.15.0, but 1.2.3 is compatible with a minimum of 1.1.0.The check should be performed before we parse any Inko source code, and the compiler should terminate with an error if the versions aren't compatible. For dependencies in
./dep
we should also verify the version requirements. We need to do this every timeinko build
runs as one may upgrade an Inko version without runninginko pkg sync
(e.g. because there's no need for this).If a package doesn't provide an
inko.pkg
file, we just build it without performing any checks.Related work
No response
The text was updated successfully, but these errors were encountered: