Skip to content

digital-asset/daml-maven-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maven plugin for DAML compilation and codegen

Usage

In your DAML project define the usual daml.yaml and import the Java bindings in your pom.xml:

<dependency>
    <groupId>com.daml.ledger</groupId>
    <artifactId>bindings-rxjava</artifactId>
    <version>${daml-sdk.version}</version>
</dependency>

Then add this plugin:

<plugin>
    <groupId>com.daml.extensions</groupId>
    <artifactId>daml-maven-plugin</artifactId>
    <version>${daml-plugin.version}</version>
    <executions>
        <execution>
            <id>daml-compile-codegen</id>
            <goals>
                <goal>damlcompile</goal>
                <goal>codegen</goal>
            </goals>
        </execution>
    </executions>
</plugin>

When using the codegen goal it will fetch the codegen version corresponding to the Java binding version and use it to generate the java sources.

The project also fails to build if the SDK version in your daml.yaml doesn't match the version of Java bindings in pom.xml.

Optional configuration elements:

  • darName: the generated dar file. Default: ${project.build.directory}/${project.artifactId}.dar.
  • decoderClass: defines the -d option of the codegen. Default: daml.Decorder.
  • output: the target directory where the classes are generated to. Default: ${project.build.directory}/generated-sources/main/java.

By default these goals are bound to generate-sources phase.

DAML doc gen

To generate damldocs at verify phase include this execution:

<execution>
    <id>daml-docs</id>
    <goals>
        <goal>docsgen</goal>
    </goals>
    <configuration>
        <docsOutput>damldocs.md</docsOutput>
        <combined>true</combined>
        <damlFiles>
            <param>src/main/daml/your_main_daml.daml</param>
        </damlFiles>
    </configuration>
</execution>

Configuration:

  • docsOutput: the output parameter of the generator. Default: damldocs.
  • combined: if true a single file is generated (--combine option of the generator). Default is false.
  • format: the --format option of the generator. Default: markdown.

By default this goal is bound to verify phase.

CONFIDENTIAL © 2019 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved. Any unauthorized use, duplication or distribution is strictly prohibited.