Commit Graph

1686 Commits

Author SHA1 Message Date
Gary Verhaegen
4fadebc4ab
cache nix on macos (#2344) 2019-07-31 10:23:43 +01:00
Shayne Fletcher
f220100ab8
Enable linting in 'defaultOptionsIO' (#2343) 2019-07-31 05:08:36 -04:00
Michał Majcherski
43d30fd872 Multiple sandbox resets scala test (#2337) 2019-07-31 09:50:45 +02:00
Stephen Compall
c483da3eb9 use MonoTraversable ModuleRef in place of Generic HasPackageRef (#2327)
* compiler: simpler packageRefs traversal

* compiler: include ModuleRefs in SourceLoc

* ignore the ModuleRef when traversing SourceLoc

- see https://github.com/digital-asset/daml/pull/2327#discussion_r308445649
2019-07-31 07:22:42 +00:00
Rohan Jacob-Rao
e6a4d8b251
New template desugaring (#2178)
* Update ghc-libs to use new template desugaring
* Replace old template typeclasses with generic-friendly ones
* New template desugaring doc
* Fix tests
* Fix damldoc tests regarding Archive choice
* Update visualisation code to not traverse master dictionary
* Additional class method stubs to template instance declaration for upgrades
* Increase stack limit for bond trading compilation test
* Update hlint version
2019-07-30 19:49:33 -04:00
Shayne Fletcher
b3dac78e66
hlint.yaml => dlint.yaml; globally disable "use newtype" hint (#2341) 2019-07-30 14:39:46 -04:00
Gary Verhaegen
0b8933627c record Nick's comments on hs ledger bindings (#2340) 2019-07-30 16:25:19 +00:00
Shayne Fletcher
8532316c3a
Enable linting in the IDE! (#2339) 2019-07-30 11:57:52 -04:00
nickchapman-da
8b5cd613f4
hlb, no wildcard record construction (#2332)
* remove: type Status = LL.Status

* no {..} in record construction
2019-07-30 13:47:09 +01:00
Moritz Kiefer
50a04397e4
Supporting producing sdist tarballs for the HS ledger bindings (#2336)
* Supporting producing sdist tarballs for the HS ledger bindings

The README.md has an explanation for how you can use this.

This should hopefully allow others to experiment with the bindings.
2019-07-30 14:34:16 +02:00
Shayne Fletcher
18ecf0ee8c
Support per-project hlint customization (.dlint.yaml files) (#2328)
* Support per-project hlint customization (.dlint.yaml files)

* Simplify logic with 'foldMapM'
2019-07-30 07:41:11 -04:00
associahedron
29fa387910 Move GHC.Classes docs to Prelude, hide IP. (#2333) 2019-07-30 11:15:05 +00:00
Gerolf Seitz
5da6b9c0ae
Integration test fixes (#2314)
* Avoid double logging for API Services

* Make WitnessesIT a word spec with a "title"

* The test reporter should also print the "should" keyword.

* Enable ALL.THE.TESTS. for reference-server v2
2019-07-30 11:27:57 +02:00
Stefano Baghino
340a4eb6a4
Read stakeholders through the active contract service (#2316)
* Read stakeholders through the active contract service

Fixes #2070

Also standardizes the use of American English spelling for `serialize`
and `deserialize`. Standardize. Serialize. Americanize.

* Remove Haskell bindings test workaround

* Address https://github.com/digital-asset/daml/pull/2316#discussion_r308193661
2019-07-30 10:40:45 +02:00
nickchapman-da
53eed132db
fix missing Status info in Completion (#2321) 2019-07-30 09:23:54 +01:00
Moritz Kiefer
e415527e3e
Speed up identifier mangling (#2320)
My benchmark is sadly extremely noisy which makes it hard to figure
out how much of an improvement this is but it does seem to at least be
a minor improvement.
2019-07-30 08:50:51 +02:00
Leonid Shlyapnikov
b940951a76
HTTP JSON API first version (#1994)
* Cleanup

* WIP

* first integration test + fixture

* minor cleanup

* Implementing ContractService.lookup

* Reverting back to endpoints.all (all2 did not work)

* Cleanup

* replace ApiValue ADT with aliases to daml-lf/transaction Value ADT

* porting rest of navigator to LF Value ADT

* Command Service WIP

* CommandService WIP

* porting more of navigator to LF Value ADT

* last error, not first

* rename ApiValueImplicits file

* special conversion features for ImmArray and FrontStack

- just .to[ImmArray] or .to[FrontStack] any random collection

* finish porting most of navigator main code

* use numeric indices for record field name fallback when pretty-printing

* tuples are not serializable

* use numeric indices for label fallback in JSON verbose encoding

* make traverseEitherStrictly more likely to preserve the seq's class

* to shortcut for ImmArraySeq .to[ImmArraySeq]

* compiling, passing navigator backend tests

* test traverseEitherStrictly more, er, strictly

* pass scalacopts through to scaladoc

* deal with unused warning

* remove unneeded function

* simpler error reporting, more private functions in ApiCodecCompressed

* move slowApply to FrontStack, test it so it actually works

* remove unneeded toStrings; better error from impossible ValueTuple case

* scalafmt FrontStackSpec

* support alternative, label-free record JSON encoding

* Adding domain.CreateCommand + corresponding json formats and dummy json format for lav1.value.Record

* CommandService.create should be done... need to test it

* TODO added

* Cleanup

* move ApiCodecCompressed, ApiValueImplicits, and some aliases to new lf-value-json package

* Using tagged TemplateId type instead of Identifier + exercise command WIP

* adapt navigator to moved pieces

* start defining scalacheck extension to ApiCodecCompressedSpec

* CommandService.exercise + introducing CommandMeta

* Adding command endpoints, can't test them yet, need lf value json formats

* fuse some list operations

- suggested by @stefanobaghino-da; thanks

* blue error message

* Minor fixes after merging librify-navigator-json-compressed, #2136

* experiment with an inductive case in TypedValueGenerators

* finish a List case for TypedValueGenerators; it's revealing

* Introducing API value to LF value converter,

CommandsValidator takes IdentifierResolverLike instead of IdentifierResolver

* cleanup

* remove accidentally readded duplicate aliases

* start tying knots in TypedValueGenerators

* verbatim copy ApiCodecCompressedSpec to lf-value-json

* shift some tests from navigator to lf-value-json

* test Optional and Map for ApiCodecCompressed

* heavier random testing of ApiCodecCompressed

* remove unused dependencies from lf-value-json

* adding value json writer

* cleanup

* Revert "cleanup"

This reverts commit 2e4d153f

* fixing the build

* cleanup

* cleaning up imports

* JsValue to API value is done, needs a test

* cleanup

* use scalac -Ypartial-unification in http-json

* simplify some Traverse instances

* factor CreateCommand and ExerciseCommand traverse instances

* Command create integration test WIP

* Command create integration test WIP, got rid of the JsonReader and JsonWriter for the values, converting values explicitly

* Extracting DomainJsonDecoder and DomainJsonEncoder

* LfV refactoring

* Create command serialize/deserialize test works

* cleanup

* resolving conflicts

* More json encode/decode tests

* logging

* command/create passes integration test now

* Adding readme

* grammar

* TODO added

* GetActiveContractsResponse encoding

* ideintifier conversion renaming

* PackageService resolveTemplateId returns domain.TemplateId now

* Resolving LF Identifier instead of Template ID, this should also work for Exercise command decoding

* cleaning up a bit

* daml-lf: show type in TypedValueGenerators-driven errors

* exercise command json encoding/decoding works

* command/exercise IOU_Transfer integration test passes now

* avoid filter for Gens; makes many contract ID gens not fail

* test ApiCodecCompressed against 100 random types, 20 random values each

* Updating README instructions

* improving error handling, failed futures, get logged and reported to the user now as 500

* [ROUTING DSL] Removing routing DSL, it did not work

* getting rid of HttpEntity.Strict match + cleanup

* fixing the merge conflict

* updating README

* use Show.shows instead of new Show

* List(_) isn't checked, but Seq(_) is slightly safer

* improving test assertions

* Adding /contracts/lookup implementation

* http-json: use ImmArraySeq instead of List; use toRightDisjuction

* http-json: .toList.toSet is shorter than fold

* http-json: replace .leftMap.map with .bimap

* http-json: use subst instead of reimplementing JsonFormat

* http-json: remove unused ExceptionHandler

* http-json: safer == comparison

* Adding two test cases for expected errors

* Adding BazelRunfiles.rlocation magic that supposed to handle windows path for bazel dependencies

* http-json: import, not extend
2019-07-29 16:49:57 -04:00
Remy
0ffe5945b8 DAML-LF: Prepare archive proto for Numeric (#2298)
* daml-lf: prepare archive proto for Numeric

* replace DECIMAL by NUMERIC in messages and fields
* add nat kind and nat type
* add builtins CAST_NUMERIC and SHIFT_NUMERIC

* daml-lf: remove new builtins from archive proto

* daml-lf: some more doc about numeric

* daml-lf: fix spec
2019-07-29 18:33:52 +00:00
Rohan Jacob-Rao
0b56eedcea
Better method for finding ID of test package (#2306) 2019-07-29 12:13:23 -04:00
nickchapman-da
b90862ebec
improve haskell module hierarchy to be more consistent (#2319) 2019-07-29 15:55:55 +01:00
Jussi Mäki
3724a5789e
Contract keys for kvutils (#2304)
* Support for contract keys to kvutils

* Fix handling of CreateEvents with contract keys in semantic tester

* Add ContractKeysIT to tests and fix issues related to fetchByKey

* Address code review
2019-07-29 16:45:24 +02:00
Moritz Kiefer
ce5fe424fc
Speed up file modification checks (#2317)
Speed up file modification checks

Summary: `getModificationTime` from the `directory` package is really
slow. The `unix` package is faster but still slow. This PR brings the
time spent checking file modifications (which is required on every
change) from ~0.5s to ~0.15s.
2019-07-29 16:19:32 +02:00
Davin K. Tanabe
acc41c3b84 Idempotent package uploads (#2131)
* Idempotent package uploads

* Log the correct number of duplicates

Co-Authored-By: Gerolf Seitz <gerolf.seitz@digitalasset.com>
2019-07-29 11:44:11 +00:00
associahedron
462a852a03
Anchor links in Rst docs, fixing type rendering, and refactoring. (#2315)
* Add anchor self-links in Rst docs

* Refactor a little with unwords

* Fix silly type error

* Refactoring and better type rendering

* Rename rst renderer functions.

* Update tests

* lint
2019-07-29 12:28:37 +01:00
Gerolf Seitz
04ca108e7b Eliminate grpc-netty runtime warning after grpc upgrade (#2313)
Netty emits a warning if the eventLoopGroup is customize without setting
the corresponding channelType.
2019-07-29 09:39:29 +00:00
Gerolf Seitz
136f6d1c08
Remove ExercisedEvent#contract_creating_event_id. (#2262)
This is a breaking change on the ledger api. So far we could rely on the
assumption that contractId == eventId. This assumption doesn't hold
anymore in a daml-on-x setting, where the eventId is created by the
api server, but the absolute contractId is created by the ledger
implementation.

Instead of going through weird contortions to store the relevant data in
the existing database schema, it is more viable in the long term to
remove that field and instead provide facilities to lookup transactions
by contractId.

Contributes to #2068.
2019-07-29 11:30:01 +02:00
Gary Verhaegen
010950162f Revert "add old releases to hubspot (#2290)" (#2308)
This reverts commit ec70bbcc05.
2019-07-29 08:16:33 +00:00
Gerolf Seitz
c1608604ae
Add all packages in bindings-(rx)java to the javadoc (#2284)
Fixes #2280
2019-07-29 09:54:13 +02:00
Moritz Kiefer
58bd210bcb Fix typo in quickstart docs (#2310) 2019-07-29 07:27:53 +00:00
associahedron
2a17b3d191 damldocs: Drop --json flag, update release notes. (#2309)
* Drop --json flag, update release notes.

* Clean up import list
2019-07-29 07:19:01 +00:00
Stephen Compall
5a707960d2
navigator: replace Value<->ledger-api conversion with ledger-api-common functions (#2292)
* ledger: refactor validateValue from CommandsValidator to new ValueValidator

* daml-lf: add a matchable class for leaf Values except ValueContractId

* ledger: use IdentifierResolverLike for CommandsValidator

* daml-lf: add Traverse[FrontStack]

* navigator: define readRecordArgument and readArgument in terms of ledger-api-common ValueValidator

* navigator: clean up fillInVariantTI

* navigator: replace ledger-api Value writer with LfEngineToApi from ledger-api-common

* navigator: use traverse

* navigator: remove dead sequenceMap

* navigator: adapt to new ValueValidator structure

* ledger: dealias validateValue call

* navigator: a good use case for traverseEitherStrictly
2019-07-26 14:24:34 -04:00
Gary Verhaegen
af9b0c2a0d
give up on yaml cron (#2302) 2019-07-26 18:51:45 +01:00
nickchapman-da
77ed83b5b7
assert the reset service has worked as expected (#2305)
* assert the reset service has worked as expected

* flipping hlint
2019-07-26 18:46:52 +01:00
Shayne Fletcher
d84afb615f Delete now redundant temporary 8.8.1 build notes (#2303)
* Delete now redundant temporary 8.8.1 build notes

* Add in a missing command
2019-07-26 16:54:45 +00:00
Gary Verhaegen
ec70bbcc05
add old releases to hubspot (#2290) 2019-07-26 17:54:03 +01:00
nickchapman-da
7064953a13
hlb, support: PartyManagementService (#2300)
* small refactorings in response to previous PR

* hlb, support: PartyManagementService
2019-07-26 16:47:01 +01:00
associahedron
573424f561 Add a daml deploy integration test. (#2299)
* Add a daml deploy test

* Use different template for proj2 in daml deploy test

* added --host localhost
2019-07-26 15:26:15 +00:00
Robin Krom
5bdc0d1b37
language: a shake rule to get interface/hie files (#2291)
* language: a shake rule to get interface/hie files

This adds a shake rule to get module interfaces and hie files. This
gives more control on when to build them and also an opportunity to
change the package name after typechecking. This is used in the next
PR to add package hashes to the package name in the interface files.

* generate hie files only on demand
2019-07-26 15:06:20 +02:00
associahedron
3d6f740964
damldocs: Hook up multiple file rendering to cli options. (#2295)
* Hook up multiple file rendering to cli options

* Fix --output help

* Fix bazel rules, boo

* Fix rule again

* Address reviewer comments
2019-07-26 13:45:06 +01:00
Michał Majcherski
37a921516b
Upgrade gRPC JVM libs (#2276)
* Haskell ledger bindings tests setup fix - use --port-file to obtain sandbox's port

* Update gRPC JVM libs

* Add missing gRPC core dependency

* Redirect sandbox's stdout and stderr to /dev/null

* Amend ledger's NettyServerBuilder settings after gRPC upgrade
2019-07-26 14:44:59 +02:00
nickchapman-da
7d7ee965d9
fix retry handling for issue #2260 (#2294) 2019-07-26 13:44:40 +01:00
Gary Verhaegen
7e6621732d
split cron definition (#2297) 2019-07-26 13:17:16 +01:00
Moritz Kiefer
a7bb901052
Avoid evaluating modules unnecessarily to NF (#2296)
Currently, we call `force` on every result of a rule. This was
problematic for the rules that produce LF packages:

Even if only the top-level module changes, the package for that module
contains all its dependencies. This means that we end up RNFing every
module that the current module depends on. On a project with ~900
dependencies this added up to over 1s for both GeneratePackageDeps and
GeneratePackage which corresponded to more than half of the overall
runtime.

This PR introduces a newtype for packages that does not evaluate the
modules in a package to NF. With this PR both rules are below 0.02s so
his is quite a significant improvement. We do not introduce any
potential space leaks here since the modules are produced by rules
that already force them to NF.
2019-07-26 14:11:43 +02:00
Andreas Herrmann
5f550e852e Fix hanging hie-core tests with stack (#2293) 2019-07-26 12:08:51 +00:00
Darko Pilav
1a84c007e5
Minor Docs fixes (#2277)
* Fix typo in README.md and stale link in CONTRIBUTING.md

* Fix minor typos in quickstart

* Fix various minor typos/mistakes in DAML Intro

* Make DAML code in quickstart-java example cleaner

Also update module hash as well as screenshots in docs
2019-07-25 16:02:42 +02:00
Gary Verhaegen
d89888f2e7 fix shebang line in daml-sdk-head (#2288) 2019-07-25 13:54:32 +00:00
Robert Autenrieth
59e581ef3f
Release SDK 0.13.15 (#2286) 2019-07-25 14:52:19 +02:00
Andreas Herrmann
fc388b038f stack/cabal for hie-core-tests (#2287)
* stack/cabal for hie-core-tests

* ./fmt.sh
2019-07-25 12:50:07 +00:00
nickchapman-da
49e21660f1
support --host option for daml deploy command (#2285) 2019-07-25 12:26:07 +01:00
Moritz Kiefer
da9fb464db Improve debugging output (#2281)
* Improve debugging output

Displaying the exception makes it easier to figure out what is going
wrong.

I’ve also added a HasCallStack constraint to `locateRunfiles` since it
looked like that was failing. Turned out to be a call to `create` that
didn’t go via `locateRunfiles` but I think it’s useful either way.
Should be more useful with https://github.com/tweag/rules_haskell/pull/1007

* Update compiler/hie-core/src/Development/IDE/Core/Shake.hs

Co-Authored-By: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
2019-07-25 10:33:57 +00:00