summaryrefslogtreecommitdiff
path: root/test/end-to-end/built-in-rules/tree.sh
blob: fd0cc957ed15c6773f93e8d3152feec769e09bda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
# Copyright 2022 Huawei Cloud Computing Technology Co., Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


set -e

readonly LBRDIR="$TMPDIR/local-build-root"

touch ROOT
touch a.txt

cat <<'EOF' > TARGETS
{ "": {"type": "tree", "name": "where/to/stage", "deps": ["content"]}
, "content":
  {"type": "install", "files": {"a": "a.txt", "b": "a.txt", "c/d": "a.txt"}}
}
EOF

bin/tool-under-test analyse \
    --local-build-root "$LBRDIR" --dump-trees trees.json --dump-artifacts-to-build artifacts.json 2>&1
echo
echo Artifacts
cat artifacts.json
[ $(jq 'keys == ["where/to/stage"]' artifacts.json) = "true" ]
tree_id=$(jq '."where/to/stage"."data"."id"' artifacts.json)

echo
cat trees.json
[ $(jq 'keys == ['$tree_id']' trees.json) = "true" ]
[ $(jq '.'$tree_id' | keys == ["a", "b", "c/d"]' trees.json) = "true" ]

echo OK