Commit Graph

127 Commits

Author SHA1 Message Date
Moritz Kiefer
623e641ec9
Wait for child process to exit in the daml assistant and daml-helper (#2162)
fixes #2142

It turns out that typed-process has the behavior we want so rather
than rolling our own version of `withCreateProcess`, I just switched
to that.
2019-07-16 18:21:00 +02:00
Robin Krom
aff7f1bc67
Generate interface files from dalf (#2151)
* language: upgrading: generating interface files
2019-07-16 13:46:43 +02:00
Gary Verhaegen
e2d9541c8c bundle vsix in sdk tarball (#2113) 2019-07-12 21:35:05 +00:00
Moritz Kiefer
23723a6fc4 Fix extraction of Maven tarball in integration tests (#2119)
extractTarball tries to restore the ownership stored in the
tarball. This goes wrong when the tarball is fetched from CI since the
uid/gid might not exist locally.
2019-07-12 10:04:31 +00:00
Moritz Kiefer
75ea177e87
Run exception handlers on SIGTERM in daml assistant (#2069) 2019-07-09 15:44:09 +02:00
Rohan Jacob-Rao
48f5153b74 Fix VSCode path for mac in daml assistant (#2051)
* Fix VSCode path for mac in daml assistant

* Release note
2019-07-08 22:26:36 +00:00
Michał Majcherski
3751ce9cee
Fix Maven calls in daml-assistant integration tests on Windows (#2027)
* Fix Maven calls in daml-assistant integration tests on Windows

* Cleanup daml-assistant integration tests
2019-07-08 16:38:35 +02:00
Moritz Kiefer
bb3a98bf61
Move code in daml-tools outside of daml-foundations (#2033) 2019-07-08 11:40:48 +02:00
Andreas Herrmann
df7bff6288 Update to bazel-0.27 (#1957)
* Bazel: 0.24.0 -> 0.27.0

* Update rules_haskell for Bazel 0.27 compatibility

* Update bazel-deps and bazel-watcher

* Windows escape JVM flags

* load commands at top of .bzl file

Bazel 0.27 no longer allows load commands that are not at the beginning
of the file.

* Update Bazel rules

* subpackage boundary

* native is not defined in BUILD files

* yarn: @bazel/hide-bazel-files

Seems to be required since latest rules_nodejs version. Otherwise, yarn
fails with errors about existing BUILD or BUILD.bazel files.

* grpc-java plugin visibility

* Update fat_cc_library

* Nix Python3 toolchain

* Iteration over depset

* dev_env_package: Create symlinks one level deeper

To prevent symlinking the BUILD file as well. The nested BUILD file
confuses Bazel as of 0.27 and rules_nodejs cannot find the node
executable anymore.

* Update rules_nodejs

* Add managed_directories for node_modules

* hie-bios: Extract bazel-genfiles from bazel info

Bazel 0.27 changed the genfiles location which breaks the hie-core test
on macOS.

* update cc_wrapper to Bazel 0.27

* bazel info -> bazel info bazel-genfiles

* Fix typo in BUILD

Co-Authored-By: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>
2019-07-05 14:04:47 +00:00
Moritz Kiefer
5087cc4be2
Bring release instructions up to date and inline test plan (#1972) 2019-07-02 15:53:37 +02:00
Fran
365ac2f94c
Use published extension by default in daml studio. (#1965)
* Use published extension by default in daml studio.

* Implement suggestions.

* Add release notes.
2019-07-02 11:29:19 +01:00
Moritz Kiefer
6bd76d80e1 Use the default dar path in the quickstart-java example (#1963) 2019-07-01 15:43:53 +00:00
Moritz Kiefer
af795d14ca Combine all artifacts output by damlc in .daml (#1959)
Fixes #1241
2019-07-01 15:07:30 +00:00
Robin Krom
e578f91efb
language: upgades: generate upgade code from dalfs (#1940)
* language: upgades: generate upgade code from dalfs

This switches the `migrate` command to read dalf files instead source to
generate upgrade code. The dalf files are read, data types are converted
back to haskell source, and from this we can generate generic instances
again.

There are two known issues that we want to address next:
  - Duplicate generic instance definitions will make the build fail.
  I.e this only works for data declarations that have no generic
  instances
  - Data declarations of the form `data Foo = Foo ()` can not be
  converted back to haskell source.
2019-07-01 14:44:53 +02:00
Andreas Herrmann
93d8e01db2
Update rules_haskell and static GHC (#1515)
* Update rules_haskell and static GHC

Remove patches that have been upstreamed or are no longer required.
Update still required patches to match the new rules_haskell version.

Previously we patched rules_haskell to coerce GHC into using static
Haskell libraries in most places. In particular we moved hs-libraries
entries into extra-libraries entries in the package configuration files.
A much cleaner approach is to compile GHC with a static RTS, then GHC
will by itself choose to load static Haskell libraries.

* Remove haskell_cc_import

* da-hs-daml-cli -> daml-cli

* da-hs-damlc-app -> damlc-app
2019-07-01 13:26:19 +02:00
Fran
074dadaf12 Use install script in integration test for unix. (#1952)
* Use install script in unix integration test.

* Fix waitForProcess
2019-07-01 09:21:04 +00:00
Michał Majcherski
7878120d5b
Fix hanging FFI call to scenario service problem on Windows (#1868)
* windows: hanging GRPC FFI call problem resolution

* windows: fix visual test

* windows: enabled back again some of disabled daml-assitant tests

* marking daml_ghc_integration_test as large
2019-06-26 11:45:52 +02:00
Robin Krom
05d80eeeb4
language: upgrades: no generics for data types having the instances already (#1840)
language: upgrades: dont derive generics for data types having the instances already

We only derive generic instances on the fly for data types that don't
have them already.
2019-06-25 18:17:34 +02:00
Fran
ce03f6a514
Remove navigator configs (#1859) 2019-06-25 12:32:03 +01:00
Fran
1648bba736 Exit from daml start if on-start command returns non-zero code. (#1857) 2019-06-25 09:45:08 +00:00
Fran
4cf5343dbb
Add support for da_haskell_repl targets in da-ghci (#1847)
* Add support for haskell_repl targets in da-ghci

* Change default target

* Revert newline loss.

* bazel fetch before bazel query

* Make a top level repl target the default.

* Add da_haskell_repl dependency in //BUILD

* Fix syntax error

* Fix bazel formatting...

* Rename DamlHelper modules to make //:repl work

* DamlHelper -> DamlHelper.Run

* Update the import in DamlHelper.Main

* Fix bazel rules again

* Update DamlHelper import in integration-tests
2019-06-24 16:39:41 +01:00
Robert Autenrieth
868a72b93a
Add support for DAML_PROJECT in Navigator (#1458)
* Add circe-yaml

* Add new helper library to load SDK config files

* Add support for DAML_PROJECT in navigator

Fixes #1128
2019-06-24 17:06:20 +02:00
Fran
d8c6239edc
Add options for scripting with daml start (#1837)
* Add more options to daml start

* Add release note for new options.
2019-06-24 14:57:01 +01:00
Fran
6318b3f858
Handle SIGINT in daml commands. (#1807)
* Raise UserInterrupt whenever SIGTERM happens when spawning processes in daml-helper.

* Avoid redundant installSignalHandlers

* Copyright header

* Update lint rules.

* Move installSignalHandlers to main
2019-06-24 08:25:12 +01:00
Robin Krom
b91c95d268
Write generic instances to separate modules on the fly (#1804)
* language: generate module containing generic instances

The migrate command generates generic instances of data types and puts
them in a separate module. For now this only works if the data type
doesn't have a generic instance already, we'll deal with this case in
the next PR.
2019-06-21 17:37:13 +02:00
Fran
728c1c9204
Implement daml install --install-assistant flag. (#1761)
* Add --install-assistant option

* Better doc on iActivate

* Determine whether to install assistant based on new flag

* Fix logic and update install warning

* Remove --activate from install.sh

* Add missing ]

* Change deprecation warning.

* Add release notes for new option.

* Update help text for install-assistant

* Fix release notes
2019-06-19 14:00:13 +01:00
Robin Krom
ca163d708e
language: feature: initial implementation of a 'migrate' command (#1707)
* language: feature: initial implementation of a 'migrate' command

We add a 'migrate' command to daml assistant that generates a project
that allows to migrate contract instances from package1 to package2.
This first version reads both package1 and package2 from source. As a
next step we read only the dalfs from package1, because it might have
been created with a different compiler.
2019-06-17 16:40:08 +02:00
Fran
e848b29cb4
Simplify daml version output (#1700)
* Simplify daml version output

* Make sure project version is really from daml.yaml

* Calculate latest version more thoroughly.

* Only show latest version if available
2019-06-17 12:19:56 +01:00
Fran
04f77626f9
Better error messages in daml-assistant when reading sdk-version from daml.yaml (#1677)
* Better errors for malformed daml.yaml

* Better error messages when reading sdk-version field.

* Lint
2019-06-14 18:24:12 +01:00
Fran
aa84930061
Strip env vars when calling vscode (#1667) 2019-06-14 13:13:53 +01:00
Fran
3eb2fd659a
Sort template list in daml new --list (#1599)
* Sort template list in daml new --list

* sort after takeFileName
2019-06-12 13:08:44 +01:00
Fran
9842570618 Tweak the "outdated DAML SDK in project" warning. (#1573) 2019-06-10 09:43:35 -04:00
Michał Majcherski
905410e1fd windows: daml-assistant tests (#1528) 2019-06-05 11:56:11 -04:00
Fran
161c1de31c
Implement daml uninstall command. (#1525)
* Define uninstall function.

* Add uninstall command.

* Change uninstall success messages.
2019-06-05 10:29:12 +02:00
Fran
8bc5387641
Display version number in yellow line. (#1499) 2019-06-04 09:31:25 +02:00
Fran
8d731fac39
Add version param to get-daml.sh (#1488)
* Add version param to get-daml.sh

* Deal with missing param better.
2019-06-03 14:47:27 +02:00
Moritz Kiefer
b16d94e958
Create VSCode extension directory on all platforms (#1470)
This is just as necessary when creating a symlink on Unix systems as
it is necessary on Windows.

fixes #1469
2019-05-31 14:44:50 +02:00
Moritz Kiefer
464ef86e0e Disable damlc test on Windows since it’s flaky (#1450) 2019-05-29 12:51:43 +00:00
Andreas Herrmann
1a80106753
damlc test --files (#1409)
* Add test case for damlc test-files

* Separate damlc test-files from damlc test

* Fix rules_daml/daml.bzl daml_test

* damlc test-files --> damlc test --files

The project options are still relevant for the --files case, as it may
be necessary to change into the project root directory in order to
locate the project package database.
2019-05-28 15:36:42 +02:00
A. F. Mota
34d8d705c7
Better error message for install --force failure on Windows. (#1422)
* Remove ghci[d].sh

* Add a nice error message on windows for install --force
2019-05-28 13:47:10 +02:00
Moritz Kiefer
53c5351144
Add a --project-root option damlc to specify the project root (#1401)
This was already possible before via the DAML_PROJECT environment
variable but for users that want to call damlc directly, e.g., via
damlc.jar a CLI flag can be more convenient.
2019-05-27 18:09:43 +02:00
A. F. Mota
2329b1b97a
Display warnings in daml build. (#1375)
* Display warnings in daml build.

* Prevent errors from showing twice.

* Use flagYesNoAuto for scenario service.
2019-05-24 14:36:48 +02:00
A. F. Mota
489244886c List all available versions, and persist version data. (#1339)
* List all available versions.

* Add --all flag in daml version

* Save version list to cache

* Update version cacheing logic.

* Linting error

* PR revisions.

* Update release notes.

* Update daml-assistant/src/DAML/Assistant/Version.hs

* Update docs/source/support/release-notes.rst

Co-Authored-By: Beth Aitman <bethaitman@users.noreply.github.com>
2019-05-23 14:33:07 +00:00
Moritz Kiefer
1c580d84a5
Make exposed-modules field in daml.yaml optional (#1345)
If unspecified, we expose all modules in the project.

Fixes #1328
2019-05-23 15:37:37 +02:00
Moritz Kiefer
d15f952dcc
Display daml-helper exceptions in a readable way (#1258)
This address part 2 of #1221.
2019-05-21 09:24:31 +02:00
Moritz Kiefer
d7209f3a09
Set program name of daml-helper to daml (#1256)
This prevents "daml new --help" and similar commands from showing
"daml-helper" instead of "daml".
2019-05-20 18:27:03 +02:00
A. F. Mota
db155477a5
Remove Data.SemVer workaround. (#1246) 2019-05-20 14:38:59 +02:00
A. F. Mota
128b8bed54
Add daml clean command (#1237)
* Add daml clean command

* Show what is removed during daml clean.

* Dont relativize
2019-05-20 13:11:35 +02:00
A. F. Mota
7013853694
Remove command kludge and prevent daml version from auto-installing. (#1229)
* Remove command kludge and prevent daml version auto-installing.

* Lint.

* Fix tests.

* Get rid of getMinimalDamlEnv.
2019-05-20 09:46:39 +02:00
A. F. Mota
9f184244f9 Add a couple failure modes to daml new. (#1212)
* Add a couple failure modes to daml new.

* Explain projectName == targetFolder check.

* Fix runNew documentation.
2019-05-17 11:13:38 +00:00