Skip to content

Commit 27b58a6

Browse files
Add an option to skip building upstream DocC while running the test script (#25)
Provides an option (`SWIFT_SKIP_BUILDING_UPSTREAM_DOCC`) to skip cloning and building upstream docc and docc_render_artifact Co-authored-by: Anuraag Marapally <[email protected]>
1 parent 00555b6 commit 27b58a6

File tree

1 file changed

+31
-27
lines changed

1 file changed

+31
-27
lines changed

bin/test

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,41 +20,45 @@ filepath() {
2020
# absolute file path to the Swift-DocC-Plugin root source dir.
2121
SWIFT_DOCC_PLUGIN_ROOT="$(dirname $(dirname $(filepath $0)))"
2222

23-
SWIFT_DOCC_ROOT="$SWIFT_DOCC_PLUGIN_ROOT/swift-docc"
24-
SWIFT_DOCC_RENDER_ARTIFACT_ROOT="$SWIFT_DOCC_PLUGIN_ROOT/swift-docc-render-artifact"
25-
export DOCC_HTML_DIR="$SWIFT_DOCC_RENDER_ARTIFACT_ROOT/dist"
23+
SWIFT_SKIP_BUILDING_UPSTREAM_DOCC=${SWIFT_SKIP_BUILDING_UPSTREAM_DOCC:=false}
2624

27-
SWIFT_DOCC_REPO=${SWIFT_DOCC_REPO:="https://github.com/apple/swift-docc.git"}
28-
SWIFT_DOCC_RENDER_ARTIFACT_REPO=${SWIFT_DOCC_RENDER_ARTIFACT_REPO:="https://github.com/apple/swift-docc-render-artifact.git"}
25+
if [[ $SWIFT_SKIP_BUILDING_UPSTREAM_DOCC != true ]]
26+
then
27+
SWIFT_DOCC_ROOT="$SWIFT_DOCC_PLUGIN_ROOT/swift-docc"
28+
SWIFT_DOCC_RENDER_ARTIFACT_ROOT="$SWIFT_DOCC_PLUGIN_ROOT/swift-docc-render-artifact"
29+
export DOCC_HTML_DIR="$SWIFT_DOCC_RENDER_ARTIFACT_ROOT/dist"
2930

30-
SWIFT_DOCC_BRANCH=${SWIFT_DOCC_BRANCH:="main"}
31-
SWIFT_DOCC_RENDER_ARTIFACT_BRANCH=${SWIFT_DOCC_RENDER_ARTIFACT_BRANCH:="main"}
31+
SWIFT_DOCC_REPO=${SWIFT_DOCC_REPO:="https://github.com/apple/swift-docc.git"}
32+
SWIFT_DOCC_RENDER_ARTIFACT_REPO=${SWIFT_DOCC_RENDER_ARTIFACT_REPO:="https://github.com/apple/swift-docc-render-artifact.git"}
3233

33-
# The script will clone swift-docc and swift-docc-render-artifact at the
34-
# branches pulled from the environment above. The tests will then run using
35-
# that built DocC. This can be useful for testing interdependent changes that
36-
# need to land together and make it possible to test multiple pull requests
37-
# together.
34+
SWIFT_DOCC_BRANCH=${SWIFT_DOCC_BRANCH:="main"}
35+
SWIFT_DOCC_RENDER_ARTIFACT_BRANCH=${SWIFT_DOCC_RENDER_ARTIFACT_BRANCH:="main"}
3836

39-
echo "Cloning docc..."
40-
rm -rf "$SWIFT_DOCC_ROOT"
41-
git clone -b "$SWIFT_DOCC_BRANCH" "${SWIFT_DOCC_REPO}" "$SWIFT_DOCC_ROOT" || exit 1
37+
# The script will clone swift-docc and swift-docc-render-artifact at the
38+
# branches pulled from the environment above. The tests will then run using
39+
# that built DocC. This can be useful for testing interdependent changes that
40+
# need to land together and make it possible to test multiple pull requests
41+
# together.
4242

43-
echo "Cloning docc-render-artifact..."
44-
rm -rf "$SWIFT_DOCC_RENDER_ARTIFACT_ROOT"
45-
git clone -b "${SWIFT_DOCC_RENDER_ARTIFACT_BRANCH}" "${SWIFT_DOCC_RENDER_ARTIFACT_REPO}" "$SWIFT_DOCC_RENDER_ARTIFACT_ROOT" || exit 1
43+
echo "Cloning docc..."
44+
rm -rf "$SWIFT_DOCC_ROOT"
45+
git clone -b "$SWIFT_DOCC_BRANCH" "${SWIFT_DOCC_REPO}" "$SWIFT_DOCC_ROOT" || exit 1
4646

47-
echo "Building docc..."
48-
swift build --package-path "$SWIFT_DOCC_ROOT" --configuration release || exit 1
47+
echo "Cloning docc-render-artifact..."
48+
rm -rf "$SWIFT_DOCC_RENDER_ARTIFACT_ROOT"
49+
git clone -b "${SWIFT_DOCC_RENDER_ARTIFACT_BRANCH}" "${SWIFT_DOCC_RENDER_ARTIFACT_REPO}" "$SWIFT_DOCC_RENDER_ARTIFACT_ROOT" || exit 1
4950

50-
export DOCC_EXEC="$(swift build --package-path "$SWIFT_DOCC_ROOT" --show-bin-path --configuration release)/docc"
51-
if [[ ! -f "$DOCC_EXEC" ]]; then
52-
echo "docc executable not found, expected at $SWIFT_DOCC_EXEC"
53-
exit 1
54-
else
55-
echo "Using docc executable: $DOCC_EXEC"
56-
fi
51+
echo "Building docc..."
52+
swift build --package-path "$SWIFT_DOCC_ROOT" --configuration release || exit 1
5753

54+
export DOCC_EXEC="$(swift build --package-path "$SWIFT_DOCC_ROOT" --show-bin-path --configuration release)/docc"
55+
if [[ ! -f "$DOCC_EXEC" ]]; then
56+
echo "docc executable not found, expected at $SWIFT_DOCC_EXEC"
57+
exit 1
58+
else
59+
echo "Using docc executable: $DOCC_EXEC"
60+
fi
61+
fi
5862
# Build and test Swift-DocC Plugin
5963
swift test --parallel --package-path "$SWIFT_DOCC_PLUGIN_ROOT"
6064

0 commit comments

Comments
 (0)