mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
ce2a8a5086
The intention was to pull in the source for the GSG but it turns out that the templates tarball doesn’t just bundle up files, it also includes generated scala code for the scala quickstart which depends on damlc. This PR splits the GSG sources including the patching into a separate rule which does not depend on damlc and only copies that in live-preview. changelog_begin changelog_end
105 lines
3.6 KiB
Python
105 lines
3.6 KiB
Python
# Copyright (c) 2020 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
exports_files(glob(["create-daml-app-test-resources/*"]))
|
|
|
|
# Split out into a separate rule so we can cheaply include this in the
|
|
# live-preview.
|
|
genrule(
|
|
name = "create-daml-app-docs",
|
|
srcs = glob(
|
|
["create-daml-app/**"],
|
|
exclude = ["**/NO_AUTO_COPYRIGHT"],
|
|
) + [
|
|
"//templates:create-daml-app-test-resources/messaging.patch",
|
|
],
|
|
outs = ["create-daml-app-docs.tar.gz"],
|
|
cmd = """
|
|
SRC=templates
|
|
OUT=create-daml-app
|
|
mkdir -p $$OUT
|
|
cp -rL $$SRC/create-daml-app/* $$OUT
|
|
# Apply patch for messaging feature (we only need the "after" state)
|
|
PATCH_TOOL=$$PWD/$(location @patch_dev_env//:patch)
|
|
MESSAGING_PATCH=$$PWD/$(location //templates:create-daml-app-test-resources/messaging.patch)
|
|
$$PATCH_TOOL -s -p1 < $$MESSAGING_PATCH
|
|
tar c create-daml-app \\
|
|
--owner=0 --group=0 --numeric-owner --mtime=2000-01-01\\ 00:00Z --sort=name \\
|
|
| gzip -n >$(location :create-daml-app-docs.tar.gz)
|
|
""",
|
|
tools = ["@patch_dev_env//:patch"],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
genrule(
|
|
name = "templates-tarball",
|
|
srcs = glob(
|
|
[
|
|
"default-gitignore",
|
|
"default-dlint-yaml",
|
|
"skeleton/**",
|
|
"empty-skeleton/**",
|
|
"create-daml-app/**",
|
|
"quickstart-java/**",
|
|
"quickstart-scala/**",
|
|
],
|
|
exclude = ["**/NO_AUTO_COPYRIGHT"],
|
|
) + [
|
|
"//docs:quickstart-java.tar.gz",
|
|
"//docs:daml-intro-templates",
|
|
"//docs:daml-patterns",
|
|
"//docs:copy-trigger-template",
|
|
"//docs:script-example-template",
|
|
"//language-support/scala/examples:quickstart-scala-dir",
|
|
],
|
|
outs = ["templates-tarball.tar.gz"],
|
|
cmd = """
|
|
SRC=templates
|
|
OUT=templates-tarball
|
|
|
|
# templates in templates dir
|
|
for d in skeleton empty-skeleton create-daml-app quickstart-scala quickstart-java; do
|
|
mkdir -p $$OUT/$$d
|
|
cp -rL $$SRC/$$d/* $$OUT/$$d/
|
|
# use default .gitignore and .dlint.yaml if they don't exist in the template
|
|
cp -n $$SRC/default-gitignore $$OUT/$$d/.gitignore
|
|
cp -n $$SRC/default-dlint-yaml $$OUT/$$d/.dlint.yaml
|
|
# We avoid introducing infix syntax in the GSG so we disable
|
|
# the lint there.
|
|
if [ "$$d" = "create-daml-app" ]; then
|
|
cat >> $$OUT/$$d/.dlint.yaml <<EOF
|
|
|
|
# This rule is enabled by default but we avoid
|
|
# infix syntax here to keep things simple.
|
|
- ignore: {name: Use infix }
|
|
EOF
|
|
fi
|
|
done
|
|
|
|
## special cases we should work to remove
|
|
|
|
# quickstart-java template
|
|
tar xf $(location //docs:quickstart-java.tar.gz) --strip-components=1 -C $$OUT/quickstart-java
|
|
|
|
# quickstart-scala template
|
|
cp -r $(location //language-support/scala/examples:quickstart-scala-dir)/* $$OUT/quickstart-scala/
|
|
|
|
# daml intro templates
|
|
tar xf $(location //docs:daml-intro-templates) -C $$OUT
|
|
|
|
mkdir -p $$OUT/copy-trigger
|
|
tar xf $(location //docs:copy-trigger-template) -C $$OUT/copy-trigger
|
|
|
|
mkdir -p $$OUT/script-example
|
|
tar xf $(location //docs:script-example-template) -C $$OUT/script-example
|
|
|
|
mkdir -p $$OUT/daml-patterns
|
|
tar xf $(location //docs:daml-patterns) --strip-components=1 -C $$OUT/daml-patterns
|
|
|
|
tar c templates-tarball \\
|
|
--owner=0 --group=0 --numeric-owner --mtime=2000-01-01\\ 00:00Z --sort=name \\
|
|
| gzip -n >$(location :templates-tarball.tar.gz)
|
|
""",
|
|
visibility = ["//visibility:public"],
|
|
)
|