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

Fix links to project files that result in 404s #1251

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,12 +137,14 @@ configurations will not be fixed by the core team.
In order to build and run Enso you will need the following tools:

- [sbt](https://www.scala-sbt.org/) with the same version as specified in
[`project/build.properties`](../project/build.properties).
[`project/build.properties`](https://github.com/enso-org/enso/blob/main/project/build.properties).
- [Maven](https://maven.apache.org/) with version at least 3.6.3.
- [GraalVM](https://www.graalvm.org/) with the same version as described in the
[`build.sbt`](../build.sbt) file, configured as your default JVM. GraalVM is
distributed for different Java versions, so you need a GraalVM distribution
for the same Java version as specified in [`build.sbt`](../build.sbt).
[`build.sbt`](https://github.com/enso-org/enso/blob/main/build.sbt) file,
configured as your default JVM. GraalVM is distributed for different Java
versions, so you need a GraalVM distribution for the same Java version as
specified in
[`build.sbt`](https://github.com/enso-org/enso/blob/main/build.sbt).
- [Flatbuffers Compiler](https://google.github.io/flatbuffers) with version
1.12.0.
- [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html),
Expand Down Expand Up @@ -239,8 +241,8 @@ Please follow the guidelines [above](#getting-set-up-rust) to install node if
you have not already done so.

The version if prettier is forced by our
[`package-lock.json`](../package-lock.json) in order for us to make formatting
bumps all at once.
[`package-lock.json`](https://github.com/enso-org/enso/blob/main/package.json)
in order for us to make formatting bumps all at once.

You can format all of our documentation and configuration as follows:

Expand Down Expand Up @@ -333,7 +335,7 @@ the following flags:
- `--printAssembly`: Prints the assembly output from the HotSpot JIT tier.

For more information on this sbt command, please see
[WithDebugCommand.scala](../project/WithDebugCommand.scala).
[WithDebugCommand.scala](https://github.com/enso-org/enso/blob/main/project/WithDebugCommand.scala).

It is used as an addendum to the basic sbt command you want to run (e.g. `test`
from above). The format is `withDebug COMMAND [OPTIONS...]`, and if you need to
Expand Down Expand Up @@ -414,8 +416,9 @@ need to follow these steps:
4. In the options for that configuration select 'Listen to remote JVM' under
'Debugger mode:'
5. Where it provides the command-line arguments for the remote JVM, copy these
and add them to `truffleRunOptions` in [`build.sbt`](build.sbt). Remove the
portion of these options after `suspend=y`, including the comma. They are
and add them to `truffleRunOptions` in
[`build.sbt`](https://github.com/enso-org/enso/blob/main/build.sbt). Remove
the portion of these options after `suspend=y`, including the comma. They are
placeholders that we don't use.
6. Alternatively, certain tasks, such as `run`, `benchOnly` and `testOnly` can
be used through the `withDebug` SBT command. For this to work, your remote
Expand Down
4 changes: 2 additions & 2 deletions docs/distribution/release-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ jvm-options:
The `minimum-launcher-version` should be updated whenever a new version of Enso
introduces changes that require a more recent launcher version. This value is
stored in
[`distribution/manifest.template.yaml`](../../distribution/manifest.template.yaml)
[`distribution/manifest.template.yaml`](https://github.com/enso-org/enso/blob/main/distribution/manifest.template.yaml)
and other values are added to this template at build time.

#### Launcher Manifest
Expand Down Expand Up @@ -174,7 +174,7 @@ It contains the following fields:
distribution's data root. Acts similarly to `files-to-copy`.

A template manifest file, located in
[`distribution/launcher-manifest.yaml`](../../distribution/launcher-manifest.yaml),
[`distribution/launcher-manifest.yaml`](https://github.com/enso-org/enso/blob/main/distribution/launcher-manifest.yaml),
is automatically copied to the release. If any new files or directories are
added or a breaking change to the upgrade mechanism is being made, this manifest
template must be updated accordingly.
Expand Down
9 changes: 5 additions & 4 deletions docs/infrastructure/native-image.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ order: 3

# Native Image

[`NativeImage`](../../project/NativeImage.scala) defines a task that is used for
compiling a project into a native binary using Graal's Native Image. It compiles
the project and runs the Native Image tool which builds the image. Currently,
Native Image is used for building the Launcher.
[`NativeImage`](https://github.com/enso-org/enso/blob/main/project/NativeImage.scala)
defines a task that is used for compiling a project into a native binary using
Graal's Native Image. It compiles the project and runs the Native Image tool
which builds the image. Currently, Native Image is used for building the
Launcher.

<!-- MarkdownTOC levels="2,3" autolink="true" -->

Expand Down
2 changes: 1 addition & 1 deletion docs/infrastructure/rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ order: 4
The Rust project is built using Cargo which manages dependencies between the
projects as well as external dependencies and allows for incremental
compilation. The build configuration is defined in
[`Cargo.toml`](../../Cargo.toml).
[`Cargo.toml`](https://github.com/enso-org/enso/blob/main/Cargo.toml).

<!-- MarkdownTOC levels="2,3" autolink="true" -->

Expand Down
72 changes: 38 additions & 34 deletions docs/infrastructure/sbt.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ order: 1
The project is built using the Scala Build Tool which manages dependencies
between the projects as well as external dependencies and allows for incremental
compilation. The build configuration is defined in
[`build.sbt`](../../build.sbt).
[`build.sbt`](https://github.com/enso-org/enso/blob/main/build.sbt).

<!-- MarkdownTOC levels="2,3" autolink="true" -->

Expand Down Expand Up @@ -56,7 +56,7 @@ changing the version of Graal, before launching the sbt shell, you should first
run `sbt bootstrap`, to make sure the environment is properly prepared.

The logic for copying the JAR is implemented in the `bootstrapJARs` task in
[`CopyTruffleJAR`](../../project/CopyTruffleJAR.scala).
[`CopyTruffleJAR`](https://github.com/enso-org/enso/blob/main/project/CopyTruffleJAR.scala).

## Compile Hooks

Expand Down Expand Up @@ -87,35 +87,38 @@ To check some invariants _after_ compilation, we can replace the original
`Compile / compile` task with a custom one which does its post-compile checks
and returns the result of `(Compile / compile).value`. An example of such a
'patched' compile task is implemented in
[`FixInstrumentsGeneration`](../../project/FixInstrumentsGeneration.scala).
[`FixInstrumentsGeneration`](https://github.com/enso-org/enso/blob/main/project/FixInstrumentsGeneration.scala).

## Helper Tasks

There are additional tasks defined in the [`project`](../../project) directory.
They are used by [`build.sbt`](../../build.sbt) to provide some additional
functionality.
There are additional tasks defined in the
[`project`](https://github.com/enso-org/enso/blob/main/project) directory. They
are used by [`build.sbt`](https://github.com/enso-org/enso/blob/main/build.sbt)
to provide some additional functionality.

### Graal and Flatc Version Check

[`EnvironmentCheck`](../../project/EnvironmentCheck.scala) defines a helper
function that can be attached to the default `Global / onLoad` state transition
to run a version check when loading the sbt project. This helper function
compares the version of JVM running sbt with GraalVM version defined in
[`build.sbt`](../../build.sbt) and the version of `flatc` installed in the
system with the Flatbuffers library version defined in
[`build.sbt`](../../build.sbt). If the versions do not match it reports an error
telling the user to change to the correct version.
[`EnvironmentCheck`](https://github.com/enso-org/enso/blob/main/project/EnvironmentCheck.scala)
defines a helper function that can be attached to the default `Global / onLoad`
state transition to run a version check when loading the sbt project. This
helper function compares the version of JVM running sbt with GraalVM version
defined in [`build.sbt`](https://github.com/enso-org/enso/blob/main/build.sbt)
and the version of `flatc` installed in the system with the Flatbuffers library
version defined in
[`build.sbt`](https://github.com/enso-org/enso/blob/main/build.sbt). If the
versions do not match it reports an error telling the user to change to the
correct version.

### Benchmarks

[`BenchTasks`](../../project/BenchTasks.scala) defines configuration keys for
benchmarking.
[`BenchTasks`](https://github.com/enso-org/enso/blob/main/project/BenchTasks.scala)
defines configuration keys for benchmarking.

### Build Information

[`BenchTasks`](../../project/BuildInfo.scala) records version information
including what git commit has been used for compiling the project. This
information is used by `enso --version`.
[`BenchTasks`](https://github.com/enso-org/enso/blob/main/project/BuildInfo.scala)
records version information including what git commit has been used for
compiling the project. This information is used by `enso --version`.

### Instruments Generation

Expand All @@ -125,7 +128,7 @@ changed instruments are recompiled and the annotation processor does not detect
this, so un-changed instruments get un-registered.

To fix this, the pre-compile task defined in
[`FixInstrumentsGeneration`](../../project/FixInstrumentsGeneration.scala)
[`FixInstrumentsGeneration`](https://github.com/enso-org/enso/blob/main/project/FixInstrumentsGeneration.scala)
detects changes to instruments and if only one of them should be recompiled, it
forces recompilation of all of them, to ensure consistency.

Expand All @@ -145,11 +148,11 @@ stops the current compilation task, asking the user to restart it.

### Flatbuffers Generation

[`GenerateFlatbuffers`](../../project/GenerateFlatbuffers.scala) defines the
task that runs the Flatbuffer compiler `flatc` whenever the flatbuffer
definitions have been changed. It also makes sure that `flatc` is available on
PATH and that its version matches the version of the library. It reports any
errors.
[`GenerateFlatbuffers`](https://github.com/enso-org/enso/blob/main/project/GenerateFlatbuffers.scala)
defines the task that runs the Flatbuffer compiler `flatc` whenever the
flatbuffer definitions have been changed. It also makes sure that `flatc` is
available on PATH and that its version matches the version of the library. It
reports any errors.

### Ensuring JARs Were Loaded

Expand All @@ -159,7 +162,8 @@ user should run `sbt bootstrap` to ensure that.

If the compilation proceeds without the bootstrapped JARs it may lead to
inconsistent state with some dependencies being undetected and weird errors. To
avoid such situations, [`CopyTruffleJAR`](../../project/CopyTruffleJAR.scala)
avoid such situations,
[`CopyTruffleJAR`](https://github.com/enso-org/enso/blob/main/project/CopyTruffleJAR.scala)
defines is a pre-compile task that is executed before compiling the `runtime`
subproject which makes sure that the Truffle JAR is up-to-date. Even if the
developer forgets about `bootstrap`, this pre-compile task will update the
Expand All @@ -179,17 +183,17 @@ user should remember to run `bootstrap` when necessary.

### Debugging Command

[`WithDebugCommand`](../../project/WithDebugCommand.scala) defines a command
that allows to run a task with additional JVM-level flags.
[`WithDebugCommand`](https://github.com/enso-org/enso/blob/main/project/WithDebugCommand.scala)
defines a command that allows to run a task with additional JVM-level flags.

### Recompile Parser

[`RecompileParser`](../../project/RecompileParser.scala) defines a task that can
be attached to the `compile` task in configurations of the `syntax` project.
This task ensures that the `syntax` project is recompiled whenever
`syntax-definition` changes.
[`RecompileParser`](https://github.com/enso-org/enso/blob/main/project/RecompileParser.scala)
defines a task that can be attached to the `compile` task in configurations of
the `syntax` project. This task ensures that the `syntax` project is recompiled
whenever `syntax-definition` changes.

## Native Image

[`NativeImage`](../../project/NativeImage.scala) task is described at
[Native Image](native-image.md).
[`NativeImage`](https://github.com/enso-org/enso/blob/main/project/NativeImage.scala)
task is described at [Native Image](native-image.md).
2 changes: 1 addition & 1 deletion docs/parser/macro-resolution.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The current functionality of the macro resolver is as follows:
- TBC

The current overview of the macro resolution process can be found in the scala
[implementation](../../lib/syntax/specialization/shared/src/main/scala/org/enso/syntax/text/Parser.scala).
[implementation](https://github.com/enso-org/enso/blob/main/lib/scala/syntax/specialization/shared/src/main/scala/org/enso/syntax/text/Parser.scala).

> The actionables for this section are:
>
Expand Down
2 changes: 1 addition & 1 deletion docs/parser/operator-resolution.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ with modifications to support operator sections.
>
> - Work out how to formulate this functionality efficiently in rust. The scala
> implementation can be found
> [here](../../lib/syntax/definition/src/main/scala/org/enso/syntax/text/prec/Operator.scala).
> [here](https://github.com/enso-org/enso/blob/main/lib/scala/syntax/definition/src/main/scala/org/enso/syntax/text/prec/Operator.scala).
2 changes: 1 addition & 1 deletion docs/runtime/instruments.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@ recompiled and the annotation processor 'forgets' about other instruments that
haven't been recompiled, leading to runtime errors about missing instruments.

To fix that, we add the
[`FixInstrumentsGeneration.scala`](../../project/FixInstrumentsGeneration.scala)
[`FixInstrumentsGeneration.scala`](https://github.com/enso-org/enso/blob/main/project/FixInstrumentsGeneration.scala)
task which detects changes to any of the instruments and forces recompilation of
all instruments in the project by removing their classfiles.
4 changes: 3 additions & 1 deletion docs/style-guide/markdown.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ For instructions on how to install it, please see our
[contributing guidelines](../CONTRIBUTING.md#getting-set-up-documentation).

If you notice files in generated code being formatted by prettier, please add
them to the [`.prettierignore`](../../.prettierignore) file.
them to the
[`.prettierignore`](https://github.com/enso-org/enso/blob/main/.prettierignore)
file.

When bumping the version of prettier, please commit the resultant documentation
formatting changes along with the bump as a separate PR from any functional code
Expand Down
4 changes: 3 additions & 1 deletion docs/style-guide/yaml.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ For instructions on how to install it, please see our
[contributing guidelines](../CONTRIBUTING.md#getting-set-up-documentation).

If you notice files in generated code being formatted by prettier, please add
them to the [`.prettierignore`](../../.prettierignore) file.
them to the
[`.prettierignore`](https://github.com/enso-org/enso/blob/main/.prettierignore)
file.

When bumping the version of prettier, please commit the resultant configuration
formatting changes along with the bump as a separate PR from any functional code
Expand Down