Skip to content
Merged
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
12 changes: 12 additions & 0 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,15 +248,27 @@ Example project manifest:
[project]
name = "geometry"
version = "0.1.0"
requires-arx = ">=1.0"

[environment]
kind = "conda"
name = "geometry"

[build-system]
dependencies = [
"arxlang>=1.0",
]

[build]
out_dir = "build"
```

Use `[project].requires-arx` to declare the compatible Arx compiler versions for
a project. The value uses the same version-specifier style as `requires-python`,
for example `">=1.0,<2"`. `[build-system].dependencies` declares installable
packages needed to build the project. If omitted, Arx defaults to `arxlang`; if
`requires-arx` is present, the default build dependency uses that constraint.

Use `__init__.x` as the package root. Arx uses `src/` as the default source root
when `[build].src_dir` is omitted. Inside a nested module such as
`geometry.shapes.area`, use relative `from` imports for nearby modules and
Expand Down
17 changes: 11 additions & 6 deletions packages/arx/src/arx/schema/arxproject.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@
"type": "string",
"minLength": 1
},
"requires-arx": {
"type": "string",
"minLength": 1
},
"edition": {
"type": "string",
"minLength": 1
Expand Down Expand Up @@ -147,15 +151,16 @@
}
}
},
"toolchain": {
"build-system": {
"type": "object",
"additionalProperties": false,
"properties": {
"compiler": {
"type": "string"
},
"linker": {
"type": "string"
"dependencies": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
}
},
Expand Down
Loading
Loading