Skip to content

Commit 3bb4d4d

Browse files
committed
Move gyb_syntax_support in swift-syntax from Sources/generate-swift-syntax-builder to Code-Generation
1 parent 7054460 commit 3bb4d4d

File tree

3 files changed

+36
-26
lines changed

3 files changed

+36
-26
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ include(SwiftAndroidSupport)
66
include(SwiftCXXUtils)
77

88
function(_swift_gyb_target_sources target scope)
9-
set(SWIFT_SYNTAX_GYB_SUPPORT_DIR "${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder")
109
file(GLOB GYB_UNICODE_DATA ${SWIFT_SOURCE_DIR}/utils/UnicodeData/*)
1110
file(GLOB GYB_STDLIB_SUPPORT ${SWIFT_SOURCE_DIR}/utils/gyb_stdlib_support.py)
12-
file(GLOB GYB_SYNTAX_SUPPORT ${SWIFT_SYNTAX_GYB_SUPPORT_DIR}/gyb_syntax_support/*.py)
11+
file(GLOB GYB_SYNTAX_SUPPORT ${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/*.py)
1312
file(GLOB GYB_SOURCEKIT_SUPPORT ${SWIFT_SOURCE_DIR}/utils/gyb_sourcekit_support/*.py)
1413
set(GYB_SOURCES
1514
${SWIFT_SOURCE_DIR}/utils/gyb
@@ -27,7 +26,7 @@ function(_swift_gyb_target_sources target scope)
2726

2827
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${generated}
2928
COMMAND
30-
${CMAKE_COMMAND} -E env PYTHONPATH=${SWIFT_SYNTAX_GYB_SUPPORT_DIR} $<TARGET_FILE:Python3::Interpreter> ${SWIFT_SOURCE_DIR}/utils/gyb -D CMAKE_SIZEOF_VOID_P=${CMAKE_SIZEOF_VOID_P} ${SWIFT_GYB_FLAGS} -o ${CMAKE_CURRENT_BINARY_DIR}/${generated}.tmp ${absolute}
29+
${CMAKE_COMMAND} -E env PYTHONPATH=${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE} $<TARGET_FILE:Python3::Interpreter> ${SWIFT_SOURCE_DIR}/utils/gyb -D CMAKE_SIZEOF_VOID_P=${CMAKE_SIZEOF_VOID_P} ${SWIFT_GYB_FLAGS} -o ${CMAKE_CURRENT_BINARY_DIR}/${generated}.tmp ${absolute}
3130
COMMAND
3231
${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/${generated}.tmp ${CMAKE_CURRENT_BINARY_DIR}/${generated}
3332
COMMAND

cmake/modules/SwiftHandleGybSources.cmake

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,12 @@ function(handle_gyb_source_single dependency_out_var_name)
5353
endforeach()
5454
list(REMOVE_DUPLICATES gyb_expand_deps)
5555

56-
set(SWIFT_SYNTAX_GYB_SUPPORT_DIR "${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder")
57-
5856
add_custom_command_target(
5957
dependency_target
6058
COMMAND
6159
"${CMAKE_COMMAND}" -E make_directory "${dir}"
6260
COMMAND
63-
"${CMAKE_COMMAND}" -E env PYTHONPATH=${SWIFT_SYNTAX_GYB_SUPPORT_DIR} "$<TARGET_FILE:Python3::Interpreter>" "${gyb_tool}" ${SWIFT_GYB_FLAGS} ${GYB_SINGLE_FLAGS} -o "${GYB_SINGLE_OUTPUT}.tmp" "${GYB_SINGLE_SOURCE}"
61+
"${CMAKE_COMMAND}" -E env PYTHONPATH=${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE} "$<TARGET_FILE:Python3::Interpreter>" "${gyb_tool}" ${SWIFT_GYB_FLAGS} ${GYB_SINGLE_FLAGS} -o "${GYB_SINGLE_OUTPUT}.tmp" "${GYB_SINGLE_SOURCE}"
6462
COMMAND
6563
"${CMAKE_COMMAND}" -E copy_if_different "${GYB_SINGLE_OUTPUT}.tmp" "${GYB_SINGLE_OUTPUT}"
6664
COMMAND
@@ -125,24 +123,24 @@ function(handle_gyb_sources dependency_out_var_name sources_var_name)
125123
"${SWIFT_SOURCE_DIR}/utils/UnicodeData/GraphemeBreakProperty.txt"
126124
"${SWIFT_SOURCE_DIR}/utils/UnicodeData/GraphemeBreakTest.txt"
127125
"${SWIFT_SOURCE_DIR}/utils/gyb_stdlib_support.py"
128-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/__init__.py"
129-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/Child.py"
130-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/Classification.py"
131-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/kinds.py"
132-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/Node.py"
133-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/AttributeNodes.py"
134-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/AvailabilityNodes.py"
135-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/CommonNodes.py"
136-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/DeclNodes.py"
137-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/ExprNodes.py"
138-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/GenericNodes.py"
139-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/NodeSerializationCodes.py"
140-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/PatternNodes.py"
141-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/StmtNodes.py"
142-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/TypeNodes.py"
143-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/Token.py"
144-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/Trivia.py"
145-
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/Sources/generate-swift-syntax-builder/gyb_syntax_support/Traits.py"
126+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/__init__.py"
127+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/Child.py"
128+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/Classification.py"
129+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/kinds.py"
130+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/Node.py"
131+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/AttributeNodes.py"
132+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/AvailabilityNodes.py"
133+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/CommonNodes.py"
134+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/DeclNodes.py"
135+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/ExprNodes.py"
136+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/GenericNodes.py"
137+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/NodeSerializationCodes.py"
138+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/PatternNodes.py"
139+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/StmtNodes.py"
140+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/TypeNodes.py"
141+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/Token.py"
142+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/Trivia.py"
143+
"${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}/gyb_syntax_support/Traits.py"
146144
"${SWIFT_SOURCE_DIR}/utils/gyb_sourcekit_support/__init__.py"
147145
"${SWIFT_SOURCE_DIR}/utils/gyb_sourcekit_support/UIDs.py")
148146

utils/swift_build_support/swift_build_support/products/swiftsyntax.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,21 @@ def should_build(self, host_target):
7575

7676
def build(self, host_target):
7777
if self.args.swiftsyntax_verify_generated_files:
78-
self.run_swiftsyntax_build_script(target=host_target,
79-
command='verify-source-code')
78+
build_cmd = [
79+
os.path.join(self.source_dir, 'build-script.py'),
80+
'verify-source-code',
81+
'--toolchain', self.install_toolchain_path(host_target),
82+
# Verifying the files generated using SwiftSyntaxBuilder requires
83+
# internet access to pull the pinned SwiftSyntaxBuilder version. Since
84+
# we don't have internet access in CI, don't verify these files.
85+
# This is not a huge deal because only SwiftSyntaxBuilder is generated
86+
# in terms of itself and it will most likely fail to compile if it isn't
87+
# re-generated after gyb files have been updated.
88+
'--gyb-only'
89+
]
90+
if self.args.verbose_build:
91+
build_cmd.append('--verbose')
92+
shell.call(build_cmd)
8093

8194
self.run_swiftsyntax_build_script(target=host_target,
8295
command='build')

0 commit comments

Comments
 (0)