Basically we remove the dependency of different components on "//language-support/scala/bindings" by:
- replacing com.daml.ledger.api.refinements.ApiTypes.Party by com.daml.lf.data.Ref.Party
- replacing com.daml.ledger.api.refinements.ApiTypes.ApplicationId by Option[com.daml.lf.data.Ref.ApplicationId] (here we use option as ApiTypes.ApplicationId allows empty string while Ref.ApplicationId does not).
- adding rounding logic for timestamp in com.daml.lf.data.Time.Timestamp and use it instead of the one from com.daml.api.util.TimestampConversion
Note we did not clean daml-sript export as it have never pass the alpha stage and will be dropped with the 3.x fork.
* do not run pr-only tests on main, do not run main-only tests on prs
* split data dep tests into main-only and pr-only
* run non-dev conformance tests on main only
* Also test LF v2 in //compiler/damlc/tests:script-service
* move setEnv TASTY_NUM_THREADS outside of defaultMain
* Track end of cleanup in withResourceCps
* Refactor decoding in compiler
* remove obsolete comment
* factorize -decodeLf2Version and decodeLf1Version
* call the right decodeScenarioModule depending on the target LF version, update incremental build tests
* split encoding into two modules, call the right encodeScenarioModule in writeDalfFile
* delegate to EncodeV2.hs in Encode.hs
* remove noisy type signature, was there initially to guide me but I think it adds more confusions than it clears up things
* Automated renames by bash script
This commit is exclusively contains changes by the bash script.
For the bash script is present at the pull request.
* Manual pekko migration changes
* adapt fully qualified name references
* adapt pekko package declarations
* adapt bazel files with dependency changes
* adapt canton pekko lib shade_rule
* adapt logger configuration declarations
* pin maven dependencies
* revert incorrect changes by script to compatibility module
Workarounds for further TODOs:
* disable http-json-perf and libs-scala/gatling-utils modules to maintain clean pekko dependencies (without akka)
* disable GraphQLSchemaSpec test (sangria library needs to be upgraded)
* Formatting
* clean up stack-snapshot.yaml
* bump stack to snapshot lts-19.33 pt. 1
* bump stack to snapshot lts-19.33 pt. 2
* repin windows snapshot
* Use a copy of "@stackage-exe/hpp" in runfiles to avoid hardcoding version in haskell code
* Crash with identifiable error if hpp resource/runfile is missing but CPP is used
* add an lf-major-version flag to the repl service and pass it from the haskell client
* test LF2 in the daml-repl tests
* formatting
* formatting
* remove obsolete TODO
* fix //compiler/damlc/tests:repl
* port repl-functests to LF v2
* do not assume that LFV2 => dev
* address Moises' comments
* Add failing tests
"'bank' fetches" should be "'alice' fetches" in the ledger output when 'alice' is the divulging party
* Handle fetch node actors correctly in scenario-service
* Handle fetch node actors correctly in lf-interpreter pretty printer
* pin dependencies to json and add missing dep
* fix cyclic dep
* remove unused dep
* add missing dep to //ledger-api/testing-utils:testing-utils
* remove unused dep in //ledger/ledger-api-auth:ledger-api-auth
* remove more unused deps
* more dep fixes
* yet more dep fixing
* more fixing..
* more of the same
* hopefully the last deps to fix
* Bump the version of protobuf and fix everything that depends on it. Took shortcuts that I need to fix in a next commit, but would like to run the CI on this now that it compiles
* don't error out in the grpc-haskell patch
* remove obsolete patch
* patch absl to compile on mingw
* Add a patch to recognize the compiler
* Define _DNS_SD_LIBDISPATCH for macOS gRPC
* bump netty_tcnative_version according to https://github.com/grpc/grpc-java/blob/master/SECURITY.md#netty
* pin maven deps
* Fix macos linking errors 'dyld[xxx]: missing symbol called'
* Skip Darwin frameworks in package-app.sh
* pin stackage packages
* pin stackage windows deps
* use the netty version agreed on
* bump the windows global cache to try and debug the upb issue
* restart the CI after timeout
* clean up
* disable failing tests for now
* comment out unused code
* reset the windows machine name to 'default'
---------
Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* Add warnings to Gamma
* Warn instead of error for changed template expressions
* lint
* Errors and warnings for key types
* add context to warnings where relevant
* Add warning logic to DamlcUpgrades, fix errors that are now warnings
* Add tests for key errors and warnings (signatories, expression, type)
* Refactor expression extraction, fix extract key expression/maintainers
* satisfy lint, trigger test restart
* Test error for dropped key and warning for added key
* Warn for extraction issue instead of erroring out
* Change `cannot change` error-wording with `has changed` warning-wording
* comments for extractors
* Revert "Add SharedGlobalKey"
This reverts commit 6592cb7bd5.
* Adding shared flag to GlobalKey
* Remove shared flag from GlobalKey
* Support old and new grcp error parsing
* Add tests for hashContractKey
* replace community canton snapshot with our bazel-built canton deploy jar
* add VERSION to the resources of the jar
* fix canton-test-runner-with-dependencies-script
* add resources to community_common
* Update test-common/canton/it-lib/src/main/com/daml/CantonFixture.scala
Co-authored-by: Remy <remy.haemmerle@daml.com>
---------
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Update docs for SubmitError:TemplatePreconditionViolated
* Daml.Script: add 'trySubmit{,Multi}Concurrently'
* Make trySubmitConcurrently fully sequenced when using IdeLedger
* Add test cases for trySubmitConcurrently
* Test trySubmitConcurrently in Daml3ScriptTestRunnerDev
* Handle LOCAL_VERDICT_LOCKED_{CONTRACTS,KEYS} in gRPCi Ledger Client
* Move 'trySubmit{Multi}Concurrently' to 'Daml.Script.Questions.Submit.Internal'
* Apply review feedback
* Test 'trySubmitConcurrently' using AbstractScriptTest instead of DamlScriptTestRunner
* Apply review feedback: trySubmitConcurrently returns List instead of Seq
* first example
* remove reliance on NameMap in del/existing/new logic
* Add testing for upgrades typechecking in `daml damlc build`
* lint
* add typecheck-upgrades flag
* rename Foo to MyLib
* Add missing field to PackageConfigFields
* Add reasonable context location for upgrade errors
Staging last changes before I leave for CX for some time.
* fix quoting for windows paths
* Check template choices specifically
* Refactor to have signatory etc. checks, improve choice/template check
* Check return types of choices
* Update DamlcUpgrades for new versions
* Check for deleted top level datatypes, add TODO for type check
Also add type signatures to some helpers
* Add tests for templates as input and outputs of choices
* lint
* Move upgrading error variants into own UpgradeError type
* Improve comment for choice input type invariant
* Replace TemplateChoiceOutput with shouldCheck
* Set 'optDetailLevel = PrettyLevel (-1)' in integration tests
This means we don't need to postprocess the damlc output to remove package ids
* Move stable type constructors to DA.Daml.StablePackages
* Don't use 'rewriteStableQualified' for Tuples in LFConversion
* Don't use 'rewriteStableQualified' for DA.Internal.Erased.Erased in LFConversion
* Don't use 'rewriteStableQualified' for DA.Internal.PromotedText.PromotedText in LFConversion
* update StablePackages comment
* Future-proof renderFeatureVersionReq
* First working model (requires ghcide changes)
* Bug fixes, add logging
* Use pinned ghcide
* Comment up a storm
* Add multi sdk version support
* Implement project.yaml approach
* Cleanup
* Add projects to multi-package.yaml
* Add flags for build all projects in multi-project, and no caching
* Delete ghcide
* Start migration from daml multi-build to daml build
* Add non --all daml build flow
* Finish migration over to daml build
* Add comments
* Change --all and --no-cache to switches
* Fix caching issue with source set to .
* Address initial comments
* Add daml.yaml source as a file caching warning
* Forward sub-assistant call errors to multi-build
* Update comment
* Update merged ghcide
* initial commit
* split gen-stable-packages-v_i into two targets
* rename compatibleWith to canDependOn
* update damlc integration tests annotation to allow for 2.x
* use the right package ID for preconditionFailed when compiling to V2
* fuse stable-packages-v1 and stable-packages-v2 into one single filegroup
* Fix DA.Daml.LF.Ast.Tests
* remove leftover 'undefined' in Version.hs
* progress on fixing DataDependencies.hs
* fix Cross-SDK typeclasses test for 2.dev
* Fix the 'Typeclasses and instances' data dependency test
* Update comment
* fix //compiler/damlc/tests:packaging
* Add TODO
* parameterize the machine by the langage version, hardcode v1 in script v2, v2 in script v2, v1 in exports
* get EngineTests to pass
* fix more tests
* fix canton integration tests
* formatting
* fix more tests
* fix transactionversiontest
* fix exceptiontest
* Fix ValueEnricherSpec
* Fix EngineInfoTest
* fix PartialTransactionSpec
* fix upgragetest
* fix TransactionSnapshot
* Fix ContractKeySpec
* Fix ReinterpretTest
* fix InterfaceViewSpec
* fix InterfacesTest
* fix stable package v1 names
* fix validate.sh tests
* formatting
* Fix ChoiceAuthorityTest
* fix explicit disclosure test
* Fix SpeedyTest
* formatting
* Fix integration test
* fix data dependency tests
* fix package vetting count, increased due to metadata being added
* Redact stable package IDs in error messages in order for the ExceptionSemantics test to work for both v1 and v2
* cleanup
* fix Daml2ScriptTestRunner
* fix JsonApiIT and daml-script golden tests
* fix daml3-script runner test
* enable v2 for all integration tests
* formatting
* fix NodeSeedsTest
* fix since-lf annotations
* add comments, improve consistency
* stop hardcoding V1 in runPureExpr and runPureSExpr
* formatting
* remove harcoding of LFv1 in ConcurrentCompiledPackages.apply
* Parameterize Compiler.Config.Default with major language version
* remove global parser implicit and default package ID and language version
* Fix the external name of daml3-script.dar to mention 2.dev
* make the compilation and distribution of daml3-script dars more future proof
* fix path in ci/copy-unix-release-artifacts.sh
* daml-lf-test.sh no longer takes damlc argument
* Split //daml-lf/tests:BasicTests into engine and integration tests
* Remove unused //daml-lf/engine:Optional
* Convert //daml-lf/tests:AuthorizedDivulgence into integration test
* Convert //daml-lf/tests:DontDiscloseNonConsumingExercisesToObservers into integration test
* Convert //daml-lf/tests:ConjunctionChoices into integration test
* Convert //daml-lf/tests:ContractKeys into integration test LFContractKeys
* Move //daml-lf/tests:AuthTests to //daml-lf/engine:AuthTests
* Split //daml-lf/tests:LargeTransaction into ledger and non-ledger tests
* Remove scenarios in //language-support/java/codegen:ledger-tests-model
* Remove unused scenarios in //test-common:src/main/daml/model/Test.daml
* Remove 'enable_scenarios' param in da_scala_dar_resources_library
* Remove 'enable_scenarios' param in damlc_compile_test
* Remove '--enable-scenarios=yes in //compiler/damlc/tests:deterministic
* Convert /daml-lf/tests/scenario/dev/experimental to integration test
* Convert /daml-lf/tests/scenario/dev/interfaces to integration test
* Convert /daml-lf/tests/scenario/stable/big-numeric to integration test
* Convert /daml-lf/tests/scenario/stable/contract-key-through-exercises to integration test
* Convert /daml-lf/tests/scenario/stable/contract-keys to integration test
* Convert /daml-lf/tests/scenario/stable/divulge-iou to integration test
* Convert /daml-lf/tests/scenario/stable/embed-abort to integration test
* Convert /daml-lf/tests/scenario/stable/eval-agreement to integration test
* Convert /daml-lf/tests/scenario/stable/exception-auth to integration test
* Convert /daml-lf/tests/scenario/stable/gen-map to integration test
* Convert /daml-lf/tests/scenario/stable/many-fields to integration test
* Convert /daml-lf/tests/scenario/stable/mustfailcommit to integration test
* Convert /daml-lf/tests/scenario/stable/mustfailinterpretation to integration test
* Convert /daml-lf/tests/scenario/stable/mustfails to integration test
* Convert /daml-lf/tests/scenario/stable/no-contract-ids-in-keys to integration test
* Convert /daml-lf/tests/scenario/stable/pass-time to integration test
* Convert /daml-lf/tests/scenario/stable/pattern-matching to integration test
* Convert /daml-lf/tests/scenario/stable/timeout to integration test
* Remove scaffolding for daml-lf/tests/scenario
* Remove unused 'enable-scenarios' flags
* Remove unused daml-lf/tests/daml-lf-test.sh
* Remove unused daml-lf/tests/scala-test-limited-stack.sh
* Remove comments about deprecated flag 'DontDivulgeContractIdsInCreateArguments' in AuthorizedDivulgence integration test
* Add 'create' in LfStableTimeout:testScriptLoop
* add TODO for nesting limits test in LfStableMustFails
* Move LfStableMustFails expected ledger files into subdir
* Refactor damlc integration test input into datatype
* Factor out 'withLog' helper function
* Reduce scope of 'service' in 'testCase'
* Use 'testPassed' helper for ignored test files
* Reduce scope of 'TestCase' and 'log' in 'testCase'
* Use guards instead of nested if-then-else in 'testCase'
* Extract 'testSetup' from 'testCase' using 'withResource'
* {testCase=>damlFileTestTree} now produces a test tree
* Split jq queries into individual tests
* whitespace
* Add ledger expectation tests
* Avoid double inversion-of-control