daml/test-common/canton
azure-pipelines[bot] d054187b5e
update canton to 20231201.11605.0.vdef89654/2.8.0-snapshot.20231201.11605.0.vdef89654 (#17960)
CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
2023-12-04 10:53:00 +01:00
..
it-lib Add config parameter for custom scopes in http-json (#17727) 2023-11-21 14:07:11 +01:00
.gitignore Move canton directory to let place for code drop (#17506) 2023-09-29 14:37:01 +00:00
BUILD.bazel update canton to 20231201.11605.0.vdef89654/2.8.0-snapshot.20231201.11605.0.vdef89654 (#17960) 2023-12-04 10:53:00 +01:00
README.md Stop downloading the canton opensource jar (#17877) 2023-11-22 08:36:41 +00:00

Canton dependency

This folder (along with the canton entry in //deps.bzl) contains the infrastructure to work with custom Canton Enterprise Edition versions.

By default, we rely on the Canton-EE artifact defined in BUILD.bazel. However, we have the ability to, rather than depend on a published version, depend on an arbitrary Canton build.

Local development

For local development, you can set the local attribute to True in canton_dep.bzl, and, rather than looking at the downloaded Canton-EE release, the Bazel build will then look for a local file under canton/lib/canton-ee.jar for its Canton source.

How you get that canton-ee jar there is entirely up to you; the assumption is that this would be the result of building a local checkout of Canton with your own local, uncommitted changes.

Once you have things working locally, you can push your Canton branch, and start building Daml against that even before the Canton branch gets merged.

Running Enterprise Edition Tests

Some situations may require running Canton Enterprise Edition, but this is an open-source repository so we cannot assume every contributor will have a Canton EE license key.

Tests that require Canton EE must be tagged with "canton-ee", which is disabled by default through .bazelrc. To run those tests locally, either explicitly target them or add --build_tag_filters= or --test_tag_filters= as appropriate (yes, these are the full options: by setting the "running" filters to empty for the current run, you overwrite the -canton-ee set in .bazelrc which excludes the Canton EE tests, thereby removing the exclusion and including the tests).

Those tests are run on CI.

Running Tests with a Custom Open-Source Edition Canton

The non-ee tests run against the code under the canton directory at the root of the repo. In order to run against a custom version of that code, simply modify it.