Commit Graph

185 Commits

Author SHA1 Message Date
Moritz Kiefer
67c2e2a9ef
Switch to upstream gRPC-haskell (#2642)
* Switch to upstream gRPC-haskell
2019-08-23 15:10:15 +02:00
Remy
16d88ebcc0
ledger-api-test: cleanning a bit the build files (#2613)
* ledger-api-test: cleanning a bit the build files
* bazel: adapt client_server_test rule to expands files path as arguments
2019-08-22 13:32:41 +02:00
Moritz Kiefer
0e777d9fc8 Delete obsolete proto3-suite patch (#2601)
* Delete obsolete proto3-suite patch

My patch has been upstreamed so no need to keep it around in our repo.

* Upgrade proto3-wire

* Adapt to changes in proto3-suite
2019-08-20 10:17:26 +00:00
Moritz Kiefer
8831000b97
Bump rules_haskell (#2585)
* Bump rules_haskell

The c2hs Windows patches and the include dir patches have been merged
upstream so we can remove them.
2019-08-19 17:29:37 +02:00
Moritz Kiefer
11923381fa
Default to -c opt in Bazel (#2592)
This makes sure that C dependencies like gRPC or zlib get compiled
with optimizations. I patched rules_haskell to use -O instead of -O2
since the latter slows down compilation while not making things
faster (according to my measurements).
2019-08-19 17:10:30 +02:00
Moritz Kiefer
33e16eaef1 Remove arx patch files (#2593)
I forgot to remove them in the Stackage upgrade.
2019-08-19 13:55:32 +00:00
Moritz Kiefer
b4dc886fa8
Bump stackage (#2588)
* Bump stackage

This PR switches us over to the latest Stackage LTS 0.14.1 (we were on
0.13.x before, so this includes major bumps) and gets rid of some
obsolete overwrites.
2019-08-19 13:31:10 +02:00
Moritz Kiefer
6a0ebc9f5e Go back to building grpc-haskell-core using c2hs (#2574)
* Go back to building grpc-haskell-core using c2hs

This should hopefully avoid issues like the CSize vs CULong issue we
had a while back and might fix some of the issues we have been seeing
on CI.

I’m marking the Haskell ledger bindings as non-flaky for now so we can
see if the issues reappear.

* Fix path

* Fix c2hs runfiles

* s/basedir/dirname/

* Fix varname

* Remove fixme \o/

* Mark hs ledger bindings flaky again
2019-08-16 14:17:11 +00:00
Andreas Herrmann
76b9a477b3 hie-bios: Don't hard-code import-dirs (#2562)
* hie-bios: Don't hard-code import-dirs

* Formatting
2019-08-15 16:08:35 +00:00
Moritz Kiefer
3d0699a9a8
Add an option to build Haskell code with DWARF debug info (#2504)
For now, this only works on Linux (that’s a GHC limitation as far as I
know) and you have to enable it by setting the GHC_DWARF env var to a
non-empty string.
2019-08-13 20:00:14 +02:00
Gary Verhaegen
99ea93168d
update copyright notices (#2499) 2019-08-13 17:23:03 +01:00
Andreas Herrmann
a1c21d9829
Update rules haskell (#2509)
* update rules_haskell

* adapt rules_haskell patches

* io_tweag_rules_haskell --> rules_haskell

* io_tweag_rules_haskell --> rules_haskell

* haskell:haskell.bzl --> haskell:defs.bzl

* rules_haskell_dependencies
2019-08-13 16:46:31 +02:00
Moritz Kiefer
d388c5692b
Upgrade haskell-lsp and lsp-test (#2474)
* Upgrade haskell-lsp and lsp-test

There have been some fixes upstream that should hopefully mean that we
no longer need to mark the lsp-tests as flaky on Windows. I am having
trouble reproducing the flakiness locally, so let’s see what happens
on CI.

* Also bump stack.yaml
2019-08-09 15:09:59 +02:00
Shayne Fletcher
ee5079d9d3 Ghc lib 8.8.0.20190723 (#2279)
* Upgrade ghc-lib

* Patch bazel_tools : hazel-include-paths patch, no-isystem patch.

* Provide "haskell_c2hs" for package name to cabal_haskell_package

* Package name haskell_c2hs => c2hs.

* Switch to less hacky patch for include dirs
2019-07-25 08:59:34 +00:00
nickchapman-da
b30228ab95
{-# LANGUAGE OverloadedStrings #-} is now on by default (#2270) 2019-07-24 08:09:26 +01:00
Michał Majcherski
49187f044a
Upgrade gRPC to 1.22.0 (#2205) 2019-07-18 13:32:17 +02:00
Andreas Herrmann
496a44889e runfiles_manifest: normalize was merged upstream (#2204) 2019-07-17 15:52:17 +00:00
Andreas Herrmann
63b46304eb
Base DA.Bazel.Runfiles on bazel-runfiles (#2147)
* DA.Bazel.Runfiles based on bazel-runfiles

* locateRunfilesMb -> locateRunfiles

* .exe extension on Windows

* Add docstring to locateRunfiles

* bazel-runfiles: Normalize on Windows
2019-07-17 09:48:44 +02:00
Stephen Compall
1a93db264d
navigator: Use LF Value ADT in place of ApiValue ADT (#2053)
* replace ApiValue ADT with aliases to daml-lf/transaction Value ADT

* porting rest of navigator to LF Value ADT

* 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

* fuse some list operations

- suggested by @stefanobaghino-da; thanks

* blue error message
2019-07-16 10:53:17 -04:00
Andreas Herrmann
16a52e4f8b Update rules_haskell - bazel-runfiles (#2125) 2019-07-12 14:52:46 +00:00
Andreas Herrmann
4c8641542d
hlint - Fix runfiles reference (#2041)
- Patches Hazel to use bazel-runfiles for Cabal paths module.
- Patches bazel-runfiles to add manifest support on Windows.
2019-07-10 16:24:08 +02:00
Brian Healey
3947e1e291 #2064 Include com.digitalasset namespacing in package names (#2081) 2019-07-09 21:17:59 +00:00
Brian Healey
3fb35b37b5
Issue #2064 Add package for bazel_tools client_server_testAdd package without underscore or dash to each of the scala-protoc-plugins components (#2077)
Merging as there are no available agents and OSX, Linux and Windows builds have all passed
2019-07-09 15:07:23 -04:00
Andreas Herrmann
c11832e8a9
nodejs_dev_env: Use Bazel's repository_ctx.symlink (#2056)
Python's `os.symlink` may fail on Windows if the user has insufficient
permissions to create symbolic links. This was not noticed on CI, since
builds there are executed with administrator privileges.

This changes `dev_env_package` to only outsource the listing of
directory contents to Python, but then fall back to Bazel's own
`repository_ctx.symlink` for the creation of symbolic links (or copies
if necessary).
2019-07-09 12:39:16 +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
Andreas Herrmann
45b2e47819
GHC: Shorten linker library search paths (#1964) 2019-07-05 13:25:49 +02:00
Michał Majcherski
5702df7808
windows: fixed client_server_test setup (#1958) 2019-07-03 09:59:29 +02:00
Moritz Kiefer
b748fab0f9
Fix running the IDE on damlc (#1956)
* Fix running the IDE on damlc

There were two issues:

1. Missing include paths.
2. Files where the module name does not match the file name.

I’ve fixed both and added a test that we can load the damlc Main.hs.
2019-07-01 17:30:13 +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
Michał Majcherski
2afefb7883
windows: root build (#1894)
* windows: root build

* windows: fixed haskell bindings tests

* windows: disable client_server_test test

* windows: marking daml_test flaky due to #1907

* windows: removing da-hs-damlc-app run from build.ps1

* windows: disable hie-core alias of currently disabled target
2019-06-28 12:55:31 +02:00
Moritz Kiefer
1edb594ecb Exclude protobuf-lite from grpc-protobuf (#1910) 2019-06-27 10:03:54 +00:00
Andreas Herrmann
10e7678d67 Fix CPP issue with default da-ghci (#1889)
* Fix CPP issue with default da-ghci

The default REPL target did not exclude the //nix targets that set the
CPP language extensions.

* da-ghci -e () requires explicit target
2019-06-26 12:53:13 +00:00
Moritz Kiefer
37ada7e770
Build javadoc for daml-lf-archive (#1867)
This is required for uploading to Maven.

The rational for needing our custom javadoc_library rule is documneted
in the file itself.
2019-06-25 21:12:25 +02:00
Gerolf Seitz
a66944a223 Only fix paths when running in a bazel environment. (#1842)
Running the tests via the ledger-api-test-tool results in a nasty
runtime exception. This check only fixes paths if it detects a bazel
environment.

Fixes #1841
2019-06-24 12:13:09 +00:00
Shayne Fletcher
c8e7af5fd8
Update the hie-bios commit SHA (#1825)
* Update the hie-bios commit SHA

* Also update the SHA in our bazel WORKSPACE

* Update the hash too

* Tutorial for Emacs integration

* Update hie-bios patch
2019-06-22 12:01:44 -04:00
Nick Smith
0c0e4231f3
Fixes #1204: Release bindings and codegens to Maven Central. (#1205)
* Fixes #1204: Release bindings and codegens to Maven Central.

Upload the Java and Scala Bindings with the respective code
generator binaries to Sonatype Open Source Repository
Host for synchronization with Maven Central.
2019-06-17 15:37:49 +02:00
Andreas Herrmann
9990486bb1 Load core-package dependencies in da-ghci (#1712)
* Fix #1656

* da-ghcid extra arguments

* Fix formatting
2019-06-17 12:56:33 +00:00
Michał Majcherski
285c766e16
windows: ledger and extractor tests; improved msys2 installation (#1643)
* windows: ledger tests

* windows: extractor tests

* windows: combine msys2 manifest files
2019-06-17 09:40:28 +02:00
Moritz Kiefer
5b0faea2cf
Get haskell-ide-core to work on our codebase (#1692)
* Get haskell-ide-core to work on our codebase

* Fix ghc-lib-parser on Windows
2019-06-16 15:42:48 +02:00
Moritz Kiefer
c8f9a91a8e
Initial stab at integrating hie-bios (#1685) 2019-06-15 10:29:40 +02:00
Nick Smith
d3ddb06c0b
Fixes #1611: Add multiple archive support to scala_source_jar() rule. (#1612)
* Fixes #1611: Add multiple archive support to scala_source_jar() rule.
2019-06-12 19:56:52 +02:00
Nick Smith
7575f8cb0e
Buildsystem scala sources improvements (#1602)
* Fixes #1600. Improve Bazel Scala source JAR generation.

Include sources from JAR files defined as 'sources' to a Bazel Scala
target. The improvement will allow inclusion of generated source targets
in sources JARs of dependencies.

* Use temporary directory in the dar_to_scala() rule.

Place the output of the Scala code generator in a temporary
directory instead of a directory at the 'primary' output path as Bazel
rules should never have directory dependencies.
2019-06-12 14:45:54 +02:00
Michał Majcherski
9b5f152f18
windows: better language-support build / test coverage (#1548) 2019-06-07 17:29:07 +02:00
Gerolf Seitz
8a08b752a9
Use Ledger API Test Tool for sandbox (#1545)
Extra command line arguments to the client_server_test target are passed
to the ledger-api-test-tool instead of the arguments defined in the
bazel target.

For example:
`bazel run //ledger/sandbox:conformance-test-static-time --list` will
pass the --list parameter to the ledger-api-test-tool (to print all
available tests), instead of actually running the tests in static-time mode.


The Ledger API Test Tool takes the flag --all-tests to run all defaul
 and optional tests

The tool also allows multiple occurrences of the --include and --exclude
flags.

Also removes StandaloneSemanticTestRunner.

Fixes #1371
2019-06-07 12:04:31 +02:00
Michał Majcherski
9e1c1c82ec
windows: more daml-ghc tests working (#1425)
* windows: more daml-ghc tests working

* windows: increased heap size for bond-trading-memory test
2019-05-28 15:45:38 +02:00
Nick Smith
54cfc6d316
Fixes #1340 - Add Scaladocs generation to the Bazel rules. (#1341)
* Fixes #1340 - Add Scaladocs generation to the Bazel rules.
2019-05-27 12:59:19 +02:00
Andreas Herrmann
a89cbb2036
Update rules_haskell (#1133)
* Update rules_haskell

- rules_haskell now handles the global package db within Bazel
    https://github.com/tweag/rules_haskell/pull/859
- We no longer use the Nix provided c2hs. So, we drop it.
- Rename `ghcWithC2hs` to `ghcStatic` to clarify that that's where the
    static linking patches are applied.
- Extend package-db patches to align Nix store paths with the new $out.
    This works around a restriction in current rules_haskell, where
    the paths in the package config files must have the same prefix as
    the path to the package config files themselves.
- Don't exclude haskell libraries from extra-libraries entries.

* Drop redundant unix-compat override

This is a left-over from when the package was patched.

* Windows GHC bindist includes ffi header

* Drop unused language-c Nix override
2019-05-20 14:20:34 +02:00
Andreas Herrmann
a6809310e8
Update to Bazel 0.24 (#567)
* bazel: 0.23.1 -> 0.24

* bazel-deps: Fix for Bazel 0.24.0

* bazel no longer supports + on dicts

Replace by dict.update.

* Fix junit classpath issue

* azure: Update MacOS image to Mojave

* Windows: --noincompatible_windows_escape_jvm_flags

* rules_scala: Support escape_jvmflags

* rules_scala: separate jvm_flags by TAB

* Document --noincompatible_windows_escape_jvm_flags
2019-05-16 18:04:30 +02:00
Michał Majcherski
fdbc1f51ce
windows: fixed daml-lf tests for Windows by using Bazel's rlocation (#1053)
* windows: fixed daml-lf tests for Windows by using Bazel's rlocation

* more consistent logging on CI; publishing Windows test logs on failure

* windows: fix daml-lf engine tests

* windows: add diff tool to msys
2019-05-14 16:18:55 +02:00
Nick Smith
6f6f3337c7
Fixes 895: Improve DA Bazel rules for building javadocs. (#896)
* Fixes 895: Improve DA Bazel rules for building javadocs.

Extend the da_java_library Bazel macro to also build the Javadoc for the
target. Add the Javadoc artefacts to the release procedure.
2019-05-14 09:40:30 +02:00
Stephen Compall
c6a382db70 warn on use of 'return' Scala keyword; remove most usages (#956)
*  enable Return wartremover wart

* remove return keyword from various places in daml-lf

* remove return keyword from various places in ledger

* simpler ImmArray equals

* move traverseEitherStrictly to point of use

* remove return from ledger-api-server-example
2019-05-13 17:10:29 +00:00
Andreas Herrmann
e428618f03
Update rules_haskell (#1106)
Some of the patches against rules_haskell and Hazel can now be dropped
as they've been merged upstream.
2019-05-13 16:59:58 +02:00
Andreas Herrmann
d455030e7f Fix uncached Windows CI (#1047)
* Windows: Drop rules_haskell CROSSTOOL patches

* Windows: Use cc_toolchain_config

* Windows: Fix haskell_zlib

* Windows: Add default link flags

* Windows: Define artifact_name_pattern .exe

Executable targets end on .exe on Windows.
2019-05-09 17:20:50 +02:00
Andreas Herrmann
5bb0b50286 Fix Hazel short paths (#1014)
The version macros fix had interfered with the actual short Hazel
library names. Now also shortening the Paths module.
2019-05-09 08:52:03 +02:00
Andreas Herrmann
9f46df8cd6 Hazel: Shorten target names (#937)
* Hazel: Shorten target names

Previously, Hazel would generate library and binary targets, that
repeated the package name in their target name. This easily lead to too
long paths on Windows, which could induce errors with code that did not
use API functions with long path support.

This change modifies Hazel to name the library target "lib" and shorten
the binary target names to "bin" or just the Cabal exe component name.

This change had further reaching consequences, because the package name
in the generated version macros was derived from the library target
name. rules_haskell has been extended to allow to override that default
behaviour.

* data-default: Remove custom build definitions

These had been introduced to resolve issues on Windows due to too long
target names. Hazel has meanwhile been patched to generate such shorter
target names by default, making the custom builds superfluous.

* Hazel: unshorten cbits name

This is a temporary workaround for otherwise clashing cbits library
names in the case of static only linking.
2019-05-07 17:45:23 +00:00
Andreas Herrmann
7cf02b8579 Hazel: ./configure in build step (#848)
* Hazel: configure in build step

* Hazel: patch network

* Hazel: unpatch old-time

* Hazel: Don't remove c2hs
2019-05-03 13:51:43 +00:00
Andreas Herrmann
3f3bd4b1bb Update rules_haskell (#828)
- Includes -optP response file patch
- Removes noise around version macros
2019-05-02 09:54:24 +00:00
Neil Mitchell
536b1ea87f Explicit export lists in the DAML-LF Haskell module (#813)
* Delete an entirely unused module

* Delete an entirely unused module

* Switch the compiler to use EUnit over mkEUnit

* Delete an unused module

* Whitespace only

* Clean up the API for World, don't expose the internals, better creation functions

* Clean up the type checker environment, don't expose the internals of Gamma, add a few helper functions

* Delete unused functions

* Explicit module export lists

* Fix the nub replacement hints

* Turn on the warning that we require module export lists

* Add an explicit export list
2019-05-02 10:12:31 +02:00
DavidM-D
8da835489f New diagnostics implementation (#737)
* Switch to haskell-lsp

* Fix build of data-default on Windows

* Use ghc environment files to avoid overflowing CLI length limits
2019-04-30 22:51:53 +02:00
Andreas Herrmann
3def0bd901 Update rules_haskell - now generates Haskell version macros (#769)
* Update rules_haskell: Generates version macros

- rules_haskell now generates a version macros header file that is
  passed on to preprocessors such as c2hs or hsc2hs.
- The haskell_import rule was also renamed to haskell_toolchain_library.

* Drop unix-compat patch

This was necessary to work around missing version macros.
2019-04-30 11:44:11 +00:00
Moritz Kiefer
c37df1a07a
Add a windows installer for the SDK (#738) 2019-04-29 10:16:11 +02:00
Moritz Kiefer
756b2c9e49
Switch to GHC 8.6.5 (#683)
This might improve our Windows build times a bit as the 8.6.4 bindist
was a messed up in various ways.
2019-04-25 17:22:38 +02:00
Moritz Kiefer
26d0dcfc8b
Fix packaging of ghc-pkg on Unix systems (#666)
This also changes --package-db to --global-package-db since ghc-pkg
will otherwise try to find a global package db itself.
2019-04-25 13:10:28 +02:00
Neil Mitchell
85c72f87d1 Move to using proto3-wire from upstream (#480)
* Move to using proto3-wire from upstream

* Move to upstream proto3-suite, with some custom patches in my fork

* Delete the BUILD.bazel for hte proto3 stuff, not used and the test was failing

* Delete the old proto3-wire and proto3-suite forks

* Delete proto3-wire

* Prettify BUILD.bazel files, sort the deps

* Remove some special cases from the license checker

* Delete unused Nix files from grpc-haskell

* Switch to upstream proto3-suite

* Make old-time work on Windows

* Formatting

* Patch rules_haskell to use a response file for -optP to avoid overflowing argument size limits on Windows

* Update 3rdparty/haskell/BUILD.old-time

Co-Authored-By: neil-da <35463327+neil-da@users.noreply.github.com>

* Update the comments in old-time

* Use the revised location of proto3-suite
2019-04-24 15:59:08 +00:00
Andreas Herrmann
fbade2e815 Build //daml-assistant:daml on Windows (#595)
* haskell: windows: always link system libraries

Modifies the patch to rules_haskell so that Windows system library are
not only applied to grpc, but to all targets on Windows.

* windows: test //daml-assistant:daml on CI
2019-04-18 10:37:03 +00:00
Moritz Kiefer
6c06dbd730 Support package_app on windows (#594)
* Support package_app on windows

* Fix formatting
2019-04-18 09:26:41 +00:00
Nicolas Mattia
f57c74d706 Build and run damlc on Windows (#568)
* Fix network build on Windows

Some files were not added to the build, which led missing symbols at
link time.

* Drop dll.a files from Windows GHC bindist

Those files greatly confuse GHC when linking statically.

* Add some Windows system libraries

These libraries are needed when linking GRPC.

* Statically link pthread on Windows

Otherwise the executables fail at runtime because they cannot find the
shared object.

* Build and run damlc on CI

* Try to fix package_db/* nullglob error

* Fix powershell command

* Cleanup package db rule

* Make formatting ugly again
2019-04-17 20:37:35 +00:00
Jussi Mäki
5233574d38 Add semantic test for the reference server (#424)
* Add semantic test for the reference server

Currently the semantic test is failing. Likely due to the
location annotation changes.

* Do not compare location annotations in isReplayedBy

The location annotations may not, and do not need to, match due to the
fact that the reconstructed update expression may not exactly match
the original one, and since the interpreter currently picks the closest
location annotation we cannot guarantee that they exactly match.

* scalafmt.

* buildifier.

* client_server_test: Increase timeout to 60s

Spawning a JVM-based server can easily take a long time on a very
loaded system (e.g. when running `bazel test //ledger/...` with enough
parallelism), so better have a high default timeout.

* ledger/api-server-damlonx: Address code review

* Fix client_server_test runner compilation. Bump timeout.

* Mark the reference server semantic test exclusive

* fmt reference/BUILD.bazel
2019-04-17 10:35:47 +02:00
Andreas Herrmann
4b0b8493ca
Build grpc-haskell on Windows (#532)
* Inline c2hs expansion.

* Patch unix-compat for Windows

unix-compat fails on Windows due to missing version macros in hsc files.
This patches unix-compat inlining the effect of the corresponding
version macro evaluation.

* Add grpc-haskell to Windows CI

* Fix formatting

* Move unix-compat.patch

Moved to bazel_tools, where all other Bazel patches reside.

* Remove .chi files

Those don't need to be checked in.

* Add FIXME on checked in c2hs files.
2019-04-16 15:36:27 +02:00
Nicolas Mattia
d722595e6a
Drop patches that were upstreamed to rules_haskell (#507)
* Remove long gone patch

The "shorten-source-dirs" patch was removed some time ago but was still
referenced in bazel_tools.

* Drop upstreamed rules_haskell patches

Some patches have been upstreamed to rules_haskell.

* Build haskell-ide-core on CI

* Apply buildifier

* Update rules_haskell

The latest version uses stackage's mirror of Hackage.
2019-04-16 11:37:07 +02:00
moritzkiefer-da
ec46b8cec5 Add codegen to integration tests (#494) 2019-04-15 17:53:05 +02:00
moritzkiefer-da
2f6dd7d4ee
Do not add the scala version suffix to navigator and extractor (#456)
Fixes #455
2019-04-12 18:30:49 +02:00
Michał Majcherski
79bbf5c794
windows: working //:git-revision target (#434) 2019-04-12 13:25:31 +02:00
gleber
aa70c7f64e
Enforce consistent formatting of BUILD files. (#412)
* Add buildifier targets.

The tool allows to check and format BUILD files in the repo.

To check if files are well formatted, run:

    bazel run //:buildifier

To fix badly-formatted files run:

    bazel run //:buildifier-fix

* Cleanup dade-copyright-headers formatting.

* Fix dade-copyright-headers on files with just the copyright.

* Run buildifier automatically on CI via 'fmt.sh'.

* Reformat all BUILD files with buildifier.

Excludes autogenerated Bazel files.
2019-04-12 13:10:16 +02:00
Jussi Mäki
e73ad8b957
Add client_server_test bazel rule (#365)
* Add client_server_test bazel rule

This adds a generic mechanism for constructing a test that launches
a TCP server and runs a test-suite against it. The rule orchestrates
passing the port number from the server to the client via a temporary
file and takes care of killing the server when the client process exits.

Still to be done is figuring out a good way to pass additional arguments
to the server and client programs (where these arguments could be other
bazel rules).

* Add missing copyright headers

* Add support for arguments to client_server_test

Note that this does not support passing in labels (":my_data_file"),
nor does it support "$(location :my_data_file)" string macros.

* Add data attribute to client_server_test

* Add support for location expansion in client_server_test args

* client_server_test: Address code review

* client_server_test: Bump waiting for port file write to 5s
2019-04-11 17:31:54 +02:00
moritzkiefer-da
fa4067ad1b
Move POM file generation to Bazel rules (#374)
* Move POM file generation to Bazel rules
2019-04-11 11:24:52 +02:00
Gaël Deest
f564fc3e90
Building c2hs (#355)
* Getting c2hs to build

* Build c2hs on CI

* Update 3rdparty/haskell/BUILD.c2hs

Co-Authored-By: gdeest-da <42969625+gdeest-da@users.noreply.github.com>

* Highlight changes in c2hs-package.bzl
2019-04-10 15:12:08 +02:00
Andreas Herrmann
c55273f622
Build grpc fat_cc_library on Windows (#352)
* fat_cc_library Windows support

* Add fat_cc_library to Windows CI

* Add dynamic library to error message

Addressing review comment https://github.com/digital-asset/daml/pull/352#discussion_r273905183
2019-04-10 14:42:27 +02:00
Jussi Mäki
1a4e6b8a7e
Add support for scala source jars (#332)
This adds an implicit "<target>_src" to every
scala library target. It assumes the sources of the
library are under 'src/main/scala'.
2019-04-09 17:41:42 +02:00
Stefano Baghino
7467925aa1
Fetch status.proto from remote, simplify JS gRPC codegen (#285)
* 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
2019-04-09 10:30:01 +02:00
Gaël Deest
2572eca983
Build gRPC on Windows with GHC's internal Mingw toolchain (#284)
* Adding patch to get GRPC to build on Windows with GHC's MingW

* Build gRPC on Windows CI
2019-04-08 15:32:46 +02:00
Nicolas Mattia
e63fbce7fa Drop rules_haskell patch shortening source-dirs
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.
2019-04-05 12:42:29 +02:00
Nicolas Mattia
117f043698 Fix daml-lf-ast build on Windows (#237)
* 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
2019-04-05 12:39:23 +02:00
Francesco Mazzoli
9c7357c7de update all references of old repo to new repo 2019-04-04 16:20:07 +02:00
Digital Asset GmbH
05e691f558 open-sourcing daml 2019-04-04 09:33:38 +01:00