-
Notifications
You must be signed in to change notification settings - Fork 323
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
Improve experience of inter-project imports in local projects #7633
Comments
I think once we could get through this, the example of importing |
Radosław Waśko reports a new STANDUP for yesterday (2023-08-28): Progress: Updated behaviour of library resolution to allow importing Next Day: Next day I will be working on the #7238 task. Start work on |
…e `Round_Spec.enso` back to `Tests` (#7634) - Closes #7633 - Moves `Round_Spec.enso` from published `Standard.Test` into our `test/Tests` project; the `Table_Tests` that depend on it, simply `import enso_dev.Tests`. - Changes the layout of the local libraries directory: - It used to be `root/<namespace>/<name>`. - Now it is `root/<dir>` - the namespace and name are now read from `package.yaml` instead. - Adds the parent directory of the current project to the default `ENSO_LIBRARY_PATH`. - It is treated as a secondary path, so the default `ENSO_HOME/lib` still takes precedence. - This allows projects to reference and load 'sibling' projects easily - the only requirement is for the project to enable `prefer-local-libraries: true` or add the other local project to its edition. The edition resolution logic is **not changed**.
Currently, we can easily import 'published' libraries like our
Standard
library.The Enso library manager also has capabilities of importing local 'user' libraries, but it has not been used much and so is mostly unknown.
Recently, in #7521 we had a need to share testing logic between
Tests
andTable_Tests
. To achieve this, the common code was moved toStandard.Test
library which is shared. That is not desirable, becauseStandard.Test
is a library for creating test suites and it should not itself contain such test suites.We can fix this by allowing
Table_Tests
to import theTests
project as a library and import code from it.To do so we need to:
Table_Tests
edition to make it aware of theenso_dev.Tests
project.prefer-local-libraries
. I did the former as it seems cleaner.0.0.0-dev
. Overriding edition settings is not compatible with theengine-version: default
setting that we've been using (which has been technically deprecated).0.0.0-dev
to2023.2.1-dev
.extends: default
to extend the current default edition.enso_dev.Tests
is discoverable fromTable_Tests
. To achieve that, we need to ensure thattest/Tests
is on theENSO_LIBRARY_PATH
.libraries/<namespace>/<name>
buttests
has formattests/<name>
- missing thenamespace
part.package.yaml
file and checking that instead. This way we can have a flat structure. We won't be able to have two local libraries with the same name next to each other but that seems to be less of a problem.$ENSO_HOME/lib
and the parent directory of the current project (currently only the former is accounted for).The text was updated successfully, but these errors were encountered: