Skip to content

Commit f662d50

Browse files
committed
Add build script products for Swift-DocC and Swift-DocC-Render
(rdar://79703353)
1 parent 8866a2d commit f662d50

File tree

10 files changed

+380
-4
lines changed

10 files changed

+380
-4
lines changed

utils/build-presets.ini

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,7 @@ install-libicu
815815
install-prefix=/usr
816816
install-libcxx
817817
install-sourcekit-lsp
818+
install-swiftdocc
818819
build-swift-static-stdlib
819820
build-swift-static-sdk-overlay
820821
build-swift-stdlib-unittest-extra
@@ -854,6 +855,7 @@ foundation
854855
libdispatch
855856
indexstore-db
856857
sourcekit-lsp
858+
swiftdocc
857859
lit-args=-v --time-tests
858860

859861
# rdar://problem/31454823
@@ -877,13 +879,29 @@ skip-test-playgroundsupport
877879
skip-test-libicu
878880
skip-test-indexstore-db
879881
skip-test-sourcekit-lsp
882+
skip-test-swiftdocc
880883

881884
# Linux package with out test
882885
[preset: buildbot_linux,no_test]
883886
mixin-preset=
884887
buildbot_linux
885888
mixin_buildbot_linux,no_test
886889

890+
# Linux buidbot that include Swift-DocC-Render.
891+
[preset: buildbot_linux,swiftdoccrender]
892+
mixin-preset=buildbot_linux
893+
894+
swiftdoccrender
895+
install-swiftdoccrender
896+
897+
# Linux buidbot without tests that include Swift-DocC-Render.
898+
[preset: buildbot_linux,swiftdoccrender,no_test]
899+
mixin-preset=buildbot_linux,no_test
900+
901+
swiftdoccrender
902+
install-swiftdoccrender
903+
skip-test-swiftdoccrender
904+
887905
[preset: buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build]
888906
mixin-preset=
889907
mixin_lightweight_assertions,no-stdlib-asserts
@@ -1221,6 +1239,7 @@ playgroundsupport
12211239
libcxx
12221240
indexstore-db
12231241
sourcekit-lsp
1242+
swiftdocc
12241243

12251244
# Build concurrency back-deployment binaries
12261245
back-deploy-concurrency
@@ -1270,6 +1289,7 @@ install-playgroundsupport
12701289
install-libcxx
12711290
install-sourcekit-lsp
12721291
install-back-deploy-concurrency
1292+
install-swiftdocc
12731293

12741294
install-destdir=%(install_destdir)s
12751295

@@ -1377,6 +1397,7 @@ skip-test-playgroundsupport
13771397
skip-test-swiftsyntax
13781398
skip-test-skstresstester
13791399
skip-test-swiftevolve
1400+
skip-test-swiftdocc
13801401

13811402
[preset: buildbot_osx_package,no_assertions,no_test,use_os_runtime]
13821403
mixin-preset=
@@ -1411,6 +1432,7 @@ skip-test-playgroundsupport
14111432
skip-test-swiftsyntax
14121433
skip-test-skstresstester
14131434
skip-test-swiftevolve
1435+
skip-test-swiftdocc
14141436

14151437
# macOS package with out test
14161438
[preset: buildbot_osx_package,no_test]
@@ -1426,6 +1448,36 @@ mixin-preset=
14261448
mixin_buildbot_osx_package,no_test
14271449
mixin_osx_package,use_os_runtime
14281450

1451+
# macOS package that include Swift-DocC-Render.
1452+
[preset: buildbot_osx_package,swiftdoccrender]
1453+
mixin-preset=buildbot_osx_package
1454+
1455+
swiftdoccrender
1456+
install-swiftdoccrender
1457+
1458+
# macOS package without tests that include Swift-DocC-Render.
1459+
[preset: buildbot_osx_package,swiftdoccrender,no_test]
1460+
mixin-preset=buildbot_osx_package,no_test
1461+
1462+
swiftdoccrender
1463+
install-swiftdoccrender
1464+
skip-test-swiftdoccrender
1465+
1466+
# macOS package that use the OS runtime and include Swift-DocC-Render.
1467+
[preset: buildbot_osx_package,swiftdoccrender,use_os_runtime]
1468+
mixin-preset=buildbot_osx_package,use_os_runtime
1469+
1470+
swiftdoccrender
1471+
install-swiftdoccrender
1472+
1473+
# macOS package without tests that use the OS runtime and include Swift-DocC-Render.
1474+
[preset: buildbot_osx_package,swiftdoccrender,no_test,use_os_runtime]
1475+
mixin-preset=buildbot_osx_package,no_test,use_os_runtime
1476+
1477+
swiftdoccrender
1478+
install-swiftdoccrender
1479+
skip-test-swiftdoccrender
1480+
14291481
#===------------------------------------------------------------------------===#
14301482
# LLDB build configurations
14311483
#
@@ -1555,6 +1607,7 @@ swiftpm
15551607
# swift-inspect
15561608
swift-driver
15571609
swiftsyntax
1610+
swiftdocc
15581611

15591612
# Don't generate the SwiftSyntax gyb files. Instead verify that up-to-date ones
15601613
# are checked in.
@@ -1569,6 +1622,7 @@ install-llbuild
15691622
install-swiftpm
15701623
install-swift-driver
15711624
install-libcxx
1625+
install-swiftdocc
15721626

15731627
# Build the stress tester and SwiftEvolve
15741628
skstresstester

utils/build-toolchain

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ DRY_RUN=
5050
BUNDLE_PREFIX=
5151
PRESET_FILE_FLAGS=
5252
PRESET_PREFIX=
53+
SWIFT_DOCC_RENDER=
5354
NO_TEST=",no_test"
5455
USE_OS_RUNTIME=
5556

@@ -94,6 +95,9 @@ while [ $# -ne 0 ]; do
9495
;;
9596
--use-os-runtime)
9697
USE_OS_RUNTIME=",use_os_runtime"
98+
;;
99+
--swift-docc-render)
100+
SWIFT_DOCC_RENDER=",swiftdoccrender"
97101
;;
98102
-h|--help)
99103
usage
@@ -145,7 +149,7 @@ SCCACHE_FLAG="${SCCACHE_FLAG}"
145149

146150
./utils/build-script ${DRY_RUN} ${DISTCC_FLAG} ${PRESET_FILE_FLAGS} \
147151
${SCCACHE_FLAG} \
148-
--preset="${PRESET_PREFIX}${SWIFT_PACKAGE}${NO_TEST}${USE_OS_RUNTIME}" \
152+
--preset="${PRESET_PREFIX}${SWIFT_PACKAGE}${SWIFT_DOCC_RENDER}${NO_TEST}${USE_OS_RUNTIME}" \
149153
install_destdir="${SWIFT_INSTALL_DIR}" \
150154
installable_package="${SWIFT_INSTALLABLE_PACKAGE}" \
151155
install_toolchain_dir="${SWIFT_TOOLCHAIN_DIR}" \

utils/build_swift/build_swift/driver_arguments.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ def _apply_default_arguments(args):
193193
args.test_swiftformat = False
194194
args.test_swiftevolve = False
195195
args.test_toolchainbenchmarks = False
196+
args.test_swiftdocc = False
197+
args.test_swiftdoccrender = False
196198

197199
# --test implies --test-early-swift-driver
198200
# (unless explicitly skipped with `--skip-test-early-swift-driver`)
@@ -632,6 +634,10 @@ def create_argument_parser():
632634

633635
option(['--swift-driver'], toggle_true('build_swift_driver'),
634636
help='build swift-driver')
637+
option(['--swiftdocc'], toggle_true('build_swiftdocc'),
638+
help='build Swift DocC')
639+
option(['--swiftdoccrender'], toggle_true('build_swiftdoccrender'),
640+
help='build Swift DocC Render')
635641

636642
option(['--skip-early-swift-driver'], toggle_false('build_early_swift_driver'),
637643
help='skip building the early swift-driver')
@@ -660,6 +666,10 @@ def create_argument_parser():
660666
help='install new Swift driver')
661667
option(['--install-swiftevolve'], toggle_true('install_swiftevolve'),
662668
help='install SwiftEvolve')
669+
option(['--install-swiftdocc'], toggle_true('install_swiftdocc'),
670+
help='install Swift DocC')
671+
option(['--install-swiftdoccrender'], toggle_true('install_swiftdoccrender'),
672+
help='install Swift DocC Render')
663673
option(['--toolchain-benchmarks'],
664674
toggle_true('build_toolchainbenchmarks'),
665675
help='build Swift Benchmarks using swiftpm against the just built '
@@ -1119,6 +1129,10 @@ def create_argument_parser():
11191129
option('--skip-test-swift-inspect',
11201130
toggle_false('test_swift_inspect'),
11211131
help='skip testing swift_inspect')
1132+
option('--skip-test-swiftdocc', toggle_false('test_swiftdocc'),
1133+
help='skip testing swift-docc')
1134+
option('--skip-test-swiftdoccrender', toggle_false('test_swiftdoccrender'),
1135+
help='skip testing swift-docc-render')
11221136

11231137
# -------------------------------------------------------------------------
11241138
in_group('Build settings specific for LLVM')

utils/build_swift/resources/SwiftPM-Unified-Build.xcworkspace/contents.xcworkspacedata

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

utils/build_swift/tests/expected_options.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,17 @@
9696
'build_skstresstester': False,
9797
'build_swiftformat': False,
9898
'build_swiftevolve': False,
99+
'build_swiftdocc': False,
100+
'build_swiftdoccrender': False,
99101
'build_indexstoredb': False,
100102
'test_indexstoredb_sanitize_all': False,
101103
'test_sourcekitlsp_sanitize_all': False,
102104
'build_sourcekitlsp': False,
103105
'install_swiftpm': False,
104106
'install_swiftsyntax': False,
105107
'install_swift_driver': False,
108+
'install_swiftdocc': False,
109+
'install_swiftdoccrender': False,
106110
'swiftsyntax_verify_generated_files': False,
107111
'install_playgroundsupport': False,
108112
'install_sourcekitlsp': False,
@@ -262,6 +266,8 @@
262266
'test_skstresstester': False,
263267
'test_swiftformat': False,
264268
'test_swiftevolve': False,
269+
'test_swiftdocc': False,
270+
'test_swiftdoccrender': False,
265271
'test_toolchainbenchmarks': False,
266272
'tvos': False,
267273
'tvos_all': False,
@@ -509,6 +515,8 @@ class BuildScriptImplOption(_BaseOption):
509515
SetTrueOption('--skstresstester', dest='build_skstresstester'),
510516
SetTrueOption('--swiftformat', dest='build_swiftformat'),
511517
SetTrueOption('--swiftevolve', dest='build_swiftevolve'),
518+
SetTrueOption('--swiftdocc', dest='build_swiftdocc'),
519+
SetTrueOption('--swiftdoccrender', dest='build_swiftdoccrender'),
512520
SetTrueOption('-B', dest='benchmark'),
513521
SetTrueOption('-S', dest='skip_build'),
514522
SetTrueOption('-b', dest='build_llbuild'),
@@ -563,6 +571,8 @@ class BuildScriptImplOption(_BaseOption):
563571
EnableOption('--install-sourcekit-lsp', dest='install_sourcekitlsp'),
564572
EnableOption('--install-skstresstester', dest='install_skstresstester'),
565573
EnableOption('--install-swiftevolve', dest='install_swiftevolve'),
574+
EnableOption('--install-swiftdocc', dest='install_swiftdocc'),
575+
EnableOption('--install-swiftdoccrender', dest='install_swiftdoccrender'),
566576
EnableOption('--toolchain-benchmarks', dest='build_toolchainbenchmarks'),
567577
EnableOption('--swift-inspect', dest='build_swift_inspect'),
568578
EnableOption('--tsan-libdispatch-test'),
@@ -644,6 +654,8 @@ class BuildScriptImplOption(_BaseOption):
644654
DisableOption('--skip-test-skstresstester', dest='test_skstresstester'),
645655
DisableOption('--skip-test-swiftformat', dest='test_swiftformat'),
646656
DisableOption('--skip-test-swiftevolve', dest='test_swiftevolve'),
657+
DisableOption('--skip-test-swiftdocc', dest='test_swiftdocc'),
658+
DisableOption('--skip-test-swiftdoccrender', dest='test_swiftdoccrender'),
647659
DisableOption('--skip-test-toolchain-benchmarks',
648660
dest='test_toolchainbenchmarks'),
649661
DisableOption('--skip-test-swift-inspect',

utils/swift_build_support/swift_build_support/build_script_invocation.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,10 @@ def compute_product_pipelines(self):
605605
is_enabled=self.args.build_swift_inspect)
606606
builder.add_product(products.TSanLibDispatch,
607607
is_enabled=self.args.tsan_libdispatch_test)
608+
builder.add_product(products.SwiftDocC,
609+
is_enabled=self.args.build_swiftdocc)
610+
builder.add_product(products.SwiftDocCRender,
611+
is_enabled=self.args.build_swiftdoccrender)
608612

609613
# Keep SwiftDriver at last.
610614
# swift-driver's integration with the build scripts is not fully

utils/swift_build_support/swift_build_support/products/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
from .skstresstester import SKStressTester
2828
from .sourcekitlsp import SourceKitLSP
2929
from .swift import Swift
30+
from .swiftdocc import SwiftDocC
31+
from .swiftdoccrender import SwiftDocCRender
3032
from .swiftdriver import SwiftDriver
3133
from .swiftevolve import SwiftEvolve
3234
from .swiftformat import SwiftFormat
@@ -63,4 +65,6 @@
6365
'SourceKitLSP',
6466
'Benchmarks',
6567
'TSanLibDispatch',
68+
'SwiftDocC',
69+
'SwiftDocCRender'
6670
]

0 commit comments

Comments
 (0)