Package File
Introduction
The package file contains details about the present workspace. This currently includes the version, and what workspaces are used as dependencies and how to find them.
It can be accessed and modified from the UI via bottom menu:
Format
The format of the package file is as follows:
# Workspace version
wsVersion: 2
# Optional dependencies list of any length
dependencies:
# Dependency (monorepo)
- kind: workspace
name: <any-name-1>
# Workspace path relative to root of current repository
wsPath: <workspace-path>
# Dependency (external)
- kind: git
name: <any-name-2>
gitUrl: <git-url>
gitToken: ${{<git-secret>}} # Expansion syntax for git secret
gitBranch: <git-branch>
# Workspace path in external repository
wsPath: <workspace-path>
Dependencies list
ACE dependencies divide into two main categories:
- monorepo dependencies (sourced locally from the same repository).
- external dependencies (sourced from
git
)
Monorepo dependencies
Monorepo dependencies come from workspaces contained in the same repository as the main workspace.
They are marked as kind: workspace
in the package.yaml
dependencies list.
External dependencies
External dependencies differ in the way they are retrieved. Instead of the same repository, they come from a different git repository or other external source. During development, a git token has to be provided so they may be retrieved.
They are marked as kind: git
in the package.yaml
dependencies list.
Syntax for sensitive information
It's important to note the gitToken
specified by kind: git
dependencies supports expansion syntax.
This is required to avoid sensitive tokens being stored as plain text in the git repository.
The syntax for secrets is ${{ VARIABLE_NAME }}
.
The VARIABLE_NAME
provided with this syntax is resolved based on available environment variables.
- In web ACE, variables need to be specified on the
ace-designer
service environment. - In Desktop ACE, variables need to be specified in the host system.