Commit Graph

53 Commits

Author SHA1 Message Date
Hubert Plociniczak
d59714a29d
Support module imports using a qualified name (#3608)
This change allows for importing modules using a qualified name and deals with any conflicts on the way.
Given a module C defined at `A/B/C.enso` with
```
type C
type C a
```
it is now possible to import it as
```
import project.A
...
val x = A.B.C 10
```

Given a module located at `A/B/C/D.enso`, we will generate
intermediate, synthetic, modules that only import and export the successor module along the path.
For example, the contents of a synthetic module B will look like
```
import <namespace>.<pkg-name>.A.B.C
export <namespace>.<pkg-name>.A.B.C
```
If module B is defined already by the developer, the compiler will _inject_ the above statements to the IR.

Also removed the last elements of some lowercase name resolution that managed to survive recent
changes (`Meta.Enso_Project` would now be ambiguous with `enso_project` method).

Finally, added a pass that detects shadowing of the synthetic module by the type defined along the path.
We print a warning in such a situation.

Related to https://www.pivotaltracker.com/n/projects/2539304

# Important Notes
There was an additional request to fix the annoying problem with `from` imports that would always bring
the module into the scope. The changes in stdlib demonstrate how it is now possible to avoid the workaround of
```
from X.Y.Z as Z_Module import A, B
```
(i.e. `as Z_Module` part is almost always unnecessary).
2022-07-29 14:19:07 +00:00
Michał Wawrzyniec Urbańczyk
4baad5f146
Nightly proccess preparations: Setting Enso version through the environment (#3241)
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
Co-authored-by: Radosław Waśko <wasko.radek@gmail.com>
2022-02-07 15:14:32 +01:00
Michał W. Urbańczyk
99053decd8 various default branch switch - related updates 2021-11-01 01:37:30 +01:00
Ara Adkins
a924e16618
Update some documentation for clarity (#2005) 2021-10-01 14:13:20 +01:00
Radosław Waśko
be6e60509a
Tool To Bump Stdlib Version (#1947) 2021-08-13 18:14:20 +02:00
Radosław Waśko
d84891d29d
Update Codeowners And Release Policy (#1893) 2021-07-22 11:07:23 +02:00
Radosław Waśko
042a0f81f1
Fix Nightly Workflows and Update Release Policy (#1845) 2021-07-10 01:10:31 +02:00
Radosław Waśko
b58e895b18
Editions Integration (#1832) 2021-07-08 15:38:20 +02:00
Ara Adkins
e4a044df9f
Document the process for avoiding release breakage (#1819) 2021-06-25 12:59:23 +01:00
Radosław Waśko
241a1e7d74
Define Editions (#1797) 2021-06-18 16:39:45 +02:00
Radosław Waśko
c3e4901eb1
Add a workflow for building nightly releases (#1689) 2021-05-05 11:58:14 +01:00
Ara Adkins
6060d31c79
Update examples for Standard.Base.Data.* (#1707) 2021-04-29 11:27:16 +01:00
Ara Adkins
f7769e7cca
Update the release instructions 2021-04-28 15:50:55 +01:00
Ara Adkins
9f60e22508
Update all references to dev.enso.org 2021-04-07 20:39:46 +01:00
Ara Adkins
96697ddc97
Fix a crash due to shadowed project names (#1571) 2021-03-16 12:45:19 +00:00
Radosław Waśko
10bccf6b56
Better component handling in the project manager (#1399) 2021-01-15 15:26:51 +00:00
Ara Adkins
a7bd90ab8f
Document the runtime's builtin functionality (#1397) 2021-01-14 15:31:15 +00:00
Ara Adkins
0cbd636e58
Bump the development version number (#1389) 2021-01-06 08:57:02 +00:00
Radosław Waśko
cc24b6f366
Download releases from the main repo (#1387) 2021-01-05 14:14:08 +00:00
Radosław Waśko
6075c1e765
Implement LocalReleaseProvider (#1370) 2020-12-21 23:30:59 +01:00
Radosław Waśko
2e6a5af4fb
Split Installer Versions in Manifest (#1355) 2020-12-16 12:34:33 +01:00
Radosław Waśko
de817af655
Finish Logging Service Integration (#1346) 2020-12-15 09:49:58 +01:00
Radosław Waśko
25561e4c8c
Project Manager Native Image (#1318) 2020-12-09 14:58:11 +01:00
Radosław Waśko
9e1b49d245
Forking Language Server in the Project Manager (#1305) 2020-12-02 16:56:47 +01:00
Radosław Waśko
989aa4b7d7
Initial Legal Review (#1210)
The reports will now be sent to the legal team for review.
2020-10-19 10:50:12 +02:00
Radosław Waśko
0a9e2a42ce
Automate License Information Gathering (#1198) 2020-10-09 16:19:58 +02:00
Marcin Kostrzewa
05f4cc2e7c
Files API (#1204) 2020-10-09 14:05:22 +02:00
Marcin Kostrzewa
a1748c3978
Enso's Text Type (#1166) 2020-09-30 13:33:57 +02:00
Radosław Waśko
2155fa8e88
Fallback for Launcher Upgrades (#1139) 2020-09-14 11:05:37 +02:00
Radosław Waśko
044a0fa664
Implement Launcher Self-Update (#1125) 2020-09-09 15:37:26 +02:00
Radosław Waśko
2da720b1a9
Improve CLI Parameters Parsing (#1117) 2020-09-03 12:44:21 +02:00
Radosław Waśko
60d0c2ae45
Use Runner to Create Projects in Launcher (#1116) 2020-09-01 13:23:27 +02:00
Radosław Waśko
eb208301db
Handling Broken Releases in the Launcher (#1113) 2020-09-01 12:03:48 +02:00
Radosław Waśko
eea08a9fca
Configuration Management in the Launcher (#1112)
Names of fields `author` and `maintainer` in the `package.yaml` file
have been changed to `authors` and `maintainers` respectively, and their
format has been modified.
Projects created in older versions may not be compatible.
2020-08-31 15:53:33 +02:00
Radosław Waśko
125af6b7fe
Bump GraalVM Version to 20.2.0 (#1094) 2020-08-28 13:03:09 +02:00
Ara Adkins
e64c0384b0
Implement part of the Enso lexer in rust (#1109) 2020-08-27 13:27:22 +01:00
Radosław Waśko
c979938527
Run components through the launcher (#1073) 2020-08-19 13:24:31 +01:00
Adam Obuchowicz
74e56c0d48
Add info about visualizations in the package structure (#1088) 2020-08-18 16:04:53 +01:00
Josef
5345bdcb3e
Stub Out the Parser Interface (#1065) 2020-08-14 11:10:52 +02:00
Radosław Waśko
11868cb528
Enso Version Management in the Launcher (#1059)
- Adds support for downloading engine and runtime versions in the launcher.
- Adds functionality to install, list and uninstall engine components.
2020-08-10 12:14:39 +02:00
Josef
1f8a4b802f
Fix the release workflow (#1057) 2020-08-07 10:18:09 +01:00
Josef
8bb583df5e
Generate Scala Classes From The Stub AST (#1044) 2020-07-31 07:31:12 +02:00
Radosław Waśko
7dcfef0503
Add Installation Mechanism in the Launcher
1. Implements the `enso install distribution` command.
2. Implements a DistributionManager which is used for managing installation
   layout in the launcher.

PR #1034
Resolves #1010
2020-07-28 14:57:52 +02:00
Radosław Waśko
e8e44f68ad
[Feat, Tool] Add CLI Parser for the Launcher
1.  This commit adds an extensive library for parsing commandline
    arguments and formatting output.
2.  It implements the expected CLI for the launcher.
3.  It turns off parallel execution on the CI in hopes of making it
    more stable.
4.  It implements plugin support in the launcher.
2020-07-22 19:28:03 +02:00
Ara Adkins
f5ffbe8fa7
Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
Radosław Waśko
1a38f7c331
Update Documentation and Build Settings (#993) 2020-07-21 10:14:26 +02:00
Radosław Waśko
610a38df9a
Launcher Native Image Build (#970) 2020-07-10 12:57:42 +02:00
Ara Adkins
a9c49f20cf
Fix a few minor things in the repo (#986) 2020-07-08 16:10:06 +01:00
Radosław Waśko
0c33d5d841
Launcher Design (#963) 2020-07-08 15:54:41 +02:00
Ara Adkins
7ae677acb9
Describe the Enso release process (#957) 2020-07-01 15:26:49 +01:00