Commit Graph

631 Commits

Author SHA1 Message Date
Moritz Kiefer
3803ef44c0
Release SDK 1.0 (#5558)
* Release SDK 1.0

changelog_begin
changelog_end

* Add known issue

Co-authored-by: Bernhard Elsner <bernhard.elsner@digitalasset.com>
2020-04-15 15:25:39 +02:00
Moritz Kiefer
a3cad2d6b8
Change gpg keyserver used in the docs (#5538)
pgp.keyserver.io seems to have lost our key
somehow. pool.sks-keyservers.net is the pool that includes the MIT gpg
keyserver and others so hopefully it is somewhat reliable.

changelog_begin
changelog_end
2020-04-13 11:26:10 +02:00
Rohan Jacob-Rao
7fafe6a08a
GSG: test messaging feature and remove copied code snippets (#5507)
* Diff with messaging feature and some noise manually removed

* Bazel target to use patch file in other build targets

* Patch file as data dep for integration tests

* Attempt to patch and test messaging feature in create-daml-app test

changelog_begin
changelog_end

* Use exports_files instead of filegroup

* Remove file existence checks that don't make sense

* Add patch to dev_env and reference it from integration tests

* Include patch on windows for later

* Set up yarn env again after codegen

* Restore file check

* Fix typo in comment on util function

* Add Tasty steps to make process explicit

* Use messaging patch for code snippets in GSG

* Use messaging code from template instead of copy

* Remove copied message code

* Refactor script to copy template code with messaging patch

* No need to retry second yarn install (only local deps should be updated)
2020-04-11 19:53:44 +00:00
Moritz Kiefer
f050da78c9
Used daml codegen java instead of calling the codegen from maven (#5537)
* Used `daml codegen java` instead of calling the codegen from maven

This should hopefully fix the issues with mismatched versions of
slf4j.

changelog_begin
changelog_end

* Move config to daml.yaml

* Remove alternative invocation via maven from docs
2020-04-11 11:44:53 +00:00
Moritz Kiefer
e70ac2efbb
Fix links to typescript libraries (#5531)
changelog_begin
changelog_end
2020-04-10 20:17:11 +02:00
Bernhard Elsner
0bba883a66
Fix the developer of the Corda integration to be DA (#5529)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-09 23:58:10 +02:00
Leonid Shlyapnikov
9b6d2dba6c
Applying Carol's JSON API doc changes (#5501)
* Applying Carol's doc changes.

changelog_begin
changelog_end

* reverting back to quickstart guide
2020-04-09 15:13:19 +00:00
Gary Verhaegen
840faac2c9
fix docs typo in --crt (#5518)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-09 11:43:14 +00:00
Zbigniew Czapran
dab1ae778f
Small fix in formatting to be consistent with other parts (#5504)
Create and Exercise keywords are usually emboldened in the docs.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-09 11:36:44 +02:00
Leonid Shlyapnikov
29e1931f17
Add --port-file command line option to JSON API (#5454)
* Adding `--port-file` support

* ``--port-file`` support

* Updating docs

changelog_begin

[JSON API] Add support for ``--port-file`` command line option.
``--http-port 0 --port-file ./json-api.port`` will pick up a free port
and write it into ``./json-api.port` file.

changelog_end

* reformatting

* Usage grammar

* use bimap

* Adding `PortFiles` utility for creating and deleting port files on JVM exit

* Adding scaladoc explaining that the port file should be deleted on

JVM termination.

* Updating usage and docs to reflect that the file must be unique and

will be deleted on graceful shutdown

* Relying on `java.nio.file.FileAlreadyExistsException` to determine the

case when failed due to the nonunique file name.

* toString instead of Exception.getMessage

java.nio exception's getMessage can be just a file name, need the class
name to capture the error context.

* updatePortFile -> createPortFile

* write to file instead of write into file
2020-04-08 18:48:11 +00:00
Moritz Kiefer
1ddcd3c096
Add a note that vscode needs to be restarted (#5503)
changelog_begin
changelog_end
2020-04-08 20:28:42 +02:00
Moritz Kiefer
15c68ee3b5
Remove extraneous backslash (#5502)
I don’t consider this a release blocker but still worth fixing.

changelog_begin
changelog_end
2020-04-08 18:15:58 +00:00
Martin Huschenbett
cdd342c5a3
Getting Started: Explain success for yarn start (#5492)
Exlain how to spot when `yarn start` was successful.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-08 11:45:25 +00:00
Gerolf Seitz
97433743a1
Set the Bearer prefix in bindings. (#5484)
* Set the `Bearer ` prefix in bindings.
* Make the `Bearer ` prefix in the authorization header mandatory.
* Bearer prefix can be removed from the token file.

CHANGELOG_BEGIN
[Extractor]: The ``Bearer `` prefix can be removed from the token file.
It is added automatically.
[Navigator]: The ``Bearer `` prefix can be removed from the token file.
It is added automatically.
[DAML Script] The ``Bearer `` prefix can be removed from the token file. It
is added automatically.
[DAML Repl] The ``Bearer `` prefix can be removed from the token file. It is
added automatically.
[Scala Bindings] The ``Bearer `` prefix can be removed from the token. It is
added automatically.
[Java Bindings] The ``Bearer `` prefix can be removed from the token. It is
added automatically.
[DAML Integration Kit] ``AuthService`` implementations MUST read the
``Authorization`` header and the value of the header MUST start with
``Bearer ``.
CHANGELOG_END
2020-04-08 13:07:28 +02:00
Moritz Kiefer
a96e7425ea
Add a yarn install --force step to make sure changes are picked up (#5489)
Yarn does not pick up changes to file: dependencies and link:
dependencies are unusable because Windows so we add an explicit
install step that refreshes them. It doesn’t make any sense to do
dependency resolution again here and could break something for
unrelated reasons so I added --frozen-lockfile as well.

changelog_begin
changelog_end
2020-04-08 12:15:42 +02:00
Moritz Kiefer
8d56ed3a7e
Consistently avoid infix syntax in the GSG and reinstantiate dlint (#5483)
We avoided infix syntax here for `elem` but still used it for
`notElem` which doesn’t make much sense. Also we lost the config to
disable the lint when integrating the example in this repo. This
resulted in our own code producing a lint which is obviously a bad
idea.

side note: I think this lint does make sense once you
are familiar with the syntax and I feel slightly bad about disabling
more and more lints so for now I’m keeping it in the config.

changelog_begin
changelog_end
2020-04-08 09:40:50 +02:00
Martin Huschenbett
e2a02ca78c
Getting Started guide: Remove useless yarn build (#5482)
The call to `yarn build` in the Getting Started guide is completely
useless for everything that follows (it would only be necessary if you
want to deploy the app) and quite time consuming. Let's just remove it!

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-08 07:31:00 +00:00
Moritz Kiefer
aca282bc56
Fix choice name in GSG (#5481)
User is the template not the choice. The choice is called SendMessage.

changelog_begin
changelog_end
2020-04-08 07:00:08 +00:00
Martin Huschenbett
26f073bda7
DAML/JavaScript: Make naming in docs consistent (#5475)
* DAML/JavaScript: Make naming in docs consistent

CHANGELOG_BEGIN
CHANGELOG_END

* Drop DAML/ prefix

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 18:50:18 +00:00
Moritz Kiefer
06b99327ac
Remove GSG disclaimer (#5469)
changelog_begin
changelog_end
2020-04-07 17:00:18 +00:00
Leonid Shlyapnikov
4d3fa95e57
Minor docs update (#5468)
* minor docs update

changelog_begin
changelog_end

* merging two sections into one

changelog_begin
changelog_end
2020-04-07 15:46:38 +00:00
Leonid Shlyapnikov
003065fb70
Empty array of party IDs -- error, nothing found -- OK (#5456)
* Empty array of party IDs -- error, nothing found -- OK, as per @hurryabit

changelog_begin
changelog_end

* fixing test description
2020-04-07 13:57:06 +00:00
Moritz Kiefer
ccacddbbc6
Add documentation for upgrading using DAML script and triggers (#5465)
* Add documentation for upgrading using DAML script and triggers

This PR adds documentation for how you can automate the upgrade
process from the Coin example using DAML Script and DAML Triggers.

Having written this, I think we might want to add some integration
tests for this but it’s rather complex to setup since it ties together
so many pieces so I’d like to leave it out for now. We do at least
test that the code compiles and we all knows that code that compiles
never has bugs.

changelog_begin
changelog_end

* Apply suggestions from code review

Co-Authored-By: associahedron <231829+associahedron@users.noreply.github.com>

Co-authored-by: associahedron <231829+associahedron@users.noreply.github.com>
2020-04-07 14:36:40 +02:00
Nemanja
59c020442b
Added daml2js diagrams (#5451)
CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 10:54:40 +02:00
Gerolf Seitz
cadaa59ad8
Fix redirects, java-bindings javadoc, and live-preview.sh (#5446)
* Fix redirects, java-bindings javadoc, and live-preview.sh

- javadoc_library now supports sources from filegroups as well
- //language-support/java:javadoc now generates javadoc for ledger-api, java bindings, rxjava bindings
- live-preview.sh refers to the correct javadoc target //language-support/java:javadoc
- removed leading / from redirects.map

* Only generate daml-lf javadocs if not on windows

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-07 09:53:26 +02:00
Robin Krom
044783ef72
language:docs: correct TypeScript/JavaScript typings (#5421)
We use the official typings, i.e. TypeScript/JavaScript.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-06 17:24:44 +02:00
associahedron
201d17fe54
Update daml install docs (#5448)
* Update daml install docs

changelog_begin
changelog_end

* Note about snapshots
2020-04-06 15:07:16 +00:00
Robin Krom
dc1f9a9aa0
language: docs: update on daml2js in app-arch section (#5449)
* language: update on daml2js in app-arch section.

Update on the app-arch section in respect to daml2js. This is slightly
more precise about the contents of the generated libraries.

CHANGELOG_BEGIN
CHANGELOG_END

* Update docs/source/app-dev/app-arch.rst

Co-Authored-By: Martin Huschenbett <martin.huschenbett@posteo.me>

* Update docs/source/app-dev/app-arch.rst

Co-Authored-By: Martin Huschenbett <martin.huschenbett@posteo.me>

Co-authored-by: Martin Huschenbett <martin.huschenbett@posteo.me>
2020-04-06 13:55:21 +00:00
Robin Krom
a413c1cec9
Replace file globs in ts package BUILD files (#5424)
* language: remove file globs from ts library BUILD files

We replace them with toplevel `sources` definition, since sadly
filegroups don't work here.

CHANGELOG_BEGIN
CHANGELOG_END

* update app-arch section regarding daml2js

* remove files field in tsconfigs
2020-04-06 13:07:27 +02:00
Gerolf Seitz
a2d785e3ee
Use com.daml as root package (#5343)
Packages com.digitalasset.daml and com.daml have been unified under com.daml

Ledger API and DAML-LF DEV protos have also been moved from `com/digitalasset`
to `com/daml` on the file system.
Protos for already released DAML LF versions (1.6, 1.7, 1.8) stay in the
package `com.digitalasset`.

CHANGELOG_BEGIN
[SDK] All Java and Scala packages starting with
``com.digitalasset.daml`` and ``com.digitalasset`` are now consolidated
under ``com.daml``. Simply changing imports should be enough to
migrate your code.
CHANGELOG_END
2020-04-05 19:49:57 +02:00
Shayne Fletcher
47541e7037
Fix typo (#5435)
changelog_begin
changelog_end
2020-04-03 18:13:41 +00:00
Stephen Compall
ff68252266
Freeze JSON API v1 (#5387)
* move JSON API doc to "Building applications"

* stop describing JSON API as experimental; limit to calling WebSocket endpoints alpha

* remove "(experimental)" from daml json-api docstring

* add changelog

CHANGELOG_BEGIN
- [JSON API] First stable version of the ``/v1`` endpoints, with
  the exception of the WebSocket endpoints, which remain in alpha.
  See `issue #4458 <https://github.com/digital-asset/daml/issues/4458>`_.
CHANGELOG_END

* move json-api in PDF ToC, adapting to #5411 c496e2bf05

- pointed out by @cocreature; thanks
2020-04-03 13:58:17 -04:00
Moritz Kiefer
55f376271d
Tweak note about requiring DAML-LF 1.8 (#5431)
changelog_begin
changelog_end
2020-04-03 19:02:54 +02:00
Shayne Fletcher
a1abfa7fb1
Rename daml codegen ts to daml codegen js (#5409) (#5427)
I've completely removed the possibility to call `daml codegen ts`. I'm
happy to add in back in a followup PR once I've seen that all our tests
pass without it existing.

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Martin Huschenbett <martin.huschenbett@posteo.me>
2020-04-03 16:00:36 +00:00
Rohan Jacob-Rao
3895c2d01f
Replace quickstart with new getting started guide (#5392)
* Move quickstart to java bindings section

* Change title of quickstart to Getting Started with ...

* Move GSG to Getting Started (and rename in index)

* Rewrite a bunch of references to quickstart

* Update reference and give more specific name

changelog_begin
- [Docs] Replace IOU quickstart with full stack Getting Started Guide
changelog_end

* Replace daml-ledger link

* Use getting started guide in redirects
2020-04-03 15:44:19 +00:00
Martin Huschenbett
ccfb17c91b
Rename daml codegen ts to daml codegen js (#5409)
I've completely removed the possibility to call `daml codegen ts`. I'm
happy to add in back in a followup PR once I've seen that all our tests
pass without it existing.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-03 14:54:46 +00:00
Bernhard Elsner
c496e2bf05
Relabel "Experimental" to "Early Access" and reorganise pages (#5411)
CHANGELOG_BEGIN

- Move daml2ts, bindings-ts and JSON API out of experimental section in docs
- Rename Experimental to Early Access in docs and assistant
- Reorganise the docs a little bit to de-emphasise the Ledger API

CHANGELOG_END
2020-04-03 16:29:22 +02:00
Moritz Kiefer
62da572b35
Stop publishing to Bintray (#5422)
This PR removes the code for publishing to Bintray and updates the
documentation to point to github releases or Maven central.

I had to slightly change the docs formatting since trying to use
markup in code blocks results in a horrible layout and I don’t want to
fix that atm.

I’ve removed all artifacts that were only published to Bintray.

changelog_begin
changelog_end
2020-04-03 16:22:00 +02:00
Martin Huschenbett
ba27ea9af4
create-daml-app: Import generated package without version (#5423)
Our plan for `daml2js` is to populate the `name` and `version` field
of the generated `package.json` files with the name and version of
the input DALF. Once this is done, you would expect to refer to the
package generated from `create-daml-app-0.1.0.dar` via
```typescript
import ... from '@daml.js/create-daml-app';`
```

Since we currently depend on the package by file paths anyway, we can
already pretend to have the right behavior in place.

In this style you can also depend on two different versions of the same
DAML package. This will happen during upgrades, a situation we're
already facing in DAVL. There it can be solved via the following two
lines in the `dependencies` field of the `package.json`:
```
  ...
  "davl-v4": "file:../daml.js/davl-0.0.4",
  "davl-v5": "file:../daml.js/davl-0.0.5",
  ...
```

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-03 15:58:16 +02:00
Leonid Shlyapnikov
f71facf7cf
Parties error handling improvements (#5395)
* Return BadRequest(400) with warnings when all party IDs are unknown

changelog_begin
changelog_end

* cleanup
2020-04-03 09:54:43 -04:00
Martin Huschenbett
7cf5018c5b
Move puppeteer tests out of create-daml-app (#5420)
As expected, the `puppeteer` library used to demonstrate how to test
DAML apps end-to-end, causes issues in CI. It is not very unlikely
that users of the getting started guide would run into the same issues.
In addition, `puppeteer` is a _huge_ dependency, we should probably not
shove down everybody's throat who just wants to walk throught the GSG.

Thus, this PR moves everything related to testing out of
`create-daml-app` and exclusively into the docs. This is completly
lacking tests, but since it wasn't tested before either, I consider
this acceptable. My manual tests succeeded.

Since merging this might unblock quite a few other PRs, I defer test
into a followup PR.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-03 14:59:18 +02:00
Rohan Jacob-Rao
6d9db3fea3
GSG: use code samples from the template instead of manual copies (#5396)
* Copy templates into docs build directory to reference in code snippets

changelog_begin
changelog_end

* Remove ui-before code copies

* Rename daml folder to daml-after and remove tags for before code

* Fix a link and wording
2020-04-03 13:18:18 +02:00
Andreas Herrmann
2d1e22fe33
Support import in DAML REPL (#5386)
* REPL parse import statements

* Factor parsing out of handleLine

* Pull binding and error handling into handleStmt

This is specific to the case of handling a statemt and does not overlap
with handling imports.

* Track module imports as ImportDecl

* Add new module imports

* Validate module imports

* Add REPL interaction test for import

* REPL document import declarations

CHANGELOG_BEGIN
- [DAML REPL - Experimental] You can now use import declarations at the
  REPL prompt to bring additional modules into scope.
CHANGELOG_END

* ReplState strict fields

* Use semigroupoids Alt to simplify parseReplInput

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2020-04-03 10:43:04 +00:00
Martin Huschenbett
31c78d57d8
Rename daml2ts to daml2js (#5394)
This is pretty much a search and replace over the whole repo, including
file names.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-03 08:58:23 +02:00
Martin Huschenbett
7431a96fc6
Getting Started Guide: Generate JS into daml.js (#5390)
Change the output directory given to `daml codegen ts` from `daml-ts`
to `daml.js`. This is naming is in line with the fact that `daml2ts`
puts all generated packages into the `@daml.js` scope. A renaming of
`daml2ts` into `daml2js` is immiment.

This PR also changes a few small documentation issues the
search-and-replace has surfaced.

CHANGELOG_BEGIN
CHANGELOG_END
2020-04-02 21:02:27 +00:00
Leonid Shlyapnikov
62b7ab590a
Sync query error reporting improvements (#5326)
* non empty set of template IDs in domain.GetActiveContractsRequest

* Updating expected error message

changelog_begin
changelog_end

* Adding warnings field to domain.ErrorResponse

* Error messages constants

* using domain.AsyncResponse

* added todo

* Updating examples

changelog_begin
changelog_end

* Updating examples

* Fixing the case when head is part of the tail, as pointed by @S11001001

* Fixing the domain.SynResponse JSON reader,

report deserialization error when both 'errors' and 'result' fields
present, as pointed by @S11001001

* Addressing code review comments
2020-04-02 19:47:07 +00:00
Moritz Kiefer
82fc85e585
Fix daml new command in GTG (#5385)
changelog_begin
changelog_end
2020-04-02 19:10:46 +02:00
Moritz Kiefer
2049f2ea93
Limit memory usage of scenario service in tests (#5373)
* Limit memory usage of scenario service in tests

Previously the scenario service used over 2GB of memory during
//compiler/damlc/tests:integration-dev for absolutely no reason.

This PR adds an option to pass JVM options when starting the scenario
service and sets them to 200MB for the Shake tests and the damlc
integration tests which seems to be more than sufficient.

These option can also be set in `daml.yaml`. I did not change the
defaults since this is shipped to users where I’d rather have high
memory usage than a crashing scenario service and on certain large
DAML codebases we might actually use a fair bit.

changelog_begin
changelog_end

* Update docs/source/tools/assistant.rst

Co-Authored-By: Samir Talwar <samir.talwar@digitalasset.com>

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2020-04-02 14:42:33 +00:00
Rohan Jacob-Rao
0f5d93e0c3
Include create-daml-app as a template project for daml new (#5259)
* Initial commit with create-daml-app master

* Include create-daml-app in build rule

* Make daml.yaml a template in version and project name

* Remove git attributes

* Remove license and azure config

* Remove scripts

* Don't overwrite config files in build rule

* Template version numbers in package.json, to be replaced by the assistant

* Rename to package.json.template

changelog_begin
changelog_end

* Add copyright headers

* Do template substitutions in all .template files

And don't special case daml new create-daml-app (so it treats it as a
regular template).

* Add create-daml-app to integration tests

* Remove WIP warning

* Move towards setup that works on head

* Make local copies of the TS libs in the templates tarball

* Hardcode project name for now

* Use isExtensionOf

* Remove service worker

* remove robots.txt (don't even know what it is)

* Revert "Make local copies of the TS libs in the templates tarball"

This reverts commit 1289581fb4a82af3ab534baf978a2c6ed895d538.

* Retemplatize TS lib versions. For head builds these will be installed using npm

* Remove daml/ledger from resolutions for daml-ts

* Comment about test secret

* Remove special create-daml-app assistant command and test that won't work anymore

* Remove redundant imports and export

* Remove old create-daml-app tests

* Remove yarn.lock

* Clean up integration test (just daml new and build atm)

* Add daml/ledger as a resolution for daml-ts

* Remove top level package.json

* Update daml.js version

* Use new import scheme for generated TS

* Update readme with new codegen and build steps

* Use start-navigator in daml.yaml

* Increase a couple of timeouts in tests (either sandbox or TS lib is a bit slower?)

* Update GSG intro with new build steps

* Remove daml2ts -p flag and --start-navigator flag from GSG instructions

* Don't use start-navigator flag in ui tests

* Temporary readme describing how to manually test the create-daml-app template

* Update code samples in app arch section of GSG

* Update code samples in testing doc

* Remove copied create-daml-app code

* Indent docs markers to be more subtle

* Update visible code in Messages (after) section

This needs to be kept up to date properly somehow.

* Update text to useLedger

* Restore code/ui-before copies until the Bazel magic is figured out

We need to make the template code a dependency in the Bazel rule as
otherwise we can't find the files in the docs build.

* Update create-daml-app/readme and make templates/readme more detailed

* Use jsx comments for docs markers so they don't show up in the app
2020-04-02 00:30:07 +00:00
Moritz Kiefer
29ed16b4cc
Improve handling of exposed-modules with data-dependencies (#5330)
* Improve handling of exposed-modules with data-dependencies

Previously, we tried to rename all modules of a dependency via
--package. This fails if some of those modules are not exported. This
was trivial to hit as a user since the ``daml-trigger`` library made
use of this.

This PR adds a few things to improve the situation:

1. We only rename modules that are exposed. This fixes the issue if
   you don’t actually reference a non-exposed module from your
   data-dependency.
2. I’ve removed the exposed-modules from daml-trigger. I don’t think
   they are essential here given that the module name has `Internal`
   in the name and it’s too easy to have something that actually
   references the non-exposed module since the types are reexported.
3. I’ve added documentation that mentions this issue.
4. I’ve added a warning if your exposed-modules are excluding some
   modules. Maybe worth turning this into an error in the future.

changelog_begin
changelog_end

* Update compiler/damlc/lib/DA/Cli/Damlc/Packaging.hs

Co-Authored-By: associahedron <231829+associahedron@users.noreply.github.com>

Co-authored-by: associahedron <231829+associahedron@users.noreply.github.com>
2020-04-01 13:57:52 +02:00