feat: add environment metadata file sysand_env/env.toml#175
feat: add environment metadata file sysand_env/env.toml#175victor-linroth-sensmetry wants to merge 8 commits intomainfrom
sysand_env/env.toml#175Conversation
f5eb786 to
2ff1dba
Compare
What about IRIs for non-PURL usages? Since names will likely not be unique (e.g. 10 projects named "Requirements"), how will they be disambiguated to the user? |
Well, our solution for name collisions is to use namespaces(/publishers). If you don't use them, then you don't get the solution. |
I highly suggest using paths relative to manifest/
Why would anyone care about collisions in what is effectively a display name? If a user has multiple projects named the same, they have bigger issues than some ambiguous name. |
|
Maybe also add |
sysand_envsysand_env/current.toml
sysand_env/current.tomlsysand_env/current.toml
sysand_env/current.tomlsysand_env/current.toml
…t of the current project. Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
2ff1dba to
dea655c
Compare
sysand_env/current.tomlsysand_env/env.toml
aa94a9b to
4fed220
Compare
Signed-off-by: victor.linroth.sensmetry <victor.linroth@sensmetry.com>
4fed220 to
95feb3a
Compare
This PR adds a
env.tomlcontaining metadata for the projects installed in the local environment(inluding editable projects not present inside the
sysand_envfolder).Each project has the following fields:
publisher: String (optional).Publisher of the project. Intended for display purposes.
name: String (optional).Name of the project. Intended for display purposes.
version: String (required).Version of the project.
path: String (required).Path to the root directory of the project.
If the project is not
editablethis should be relativeto the env directory and otherwise it should be relative
to the workspace root.
identifiers: Array of strings (required for non-editable projects)List of identifiers (IRIs) used for the project.
The first identifier is to. be considered the canonical
identifier, and if the project is not
editablethisis the IRI it is installed as. The rest are considered
as aliases. Can only be empty for
editableprojects.usages: Array of strings.Usages of the project. Intended for tools needing to
track the interdependence of project in the environment.
editable: bool.Indicator of wether the project is fully installed in
the environment or located elsewhere.
files: Array of strings (only for editable projects).In case of an
editableproject these are the filesbelonging to the project. Intended for tools that
are not able to natively parse and understand the
projects
.meta.jsonfile. Paths should be relativeto the
pathof the project.The current implementation doesn't change how
projects.txtworks and is intended to offer atransition step between env structures. The
env.tomlisn't directly managed byLocalDirectoryEnvironmentsince such a thing will likely require a change in theWriteEnvironmenttrait. In particular it would have to offer the ability to give alias identifiersin addition to the main IRI used for installation (since we want to communicate the dependency
structure between projects we need all aliases as well, at least if we want to incrementally add
or remove from the environment).
Example: