* Implement legacy DAR support, #308
if MANIFEST.MF is not present filter zip entries by .dalf extension,
expect one main DALF and one optional *-prim* DALF, fail in other cases
* Implement legacy DAR support, #308
if MANIFEST.MF is not present filter zip entries by .dalf extension,
expect one main DALF and one optional *-prim* DALF, fail in other cases
* comments, naming
* Fetch status.proto from remote, simplify JS gRPC codegen
Fetch the `status.proto` file (part of the standard gRPC distribution)
from a distribution channel. _Moreover_, use the recently introduced
`proto_gen` rule to simplify how the gRPC code for the Node.js bindings
are generated (and remove the need to have `google/rpc/status.proto`
locally in the repository.
* Add plugin_runfiles option to proto_gen
This allows use to add additional files to the bazel sandbox so that
plugins can refer to them. This will subsequently be used by the
protoc-gen-doc plugin.
Also, pass the plugin options via --name_opt parameter.
* Add missing status.proto dependency /language-support/java and /ledger
* Build proto docs using the proto_gen rule
To make this work, I had to turn on the bazel build flag
`--protocopt=--include_source_info` because we cannot turn enable this
flag only for specific build rules.
* Make /ledger-api/grpc-definitions:docs public again
* Revert to the old style of passing plugin arguments to --name_out=options:path
* Suppress output of unzipping
* Fix link for google.rpc.Status in proto-docs
* Change contract key maintainers to have template argument in scope
More precisely, change the contract key type class we desugar the surface
syntax to such that the maintainers function has the template argument
in scope instead of the key. The compiler rewrites all references to the
template argument into references to the key and fails whenever that is
not possible.
* Add TemplateKey class to desugaring module
* Make template key check slightly more lenient
* Fix TODO descriptions
This pr addresses security concerns regarding the web ide docker container.
The bulk of the changes involve managing and coordinating docker
networks so that the proxy runs on internal docker network as well as
external one, while the web ide containers run only on the internal
network.
* Remove all traces of the long gone value restriction
We remove the value check since it has only been used by one `damli` command.
We also remove the constant folding from the DAML-LF simplifier. It is more
likely to diverge from the semantics of the interpreter than to do any good.
* Make hlint happy
* decode key expressions in scala correctly. fixes#177
replaced a `foldRight` with a `foldLeft`, projections were decoded
backwards.
* remove ContractKeysSimple -- superseded by ContractKeys
* draft of active contracts streaming - still WIP
dumping todos for Robert
Sandbox: fix getActiveContractSnapshot
Sandbox: Add comment on thread usage
Sandbox: Add jdbcuser and ledgerid CLI arguments
Sandbox: enable SQL ledger
Sandbox: fix ledgerEnd
Sandbox: Add postgres snapshot test
Sandbox: Refactor SQL ACS
Update ACS in the same transaction as updating ledger_entries
wip CommandTransactionIT
small refactoring of Postgres Ledger creation
removing jdbc user from CLI args as it should rather be part of the jdbc url
using a thread factory for the connection accessor thread
removing timestamps from contracts table
using Akka test helpers
handling failures as rejections
removing unnecessary fields from ActiveContractsCheck
minor cleanup
small optimisation in storing Anorm queries as constants
making ContractDataParser thinner
formatting
cleanup
PostgresLedger does not need initial contracts anymore
add docs to getStreamingConnection
configured streaming connection pool to grow and shrink dynamically
crashing on set jdbcUrl CLI arg
rolling back in case of an exception
adding some docs
adding some comments
minor renaming
Add runSQL comment
* wip ActiveContracts
* fixup
* creating class ActiveContractsManager to be explicit on responsibility
* cleanup
- Remove obsolete code introduced in this PR
* scalafmt
* changed wrong autoCommit behaviour
* formatting
* amended comment on denormalisation
* disabling failing assert for now
* Hide LaTeX warnings
Currently LaTeX warnings make up about half of our Bazel output which
makes it tricky to find the output that you actually care
about. @bame-da said that he doesn’t care about the warnings so
probably nobody else cares either :)
* Add -halt-on-error
Docker causes a few issues for us here which imho outweigh the
benefits for us atm:
1. It is quite slow since we have to rebuild the image everytime. We
could fix this by caching the image somewhere but even that is
somewhat annoying since Azure does not provide local caches so we
would have to push the image to some external service and fetch it
everytime which is still somewhat slow.
2. It does not work on MacOS (even if you have docker on MacOS it is
not going to work since you will try to install the MacOS release
tarball in a Linux docker container).
On the other hand, DAML assistant allows us to specify the
installation directory and we get a fairly clean environment on CI so
the additional isolation we get from Docker is not that important for us.
* check Foldable.concat doesn't clash with Prelude.concat
* it is not neccessary to use the NoImplicitPrelude ext
* protect against a reasonable (future) optimization from giving a false positive
This was used by the old DAML-LF based record constructor/projection
inliner. We'bve recently replaced by an inlining mechanism which is part
of the conversion from GHC Core to DAML-LF.
* Add mention of cd to setup instructions
* Making instructions unambiguous
* Even clearer instructions
Co-Authored-By: bethaitman-da <42940582+bethaitman-da@users.noreply.github.com>
Without this PR, this variable ends up being set to the string
"variables['System.PullRequest.IsFork']" which meant that we never
uploaded to the Bazel cache.
Rely on zsh features to simplify profile_zsh.sh file.
- Remove `DADE_REPO_ROOT` as it is not needed anywhere, `dade-assist` redefines
it already.
- `${0:A:h}` gives the absolute path of the folder *this* file resides in, no
need for `cd`, `dirname`, and `pwd` combo.
- Use simple process redirection (`<`), as it is more robust than the one in
bash, and works better than `<<<`
We used to have a workaround for the command line length limit on
Windows, which exceeded when building ghc-lib. The ghc-lib package was
recently split into two smaller packages and this workaround is not
needed anymore.
* Update rules_haskell
This updates to the latest rules_haskell, which fixes a few issues on
Windows. Most importantly it flags a few Windows libraries as "system"
libraries, preventing Hazel to fail because they are not provided
through Bazel.
* Fix the streaming-commons build on Windows
This modifies our custom streaming-commons BUILD file to make it work on
Windows. In particular it swaps some system libraries, passes the
`-DWINDOWS` flag and enables the build of an extra module.
* Clean up bazel_tools BUILD file
This wraps a very long line for legibility.
* Fix shared object issues on Windows
* This fixes rules_haskell to use the correct Windows path separator on Windows.
GHC expects the LD_LIBRARY_PATH variable to be a list of semi-colon separated
paths, as opposed to a list of colon separated paths:
51fd357119/compiler/ghci/Linker.hs (L1646-L1650)
* This fixes the name of Haskell shared objects on Windows. By default
Bazel's cc_library generates '.so' files, whereas GHC expects a `.dll`
(or a few other extensions, non of which are `.so`):
51fd357119/rts/linker/PEi386.c (L684)
* Build daml-lf-ast on Windows CI
Allows users to supply the argument -V or --verbosity with a number from 0 to 4 for additional logging.
Also, the first and last log message is logged as a warning, when it really
should just be on INFO level.