digital-asset / digital-asset/dpm

`dpm new` component version awareness

Open
#85 2 comments 0 reactions 0 assignees View on GitHub
templates
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.