digital-asset / digital-asset/dpm
`dpm new` component version awareness
- Dominant language
- Go
- Stars
- 3
- Forks
- 2
- Avg merge
- 21h 16m
- Merged PRs (30d)
- 1
Description
Some templates provided by `dpm new` need to know the underlying canton/daml versions that are active. For example, the quickstart-java template, which provide a `pom.xml` file including a dependency to `bindings-java` (this is standard). Since `bindings-java` has been moved to `canton`, this `pom` file must include the associated canton version, however `dpm resolve` does not directly* expose component versions, so `dpm new` cannot deduce this.
*versions can be determined indirectly by reading the component path, which always ends in the version string, however this is hacky and will break for local components, ideally the version is deduced from each components's `component.yaml` file and provided in resolution.
Contributor guide
Research direction
Start by tracing how dpm resolve represents components and how dpm new passes data into templates, using component.yaml as the proposed source of version information. Check the quickstart-java template and its pom.xml; done means templates can consume the active canton or daml version without inferring it from component paths, including local components.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, java
- Domain
- build-system, cli, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100