daml/build.ps1
Moritz Kiefer 1a57d1d686
Remove pipeline samples (#773)
Now that we can build actually useful targets on all platforms these
samples have served their purpose and can go away.
2019-04-29 20:07:23 +02:00

147 lines
5.7 KiB
PowerShell

param ([String]$mode = 'full')
Set-StrictMode -Version latest
$ErrorActionPreference = 'Stop'
.\dev-env\windows\bin\dadew.ps1 install
.\dev-env\windows\bin\dadew.ps1 sync
.\dev-env\windows\bin\dadew.ps1 enable
if (!(Test-Path .\.bazelrc.local)) {
Set-Content -Path .\.bazelrc.local -Value 'build --config windows'
}
$ARTIFACT_DIRS = if ("$env:BUILD_ARTIFACTSTAGINGDIRECTORY") { $env:BUILD_ARTIFACTSTAGINGDIRECTORY } else { Get-Location }
function bazel() {
Write-Output ">> bazel $args"
$global:lastexitcode = 0
$backupErrorActionPreference = $script:ErrorActionPreference
$script:ErrorActionPreference = "Continue"
& bazel.exe @args 2>&1 | %{ "$_" }
$script:ErrorActionPreference = $backupErrorActionPreference
if ($global:lastexitcode -ne 0 -And $args[0] -ne "shutdown") {
Write-Output "<< bazel $args (failed, exit code: $global:lastexitcode)"
throw ("Bazel returned non-zero exit code: $global:lastexitcode")
}
Write-Output "<< bazel $args (ok)"
}
function build-partial() {
bazel build `-`-experimental_execution_log_file ${ARTIFACT_DIRS}/build_partial_execution_windows.log `
//:git-revision `
//compiler/daml-lf-ast/... `
//compiler/haskell-ide-core/... `
//daml-lf/interface/... `
//language-support/java/bindings/... `
//navigator/backend/... `
//navigator/frontend/...
bazel shutdown
bazel test `
//daml-lf/interface/... `
//language-support/java/bindings/... `
//navigator/backend/...
}
function build-full() {
# FIXME: Until all bazel issues on Windows are resolved we will be testing only specific bazel targets
bazel build `-`-experimental_execution_log_file ${ARTIFACT_DIRS}/build_full_execution_windows.log `
//release:sdk-release-tarball `
//release/windows-installer:windows-installer `
//:git-revision `
@com_github_grpc_grpc//:grpc `
//3rdparty/... `
//nix/third-party/gRPC-haskell:grpc-haskell `
//daml-assistant:daml `
//daml-foundations/daml-tools/daml-extension/... `
//daml-foundations/daml-tools/da-hs-damlc-app:damlc-dist `
//daml-foundations/daml-tools/docs/... `
//daml-foundations/daml-tools/language-server-tests:lib-js `
//daml-lf/archive:daml_lf_archive_scala `
//daml-lf/archive:daml_lf_archive_protos_zip `
//daml-lf/archive:daml_lf_archive_protos_tarball `
//compiler/haskell-ide-core/... `
//compiler/daml-lf-ast/... `
//daml-lf/data/... `
//daml-lf/engine:engine `
//daml-lf/interface/... `
//daml-lf/interpreter/... `
//daml-lf/lfpackage/... `
//daml-lf/parser/... `
//daml-lf/repl/... `
//daml-lf/scenario-interpreter/... `
//daml-lf/transaction-scalacheck/... `
//daml-lf/validation/... `
//extractor:extractor-binary `
//language-support/java/testkit:testkit `
//language-support/java/bindings/... `
//language-support/java/bindings-rxjava/... `
//ledger/api-server-damlonx:api-server-damlonx `
//ledger/api-server-damlonx/reference:reference `
//ledger/backend-api/... `
//ledger/ledger-api-akka/... `
//ledger/ledger-api-client/... `
//ledger/ledger-api-common/... `
//ledger/ledger-api-domain/... `
//ledger/ledger-api-server-example/... `
//ledger/ledger-api-scala-logging/... `
//ledger/ledger-api-server-example/... `
//ledger/participant-state/... `
//ledger/participant-state-index/... `
//ledger/sandbox:sandbox `
//ledger/sandbox:sandbox-binary `
//ledger/sandbox:sandbox-tarball `
//ledger/sandbox:sandbox-head-tarball `
//ledger-api/... `
//navigator/backend/... `
//navigator/frontend/... `
//scala-protoc-plugins/...
# ScalaCInvoker, a Bazel worker, created by rules_scala opens some of the bazel execroot's files,
# which later causes issues on Bazel init (source forest creation) on Windows. A shutdown closes workers,
# which is a workaround for this problem.
bazel shutdown
bazel run `
//daml-foundations/daml-tools/da-hs-damlc-app `-`- `-h
# ScalaCInvoker, a Bazel worker, created by rules_scala opens some of the bazel execroot's files,
# which later causes issues on Bazel init (source forest creation) on Windows. A shutdown closes workers,
# which is a workaround for this problem.
bazel shutdown
bazel test `
//daml-lf/data/... `
//daml-lf/interface/... `
//daml-lf/interpreter/... `
//daml-lf/lfpackage/... `
//daml-lf/parser/... `
//daml-lf/validation/... `
//language-support/java/bindings/... `
//language-support/java/bindings-rxjava/... `
//ledger/ledger-api-client/... `
//ledger/ledger-api-common/... `
//ledger-api/... `
//navigator/backend/...
}
# FIXME:
# @haskell_c2hs//... `
#ERROR: C:/users/vssadministrator/_bazel_vssadministrator/w3d6ug6o/external/haskell_c2hs/BUILD.bazel:16:3: unterminated string literal at eol
#ERROR: C:/users/vssadministrator/_bazel_vssadministrator/w3d6ug6o/external/haskell_c2hs/BUILD.bazel:17:1: unterminated string literal at eol
#ERROR: C:/users/vssadministrator/_bazel_vssadministrator/w3d6ug6o/external/haskell_c2hs/BUILD.bazel:17:1: Implicit string concatenation is forbidden, use the + operator
#ERROR: C:/users/vssadministrator/_bazel_vssadministrator/w3d6ug6o/external/haskell_c2hs/BUILD.bazel:17:1: syntax error at '",
#"': expected ,
Write-Output "Running in $mode mode"
bazel shutdown
if ($mode -eq "partial") {
build-partial
} else {
build-full
}