Skip to content

[build-script] Introduce --dry-run mode #2241

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 31, 2016

Conversation

rintaro
Copy link
Member

@rintaro rintaro commented Apr 19, 2016

What's in this pull request?

If -n or --dry-run is specified in command line arguments, print the commands that would be executed to stdout, but do not execute them.
Using this, you can safely know such as exact cmake options, build targets, or directories to be created, without actual build.
Supported in build-script (both preset and normal) and build-toolchain.

utils/build-script -n -RT
utils/build-script -n --preset=buildbot_incremental,tools=RA,stdlib=RA
utils/build-toolchain -n local.swift

Example dry-run output by utils/build-toolchain -n local.swift

Mac OS X

./utils/build-script: using preset 'buildbot_osx_package', which expands to ./utils/build-script --dry-run --ios --tvos --watchos --lldb --llbuild --swiftpm --release-debuginfo --build-subdir=buildbot_osx --ios --tvos --watchos --test --validation-test --long-test --assertions --no-swift-stdlib-assertions -- --lldb-no-debugserver --lldb-use-system-debugserver --lldb-build-type=Release --verbose-build --build-ninja --build-swift-static-stdlib --build-swift-stdlib-unittest-extra --compiler-vendor=apple '--swift-sdks=OSX;IOS;IOS_SIMULATOR;TVOS;TVOS_SIMULATOR;WATCHOS;WATCHOS_SIMULATOR' --install-swift --install-lldb --install-llbuild --install-swiftpm --install-destdir=/Users/rintaro/git/swift-oss/swift/swift-nightly-install --darwin-install-extract-symbols --install-symroot=/Users/rintaro/git/swift-oss/swift/swift-nightly-symroot --install-prefix=/Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/usr --test-installable-package --reconfigure --installable-package=/Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz --swift-enable-ast-verifier=0 '--swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;license;sourcekit-xpc-service' '--llvm-install-components=libclang;libclang-headers' --installable-package=/Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz --symbols-package=/Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx-symbols.tar.gz --darwin-toolchain-bundle-identifier=local.swift.20160419 '--darwin-toolchain-display-name=Local Swift Development Snapshot 2016-04-19' --darwin-toolchain-name=swift-LOCAL-2016-04-19-a --darwin-toolchain-version=swift-LOCAL-2016-04-19-a --darwin-toolchain-alias=Local
Building the standard library for: swift-stdlib-macosx-x86_64 swift-stdlib-iphonesimulator-i386 swift-stdlib-iphonesimulator-x86_64 swift-stdlib-appletvsimulator-x86_64 swift-stdlib-watchsimulator-i386 swift-stdlib-iphoneos-arm64 swift-stdlib-iphoneos-armv7 swift-stdlib-appletvos-arm64 swift-stdlib-watchos-armv7k
Running Swift tests for: check-swift-all-macosx-x86_64 check-swift-all-iphonesimulator-i386 check-swift-all-iphonesimulator-x86_64 check-swift-all-appletvsimulator-x86_64 check-swift-all-watchsimulator-i386

+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx
cmark: using standard linker
+ rm -rf /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64
+ rm -f /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64/CMakeCache.txt
+ pushd /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64
+ /usr/local/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -DCMAKE_MAKE_PROGRAM=/Users/rintaro/git/swift-oss/build/buildbot_osx/ninja-build/ninja -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo '-DCMAKE_C_FLAGS= -fno-stack-protector' '-DCMAKE_CXX_FLAGS= -fno-stack-protector' -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 /Users/rintaro/git/swift-oss/cmark
+ popd
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64 -- -j4 -v all
llvm: using standard linker
+ rm -rf /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64
+ rm -f /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/CMakeCache.txt
+ pushd /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64
+ /usr/local/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -DCMAKE_MAKE_PROGRAM=/Users/rintaro/git/swift-oss/build/buildbot_osx/ninja-build/ninja '-DCMAKE_C_FLAGS= -fno-stack-protector' '-DCMAKE_CXX_FLAGS= -fno-stack-protector' -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE -DLLVM_TOOL_SWIFT_BUILD:BOOL=NO '-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC' -DLLVM_INCLUDE_TESTS:BOOL=TRUE -LLVM_INCLUDE_DOCS:BOOL=TRUE -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9 -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -DLLVM_HOST_TRIPLE:STRING=x86_64-apple-macosx10.9 -DLLVM_ENABLE_LIBCXX:BOOL=TRUE -DLLVM_TOOL_COMPILER_RT_BUILD:BOOL=TRUE -DCOMPILER_RT_ENABLE_IOS:BOOL=TRUE -DCOMPILER_RT_ENABLE_WATCHOS:BOOL=FALSE -DCOMPILER_RT_ENABLE_TVOS:BOOL=FALSE -DCLANG_VENDOR=Apple -DCLANG_VENDOR_UTI=com.apple.compilers.llvm.clang -DPACKAGE_VERSION=3.8.0 -DCMAKE_INSTALL_PREFIX:PATH=/Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/usr -DINTERNAL_INSTALL_PREFIX=local /Users/rintaro/git/swift-oss/llvm
+ popd
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 -- -j4 -v all
symlinking the system headers (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../../usr/include/c++) into the local clang build directory (/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/include).
+ ln -s -f /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../../usr/include/c++ /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/include
swift: using standard linker
+ rm -rf /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64
+ rm -f /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/CMakeCache.txt
+ pushd /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64
+ /usr/local/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -DCMAKE_MAKE_PROGRAM=/Users/rintaro/git/swift-oss/build/buildbot_osx/ninja-build/ninja '-DCMAKE_C_FLAGS= -fno-stack-protector' '-DCMAKE_CXX_FLAGS= -fno-stack-protector' -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE -DSWIFT_ANALYZE_CODE_COVERAGE:STRING=FALSE -DSWIFT_STDLIB_BUILD_TYPE:STRING=RelWithDebInfo -DSWIFT_STDLIB_ASSERTIONS:BOOL=FALSE -DSWIFT_STDLIB_ENABLE_REFLECTION_METADATA:BOOL=FALSE -DSWIFT_STDLIB_ENABLE_RESILIENCE:BOOL=FALSE -DSWIFT_STDLIB_SIL_SERIALIZE_ALL:BOOL=TRUE -DSWIFT_NATIVE_LLVM_TOOLS_PATH:STRING= -DSWIFT_NATIVE_CLANG_TOOLS_PATH:STRING= -DSWIFT_NATIVE_SWIFT_TOOLS_PATH:STRING= -DSWIFT_BUILD_TOOLS:BOOL=TRUE -DSWIFT_BUILD_STDLIB:BOOL=TRUE -DSWIFT_SERIALIZE_STDLIB_UNITTEST:BOOL=FALSE -DSWIFT_STDLIB_SIL_DEBUGGING:BOOL=FALSE -DSWIFT_BUILD_SDK_OVERLAY:BOOL=TRUE -DSWIFT_BUILD_STATIC_STDLIB:BOOL=TRUE -DSWIFT_BUILD_PERF_TESTSUITE:BOOL=TRUE -DSWIFT_BUILD_EXAMPLES:BOOL=TRUE -DSWIFT_INCLUDE_TESTS:BOOL=TRUE '-DSWIFT_INSTALL_COMPONENTS:STRING=compiler;clang-builtin-headers;stdlib;sdk-overlay;license;sourcekit-xpc-service' -DSWIFT_EMBED_BITCODE_SECTION:BOOL=FALSE -DSWIFT_ENABLE_LTO:BOOL=FALSE -DSWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER:BOOL=TRUE -DSWIFT_DARWIN_DEPLOYMENT_VERSION_OSX=10.9 -DSWIFT_DARWIN_DEPLOYMENT_VERSION_IOS=7.0 -DSWIFT_DARWIN_DEPLOYMENT_VERSION_TVOS=9.0 -DSWIFT_DARWIN_DEPLOYMENT_VERSION_WATCHOS=2.0 -DLLVM_ENABLE_LIBCXX:BOOL=TRUE -DSWIFT_VENDOR=Apple -DSWIFT_VENDOR_UTI=com.apple.compilers.llvm.swift -DSWIFT_VERSION=3.0 -DSWIFT_COMPILER_VERSION= -DDARWIN_TOOLCHAIN_VERSION=swift-LOCAL-2016-04-19-a -DSWIFT_DARWIN_XCRUN_TOOLCHAIN:STRING=default -DSWIFT_AST_VERIFIER:BOOL=FALSE -DSWIFT_SIL_VERIFY_ALL:BOOL=FALSE -DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER:BOOL=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/usr -DLLVM_CONFIG:PATH=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/bin/llvm-config -DSWIFT_PATH_TO_CLANG_SOURCE:PATH=/Users/rintaro/git/swift-oss/llvm/tools/clang -DSWIFT_PATH_TO_CLANG_BUILD:PATH=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 -DSWIFT_PATH_TO_LLVM_SOURCE:PATH=/Users/rintaro/git/swift-oss/llvm -DSWIFT_PATH_TO_LLVM_BUILD:PATH=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 -DSWIFT_PATH_TO_CMARK_SOURCE:PATH=/Users/rintaro/git/swift-oss/cmark -DSWIFT_PATH_TO_CMARK_BUILD:PATH=/Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64 -DSWIFT_CMARK_LIBRARY_DIR:PATH=/Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64/src '-DSWIFT_SDKS:STRING=OSX;IOS;IOS_SIMULATOR;TVOS;TVOS_SIMULATOR;WATCHOS;WATCHOS_SIMULATOR' -DSWIFT_EXEC:STRING=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/bin/swiftc /Users/rintaro/git/swift-oss/swift
+ popd
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- -j4 -v all swift-stdlib-macosx-x86_64 swift-stdlib-iphonesimulator-i386 swift-stdlib-iphonesimulator-x86_64 swift-stdlib-appletvsimulator-x86_64 swift-stdlib-watchsimulator-i386 swift-stdlib-iphoneos-arm64 swift-stdlib-iphoneos-armv7 swift-stdlib-appletvos-arm64 swift-stdlib-watchos-armv7k swift-benchmark-macosx-x86_64 swift-benchmark-iphoneos-arm64 swift-benchmark-iphoneos-armv7 swift-benchmark-appletvos-arm64 swift-benchmark-watchos-armv7k
lldb: using standard linker
+ pushd /Users/rintaro/git/swift-oss/lldb
+ xcodebuild -target desktop -configuration CustomSwift-Release LLDB_PATH_TO_LLVM_SOURCE=/Users/rintaro/git/swift-oss/llvm LLDB_PATH_TO_CLANG_SOURCE=/Users/rintaro/git/swift-oss/llvm/tools/clang LLDB_PATH_TO_SWIFT_SOURCE=/Users/rintaro/git/swift-oss/swift LLDB_PATH_TO_LLVM_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 LLDB_PATH_TO_CLANG_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 LLDB_PATH_TO_SWIFT_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 LLDB_PATH_TO_CMARK_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64 LLDB_IS_BUILDBOT_BUILD=0 'LLDB_BUILD_DATE="2016-04-19"' SYMROOT=/Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64 OBJROOT=/Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64 DEBUGSERVER_DISABLE_CODESIGN=1 DEBUGSERVER_DELETE_AFTER_BUILD=1 DEBUGSERVER_USE_FROM_SYSTEM=1
+ popd
llbuild: using standard linker
+ rm -rf /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64/module-cache
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64
+ rm -f /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64/CMakeCache.txt
+ pushd /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64
+ /usr/local/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -DCMAKE_MAKE_PROGRAM=/Users/rintaro/git/swift-oss/build/buildbot_osx/ninja-build/ninja -DCMAKE_INSTALL_PREFIX:PATH=/Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/usr -DLIT_EXECUTABLE:PATH=/Users/rintaro/git/swift-oss/llvm/utils/lit/lit.py -DFILECHECK_EXECUTABLE:PATH=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/bin/FileCheck -DCMAKE_BUILD_TYPE:STRING=Debug -DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE /Users/rintaro/git/swift-oss/llbuild
+ popd
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64 -- -j4 -v all
swiftpm: using standard linker
+ /Users/rintaro/git/swift-oss/swiftpm/Utilities/bootstrap --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -v --swiftc=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/bin/swiftc --sbt=/Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64/bin/swift-build-tool --build=/Users/rintaro/git/swift-oss/build/buildbot_osx/swiftpm-macosx-x86_64
--- Building tests for cmark ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64 -- -j4 -v api_test
--- Running tests for cmark ---
--- test ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64 -- -j4 -v test
-- test finished --
--- Finished tests for cmark ---
--- Building tests for swift ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- -j4 -v SwiftUnitTests
--- Running tests for swift ---
--- check-swift-all-macosx-x86_64 ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- -j4 -v check-swift-all-macosx-x86_64
-- check-swift-all-macosx-x86_64 finished --
--- check-swift-all-iphonesimulator-i386 ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- -j4 -v check-swift-all-iphonesimulator-i386
-- check-swift-all-iphonesimulator-i386 finished --
--- check-swift-all-iphonesimulator-x86_64 ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- -j4 -v check-swift-all-iphonesimulator-x86_64
-- check-swift-all-iphonesimulator-x86_64 finished --
--- check-swift-all-appletvsimulator-x86_64 ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- -j4 -v check-swift-all-appletvsimulator-x86_64
-- check-swift-all-appletvsimulator-x86_64 finished --
--- check-swift-all-watchsimulator-i386 ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- -j4 -v check-swift-all-watchsimulator-i386
-- check-swift-all-watchsimulator-i386 finished --
--- Finished tests for swift ---
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64/test-results
+ pushd /Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64/test-results
+ env SWIFTCC=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/bin/swiftc SWIFTLIBS=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/lib/swift /Users/rintaro/git/swift-oss/lldb/test/dotest.py --executable /Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64/CustomSwift-Release/lldb --rerun-all-issues -C /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/bin/clang --results-formatter lldbsuite.test.xunit_formatter.XunitFormatter --results-file /Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64/test-results/results.xml -O--xpass=ignore
+ popd
--- Running tests for llbuild ---
--- test ---
+ /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64 -- -j4 -v test
-- test finished --
--- Finished tests for llbuild ---
--- Running tests for swiftpm ---
+ /Users/rintaro/git/swift-oss/swiftpm/Utilities/bootstrap --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -v --swiftc=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/bin/swiftc --sbt=/Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64/bin/swift-build-tool --build=/Users/rintaro/git/swift-oss/build/buildbot_osx/swiftpm-macosx-x86_64 test
--- Installing llvm ---
+ env DESTDIR=/Users/rintaro/git/swift-oss/swift/swift-nightly-install /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 -- install-libclang install-libclang-headers
--- Installing swift ---
+ env DESTDIR=/Users/rintaro/git/swift-oss/swift/swift-nightly-install /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 -- install
+ pushd /Users/rintaro/git/swift-oss/lldb
+ xcodebuild -target toolchain -configuration CustomSwift-Release install LLDB_PATH_TO_LLVM_SOURCE=/Users/rintaro/git/swift-oss/llvm LLDB_PATH_TO_CLANG_SOURCE=/Users/rintaro/git/swift-oss/llvm/tools/clang LLDB_PATH_TO_SWIFT_SOURCE=/Users/rintaro/git/swift-oss/swift LLDB_PATH_TO_LLVM_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 LLDB_PATH_TO_CLANG_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64 LLDB_PATH_TO_SWIFT_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64 LLDB_PATH_TO_CMARK_BUILD=/Users/rintaro/git/swift-oss/build/buildbot_osx/cmark-macosx-x86_64 LLDB_IS_BUILDBOT_BUILD=0 'LLDB_BUILD_DATE="2016-04-19"' SYMROOT=/Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64 OBJROOT=/Users/rintaro/git/swift-oss/build/buildbot_osx/lldb-macosx-x86_64 DEBUGSERVER_DISABLE_CODESIGN=1 DEBUGSERVER_DELETE_AFTER_BUILD=1 DEBUGSERVER_USE_FROM_SYSTEM=1 DSTROOT=/Users/rintaro/git/swift-oss/swift/swift-nightly-install LLDB_TOOLCHAIN_PREFIX=/Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain
+ popd
--- Installing llbuild ---
+ env DESTDIR=/Users/rintaro/git/swift-oss/swift/swift-nightly-install /usr/local/bin/cmake --build /Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64 -- install-swift-build-tool
--- Installing swiftpm ---
+ /Users/rintaro/git/swift-oss/swiftpm/Utilities/bootstrap --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -v --swiftc=/Users/rintaro/git/swift-oss/build/buildbot_osx/swift-macosx-x86_64/bin/swiftc --sbt=/Users/rintaro/git/swift-oss/build/buildbot_osx/llbuild-macosx-x86_64/bin/swift-build-tool --build=/Users/rintaro/git/swift-oss/build/buildbot_osx/swiftpm-macosx-x86_64 --prefix=/Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/usr install
--- Extracting symbols ---
+ darwin_install_extract_symbols
--- Creating installable package ---
-- Package file: /Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz --
-- Create Info.plist --
-- Removing: /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ rm -f /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ /usr/libexec/PlistBuddy -c 'Add DisplayName string '"'"'Local Swift Development Snapshot 2016-04-19'"'"'' /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ /usr/libexec/PlistBuddy -c 'Add Version string '"'"'swift-LOCAL-2016-04-19-a'"'"'' /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ /usr/libexec/PlistBuddy -c 'Add CFBundleIdentifier string '"'"'local.swift.20160419'"'"'' /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ /usr/libexec/PlistBuddy -c 'Add ReportProblemURL string '"'"'https://bugs.swift.org/'"'"'' /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ /usr/libexec/PlistBuddy -c 'Add Aliases array' /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ /usr/libexec/PlistBuddy -c 'Add Aliases:0 string '"'"'Local'"'"'' /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ chmod a+r /Users/rintaro/git/swift-oss/swift/swift-nightly-install//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain/Info.plist
+ pushd /Users/rintaro/git/swift-oss/swift/swift-nightly-install
+ tar -c -z -f /Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain
+ popd
-- Test Installable Package --
+ rm -rf /Users/rintaro/git/swift-oss/build/buildbot_osx/none-swift_package_sandbox
+ mkdir -p /Users/rintaro/git/swift-oss/build/buildbot_osx/none-swift_package_sandbox//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain
+ pushd /Users/rintaro/git/swift-oss/build/buildbot_osx/none-swift_package_sandbox
+ tar xzf /Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz
+ popd
+ pushd /Users/rintaro/git/swift-oss/swift-integration-tests
+ python /Users/rintaro/git/swift-oss/llvm/utils/lit/lit.py . -sv --param package-path=/Users/rintaro/git/swift-oss/build/buildbot_osx/none-swift_package_sandbox//Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain --param filecheck=/Users/rintaro/git/swift-oss/build/buildbot_osx/llvm-macosx-x86_64/bin/FileCheck
+ popd
--- Creating symbols package ---
-- Package file: /Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx-symbols.tar.gz --
+ pushd /Users/rintaro/git/swift-oss/swift/swift-nightly-symroot
+ tar -c -z -f /Users/rintaro/git/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx-symbols.tar.gz Library/Developer/Toolchains/swift-LOCAL-2016-04-19-a.xctoolchain
+ popd

Linux

./utils/build-script: using preset 'buildbot_linux', which expands to ./utils/build-script --dry-run --assertions --no-swift-stdlib-assertions --llbuild --swiftpm --xctest --build-subdir=buildbot_linux --lldb --release --test --validation-test --long-test --foundation -- --swift-enable-ast-verifier=0 --install-swift --install-lldb --install-llbuild --install-swiftpm --install-xctest --install-prefix=/usr '--swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;sdk-overlay;license' --build-swift-static-stdlib --build-swift-stdlib-unittest-extra --skip-test-lldb --test-installable-package --install-destdir=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install --installable-package=/home/rintaro/Documents/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz --install-foundation --reconfigure
Building the standard library for: swift-stdlib-linux-x86_64
Running Swift tests for: check-swift-all-linux-x86_64

+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux
cmark: using standard linker
+ rm -rf /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64
+ rm -f /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64/CMakeCache.txt
+ pushd /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64
+ /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++ -DCMAKE_BUILD_TYPE:STRING=Release /home/rintaro/Documents/swift-oss/cmark
+ popd
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64 -- -j8 all
llvm: using standard linker
+ rm -rf /home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64
+ rm -f /home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/CMakeCache.txt
+ pushd /home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64
+ /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++ '-DCMAKE_C_FLAGS= -fno-stack-protector' '-DCMAKE_CXX_FLAGS= -fno-stack-protector' -DCMAKE_BUILD_TYPE:STRING=Release -DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE -DLLVM_TOOL_SWIFT_BUILD:BOOL=NO '-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC' -DLLVM_INCLUDE_TESTS:BOOL=TRUE -LLVM_INCLUDE_DOCS:BOOL=TRUE -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINTERNAL_INSTALL_PREFIX=local /home/rintaro/Documents/swift-oss/llvm
+ popd
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64 -- -j8 all
symlinking the system headers (/usr/include/c++) into the local clang build directory (/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/include).
+ ln -s -f /usr/include/c++ /home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/include
swift: using standard linker
+ rm -rf /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64
+ rm -f /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/CMakeCache.txt
+ pushd /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64
+ /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++ '-DCMAKE_C_FLAGS= -fno-stack-protector' '-DCMAKE_CXX_FLAGS= -fno-stack-protector' -DCMAKE_BUILD_TYPE:STRING=Release -DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE -DSWIFT_ANALYZE_CODE_COVERAGE:STRING=FALSE -DSWIFT_STDLIB_BUILD_TYPE:STRING=Release -DSWIFT_STDLIB_ASSERTIONS:BOOL=FALSE -DSWIFT_STDLIB_ENABLE_REFLECTION_METADATA:BOOL=FALSE -DSWIFT_STDLIB_ENABLE_RESILIENCE:BOOL=FALSE -DSWIFT_STDLIB_SIL_SERIALIZE_ALL:BOOL=TRUE -DSWIFT_NATIVE_LLVM_TOOLS_PATH:STRING= -DSWIFT_NATIVE_CLANG_TOOLS_PATH:STRING= -DSWIFT_NATIVE_SWIFT_TOOLS_PATH:STRING= -DSWIFT_BUILD_TOOLS:BOOL=TRUE -DSWIFT_BUILD_STDLIB:BOOL=TRUE -DSWIFT_SERIALIZE_STDLIB_UNITTEST:BOOL=FALSE -DSWIFT_STDLIB_SIL_DEBUGGING:BOOL=FALSE -DSWIFT_BUILD_SDK_OVERLAY:BOOL=TRUE -DSWIFT_BUILD_STATIC_STDLIB:BOOL=TRUE -DSWIFT_BUILD_PERF_TESTSUITE:BOOL=TRUE -DSWIFT_BUILD_EXAMPLES:BOOL=TRUE -DSWIFT_INCLUDE_TESTS:BOOL=TRUE '-DSWIFT_INSTALL_COMPONENTS:STRING=autolink-driver;compiler;clang-builtin-headers;stdlib;sdk-overlay;license' -DSWIFT_EMBED_BITCODE_SECTION:BOOL=FALSE -DSWIFT_ENABLE_LTO:BOOL=FALSE -DSWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER:BOOL=TRUE -DSWIFT_DARWIN_XCRUN_TOOLCHAIN:STRING=default -DSWIFT_AST_VERIFIER:BOOL=FALSE -DSWIFT_SIL_VERIFY_ALL:BOOL=FALSE -DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER:BOOL=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLLVM_CONFIG:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/bin/llvm-config -DSWIFT_PATH_TO_CLANG_SOURCE:PATH=/home/rintaro/Documents/swift-oss/llvm/tools/clang -DSWIFT_PATH_TO_CLANG_BUILD:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64 -DSWIFT_PATH_TO_LLVM_SOURCE:PATH=/home/rintaro/Documents/swift-oss/llvm -DSWIFT_PATH_TO_LLVM_BUILD:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64 -DSWIFT_PATH_TO_CMARK_SOURCE:PATH=/home/rintaro/Documents/swift-oss/cmark -DSWIFT_PATH_TO_CMARK_BUILD:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64 -DSWIFT_CMARK_LIBRARY_DIR:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64/src -DSWIFT_EXEC:STRING=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-macosx-x86_64/bin/swiftc /home/rintaro/Documents/swift-oss/swift
+ popd
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64 -- -j8 all swift-stdlib-linux-x86_64
lldb: using standard linker
+ rm -rf /home/rintaro/Documents/swift-oss/build/buildbot_linux/lldb-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/lldb-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/lldb-linux-x86_64
+ rm -f /home/rintaro/Documents/swift-oss/build/buildbot_linux/lldb-linux-x86_64/CMakeCache.txt
+ pushd /home/rintaro/Documents/swift-oss/build/buildbot_linux/lldb-linux-x86_64
+ /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++ -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLLDB_PATH_TO_LLVM_SOURCE:PATH=/home/rintaro/Documents/swift-oss/llvm -DLLDB_PATH_TO_CLANG_SOURCE:PATH=/home/rintaro/Documents/swift-oss/llvm/tools/clang -DLLDB_PATH_TO_SWIFT_SOURCE:PATH=/home/rintaro/Documents/swift-oss/swift -DLLDB_PATH_TO_LLVM_BUILD:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64 -DLLDB_PATH_TO_CLANG_BUILD:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64 -DLLDB_PATH_TO_SWIFT_BUILD:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64 -DLLDB_PATH_TO_CMARK_BUILD:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64 -DLLDB_IS_BUILDBOT_BUILD=0 '-DLLDB_BUILD_DATE:STRING="2016-04-19"' -DLLDB_ALLOW_STATIC_BINDINGS=1 /home/rintaro/Documents/swift-oss/lldb
+ popd
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/lldb-linux-x86_64 -- -j8 all
llbuild: using standard linker
+ rm -rf /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64/module-cache
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64
+ rm -f /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64/CMakeCache.txt
+ pushd /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64
+ /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++ -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLIT_EXECUTABLE:PATH=/home/rintaro/Documents/swift-oss/llvm/utils/lit/lit.py -DFILECHECK_EXECUTABLE:PATH=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/bin/FileCheck -DCMAKE_BUILD_TYPE:STRING=Debug -DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE /home/rintaro/Documents/swift-oss/llbuild
+ popd
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64 -- -j8 all
swiftpm: using standard linker
+ /home/rintaro/Documents/swift-oss/swiftpm/Utilities/bootstrap --swiftc=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swiftc --sbt=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64/bin/swift-build-tool --build=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swiftpm-linux-x86_64 --foundation=/home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64/Foundation --xctest=/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64
foundation: using standard linker
+ pushd /home/rintaro/Documents/swift-oss/swift-corelibs-foundation
+ env SWIFTC=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swiftc CLANG=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/bin/clang SWIFT=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swift SDKROOT=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64 BUILD_DIR=/home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64 DSTROOT=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install PREFIX=/usr ./configure Release -DXCTEST_BUILD_DIR=/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64
+ ninja
+ popd
xctest: using standard linker
+ /home/rintaro/Documents/swift-oss/swift-corelibs-xctest/build_script.py --swiftc=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swiftc --build-dir=/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64 --foundation-build-dir=/home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64/Foundation
--- Building tests for cmark ---
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64 -- -j8 api_test
--- Running tests for cmark ---
--- test ---
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/cmark-linux-x86_64 -- -j8 test
-- test finished --
--- Finished tests for cmark ---
--- Building tests for swift ---
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64 -- -j8 SwiftUnitTests
--- Running tests for swift ---
--- check-swift-all-linux-x86_64 ---
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64 -- -j8 check-swift-all-linux-x86_64
-- check-swift-all-linux-x86_64 finished --
--- Finished tests for swift ---
--- Running tests for llbuild ---
--- test ---
+ /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64 -- -j8 test
-- test finished --
--- Finished tests for llbuild ---
--- Running tests for swiftpm ---
+ /home/rintaro/Documents/swift-oss/swiftpm/Utilities/bootstrap --swiftc=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swiftc --sbt=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64/bin/swift-build-tool --build=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swiftpm-linux-x86_64 --foundation=/home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64/Foundation --xctest=/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64 test
--- Running tests for foundation ---
+ pushd /home/rintaro/Documents/swift-oss/swift-corelibs-foundation
+ ninja TestFoundation
+ env LD_LIBRARY_PATH=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install//usr/lib/swift/:/home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64/Foundation:/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64: /home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64/TestFoundation/TestFoundation
+ popd
--- Finished tests for foundation ---
--- Running tests for xctest ---
+ /home/rintaro/Documents/swift-oss/swift-corelibs-xctest/build_script.py test --swiftc=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swiftc --foundation-build-dir=/home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64/Foundation /home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64
--- Finished tests for xctest ---
--- Installing swift ---
+ env DESTDIR=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64 -- install
--- Installing lldb ---
+ env DESTDIR=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/lldb-linux-x86_64 -- install
--- Installing llbuild ---
+ env DESTDIR=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install /usr/bin/cmake --build /home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64 -- install-swift-build-tool
--- Installing swiftpm ---
+ /home/rintaro/Documents/swift-oss/swiftpm/Utilities/bootstrap --swiftc=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swiftc --sbt=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llbuild-linux-x86_64/bin/swift-build-tool --build=/home/rintaro/Documents/swift-oss/build/buildbot_linux/swiftpm-linux-x86_64 --foundation=/home/rintaro/Documents/swift-oss/build/buildbot_linux/foundation-linux-x86_64/Foundation --xctest=/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64 --prefix=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install//usr install
--- Installing foundation ---
+ pushd /home/rintaro/Documents/swift-oss/swift-corelibs-foundation
+ ninja install
+ popd
--- Installing xctest ---
+ /home/rintaro/Documents/swift-oss/swift-corelibs-xctest/build_script.py install --library-install-path=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install//usr/lib/swift/linux --module-install-path=/home/rintaro/Documents/swift-oss/swift/swift-nightly-install//usr/lib/swift/linux/x86_64 /home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64
--- Creating installable package ---
-- Package file: /home/rintaro/Documents/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz --
+ pushd /home/rintaro/Documents/swift-oss/swift/swift-nightly-install
+ tar -c -z -f /home/rintaro/Documents/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz --owner=0 --group=0 usr
+ popd
-- Test Installable Package --
+ rm -rf /home/rintaro/Documents/swift-oss/build/buildbot_linux/none-swift_package_sandbox
+ mkdir -p /home/rintaro/Documents/swift-oss/build/buildbot_linux/none-swift_package_sandbox
+ pushd /home/rintaro/Documents/swift-oss/build/buildbot_linux/none-swift_package_sandbox
+ tar xzf /home/rintaro/Documents/swift-oss/swift/swift-LOCAL-2016-04-19-a-osx.tar.gz
+ popd
+ pushd /home/rintaro/Documents/swift-oss/swift-integration-tests
+ python /home/rintaro/Documents/swift-oss/llvm/utils/lit/lit.py . -sv --param package-path=/home/rintaro/Documents/swift-oss/build/buildbot_linux/none-swift_package_sandbox --param filecheck=/home/rintaro/Documents/swift-oss/build/buildbot_linux/llvm-linux-x86_64/bin/FileCheck
+ popd
#### Things to consider - `dry-run` mode doesn't invoke actual build command in dry-run mode. i.e. `ninja -n` - To prevent buffering issue, added `.flush()` right after every `print()` in Python code. Currently, because of buffering, `build-script: using preset 'buildbot_linux_1404', which expands to ...` message was [printed at last](https://ci.swift.org/view/Pull%20Request/job/swift-PR-Linux/1180/console#console-section-9). - Because of the nature of shell-script, we can't transparently implement dry-run mode. In `build-script-impl`, we have to use `call` utility function: e.g. `call cmake -G Ninja`. However, I think, this is not necessarily a regression. Since we use `call` for all traced commands, we can easily visually distinguish potentially "dangerous" commands from control flow code. And, as a side effect, `build-script` doesn't emit confusing trace output like:
++ uname -s
+ [[ Linux == \D\a\r\w\i\n ]]
...
++ cmake_config_opt cmark
++ product=cmark
++ [[ Ninja == \X\c\o\d\e ]]

anymore.
And we don't have to write set -x; and { set +x; } 2>/dev/null block manually.

  • As above, this build-script-impl outputs relatively simple clean trace than current one. If it lacks any necessary information, please tell me.

  • call can only support simple command and arguments construct. To support commands that includes pipes(|) or redirects(<, >, >>, etc.), we have to do something special like:

    runscript() {                                                                     
        if [[ "${DRY_RUN}" ]]; then                                                   
            echo "$@"                                                                 
        else                                                                          
            set -x                                                                    
            eval "$@"                                                                 
        fi                                                                            
    }                                                                          
    runscript "find '${DIR}' -name '*.a' | xargs -n 1 strip"
    

    Because we need special care about complicated quoting for this, it's not included in this PR.
    Luckly, we have only one block using pipes.

  • To set environment variables in child process, you need call env FOO=VAL command instead of FOO=VAL command or call FOO=VAL command.

  • To simulate set -x trace as exact as possible, command dump in dry-run mode uses Python pipes.quote(). Since it significantly slows down serialization, please someone tell me better way!
    Moreover, pipes.quote() emits inaccurate result for argument like "foo 'bar'". pipes.quote() emits 'foo '"'"'bar'"'"'', whereas set -x emits 'foo '\''bar'\'''


Before merging this pull request to apple/swift repository:

  • Test pull request on Swift continuous integration.

@gparker42
Copy link
Contributor

This is a useful feature but it looks awfully fragile. It seems like it would decay quickly when changes to build-script or build-script-impl accidentally fail to use the correct dry-run wrappers. Note that the failure mode is especially bad (it runs some random command).

Can this feature wait until after we rewrite build-script in Python? I think it could be more supportable there. We ought to be able to do something in Python to disallow un-wrapped command execution directly, or write a test that uses the Python parser to check for for un-wrapped command execution calls and syntax in build-script itself.

@rintaro
Copy link
Member Author

rintaro commented Apr 19, 2016

@gparker42
I understand what you are worrying about. This change introduces another job in reviewing process.

FWIW, after libdispatch was introduced in 06860a4 on Jan. 21,
There were 80 changes to build-script-impl, and 5 changes that introduced new operations need to be wrapped with "dry-run wrapper":

  • 120ec99 [build-script] Archive symbols in Python
  • 196f8ba libdispatch: also build tests during build phase
  • ac5f7c7 [build-script] Build & test XCTest (on OS X, too)
  • 53f48f8 Hook compiler-rt up to the swift build system
  • 56eb498 Build the Swift runtime using the locally built clang compliler.

@rintaro
Copy link
Member Author

rintaro commented Apr 19, 2016

As for "after migrating to Python",
Dry-run feature in old code is really useful, because without that, it's really hard work to check whether old build-script-impl and new build-script are to execute equivalent config, build, test, install and packaging commands, with various combination of options.

@gparker42
Copy link
Contributor

Good point. --dry-run would also make it easier to write tests of build-script itself, which are desperately needed. I now think this is a good feature to add now, on the condition that the shell script implementation be replaced soon.

@gribozavr
Copy link
Contributor

While I agree this is a useful mode, I have some doubts that we can make it 100% accurate. The assumption is that build commands don't change the state that further build logic inspects and runs different commands depending on what it found.

It could also violate some of the implicit preconditions that we have. For example (not a real example) that after calling mkdir you can cd into the directory.

These might be corner cases in abstract, but it only takes on of them to come up in practice to make a difference between an actual and a simulated run. Do we feel that this mode is useful nevertheless? (An honest question, not implying in any way that it is not.)

@rintaro
Copy link
Member Author

rintaro commented Apr 19, 2016

I have some doubts that we can make it 100% accurate.

In fact, it never can be 100% accurate. For example build-script --dry-run --clean -RT,
doesn't actually clean the build directory, CMakeCache.txt or ninja.build remain in it. So, configure command never reported because of this line.

@gribozavr
Copy link
Contributor

Right, that's a good example. Nevertheless, what do you think about this imprecision? Is the mode still useful despite it?

@rintaro
Copy link
Member Author

rintaro commented Apr 19, 2016

I think I'm not the one to answer that question :)
Because I know how this --dry-run is implemented, and the weakness of it.
Even when I encounter a strange behavior, I can imagine why and what to do to get desired output.
I'm too far from the average user of build-script.

One useful use case I can imagine is...

  1. Edit the code
  2. Build and failed
  3. I don't want to start over whole build process...
  4. Dry-run build-script of 2)
  5. Copy and paste one line from the output, and run.
  6. Success
  7. Start over build-script without -n

@rintaro rintaro force-pushed the build-script-dryrun branch 6 times, most recently from ef46862 to c239802 Compare April 25, 2016 01:25
@rintaro rintaro force-pushed the build-script-dryrun branch 4 times, most recently from ce7a795 to 4c9dc52 Compare May 5, 2016 06:56
@rintaro rintaro force-pushed the build-script-dryrun branch from 4c9dc52 to 483a081 Compare May 12, 2016 13:22
@rintaro rintaro force-pushed the build-script-dryrun branch from 483a081 to 815ac8c Compare May 23, 2016 03:26
@gribozavr
Copy link
Contributor

@rintaro Thank you, your change LGTM. There are conflicts though... and there will be more conflicts with #2685 and #2497. Could you resolve the conflicts after those PRs land?

@rintaro rintaro force-pushed the build-script-dryrun branch from 815ac8c to d5fdeb3 Compare May 26, 2016 08:44
@rintaro
Copy link
Member Author

rintaro commented May 26, 2016

Will rebase again after #2497 land.

@gribozavr
Copy link
Contributor

To get some early feedback:

@swift-ci Please test

@@ -1041,6 +1056,9 @@ details of the setups of other systems or automated environments.""")
print_with_argv0("Unknown operating system.")
return 1

# Set dry_run flag
shell.dry_run = args.dry_run
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part should be reordered.

@gribozavr
Copy link
Contributor

@swift-ci Please test

@gribozavr gribozavr self-assigned this May 27, 2016
@rintaro rintaro force-pushed the build-script-dryrun branch 2 times, most recently from de8f464 to 3785ef3 Compare May 30, 2016 02:25
@gribozavr
Copy link
Contributor

#2497 has landed, could you rebase please?

@rintaro rintaro force-pushed the build-script-dryrun branch from 3785ef3 to fcbc908 Compare May 31, 2016 01:24
@rintaro
Copy link
Member Author

rintaro commented May 31, 2016

Rebased, still testing locally.

@rintaro rintaro force-pushed the build-script-dryrun branch from fcbc908 to cc69cdd Compare May 31, 2016 01:34
@rintaro
Copy link
Member Author

rintaro commented May 31, 2016

Rebased.
We still hitting unrelated package test problem, but Linux seems to be OK.
One more unrelated failure on building Foundation tests when enabled libdispatch:

+ /usr/bin/ninja TestFoundation
[1/1] SwiftExecutable: ../build/buildbot_linux/foundation-linux-x86_64/TestFoundation/TestFoundation
FAILED: mkdir -p `dirname ../build/buildbot_linux/foundation-linux-x86_64/TestFoundation/TestFoundation`; /home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/bin/swiftc -I/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux  -L/home/rintaro/Documents/swift-oss/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux    -I../build/buildbot_linux/foundation-linux-x86_64/Foundation/usr//lib/swift -I../build/buildbot_linux/foundation-linux-x86_64/Foundation -L../build/buildbot_linux/foundation-linux-x86_64/Foundation -I../build/buildbot_linux/foundation-linux-x86_64/Foundation/usr/lib/swift -I/usr/include/libxml2 -I/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64LIBDISPATCH_BUILD_DIR=/home/rintaro/Documents/swift-oss/build/buildbot_linux/libdispatch-linux-x86_64LIBDISPATCH_SOURCE_DIR=/home/rintaro/Documents/swift-oss/swift-corelibs-libdispatch -L/home/rintaro/Documents/swift-oss/build/buildbot_linux/xctest-linux-x86_64LIBDISPATCH_BUILD_DIR=/home/rintaro/Documents/swift-oss/build/buildbot_linux/libdispatch-linux-x86_64LIBDISPATCH_SOURCE_DIR=/home/rintaro/Documents/swift-oss/swift-corelibs-libdispatch -I/usr/include/libxml2 TestFoundation/main.swift TestFoundation/TestNSData.swift TestFoundation/TestNSURLCredential.swift TestFoundation/TestNSCharacterSet.swift TestFoundation/TestNSNotificationQueue.swift TestFoundation/TestNSHTTPCookie.swift TestFoundation/TestNSURL.swift TestFoundation/TestNSDate.swift TestFoundation/TestNSUserDefaults.swift TestFoundation/TestNSTimeZone.swift TestFoundation/TestNSFileHandle.swift TestFoundation/TestNSNumber.swift TestFoundation/TestNSScanner.swift TestFoundation/TestNSRange.swift TestFoundation/TestNSSet.swift TestFoundation/TestNSGeometry.swift TestFoundation/TestNSCalendar.swift TestFoundation/TestNSAttributedString.swift TestFoundation/TestNSPredicate.swift TestFoundation/TestNSKeyedUnarchiver.swift TestFoundation/TestNSDictionary.swift TestFoundation/TestNSIndexPath.swift TestFoundation/TestNSProcessInfo.swift TestFoundation/TestNSOrderedSet.swift TestFoundation/TestNSKeyedArchiver.swift TestFoundation/TestNSJSONSerialization.swift TestFoundation/TestNSTask.swift TestFoundation/TestNSCompoundPredicate.swift TestFoundation/TestNSNumberFormatter.swift TestFoundation/TestNSThread.swift TestFoundation/TestNSPropertyList.swift TestFoundation/TestNSDateFormatter.swift TestFoundation/TestNSBundle.swift TestFoundation/TestNSValue.swift TestFoundation/TestNSPipe.swift TestFoundation/TestNSTimer.swift TestFoundation/TestNSUUID.swift TestFoundation/TestUtils.swift TestFoundation/TestNSArray.swift TestFoundation/TestNSFileManager.swift TestFoundation/TestNSNull.swift TestFoundation/TestNSString.swift TestFoundation/TestNSRegularExpression.swift TestFoundation/TestNSLocale.swift TestFoundation/TestNSByteCountFormatter.swift TestFoundation/TestNSRunLoop.swift TestFoundation/TestNSIndexSet.swift TestFoundation/TestNSNotificationCenter.swift TestFoundation/TestNSURLResponse.swift TestFoundation/TestNSURLRequest.swift TestFoundation/TestNSOperationQueue.swift TestFoundation/TestNSXMLDocument.swift TestFoundation/TestNSXMLParser.swift TestFoundation/TestNSAffineTransform.swift -o ../build/buildbot_linux/foundation-linux-x86_64/TestFoundation/TestFoundation
TestFoundation/TestNSData.swift:12:12: error: no such module 'XCTest'
    import XCTest
           ^
ninja: build stopped: subcommand failed.

This is caused by Foundation build system where concatenating LIBDISPATCH_BUILD_DIR= without space.

Still running Mac toolchain build.
But I think it's ready to CI.

@gribozavr
Copy link
Contributor

@swift-ci Please test

@gribozavr
Copy link
Contributor

@swift-ci Please smoke test

@@ -968,6 +983,9 @@ details of the setups of other systems or automated environments.""")
if '--check-args-only' in args.build_script_impl_args:
return 0

# Set dry_run flag
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment is redundant with the code; I don't think it adds much.

@gribozavr
Copy link
Contributor

The changes LGTM.

@gribozavr
Copy link
Contributor

Hm, Linux tests timed out. Let's try again.

@swift-ci Please smoke test Linux platform

{ set +x; } 2>/dev/null
call pushd "${FOUNDATION_SOURCE_DIR}"
call ${NINJA_BIN} TestFoundation
call env LD_LIBRARY_PATH="$(get_host_install_destdir ${host})$(get_host_install_prefix ${host})"/lib/swift/:"${build_dir}/Foundation":"${XCTEST_BUILD_DIR}":${LD_LIBRARY_PATH} "${build_dir}"/TestFoundation/TestFoundation
Copy link
Member Author

@rintaro rintaro May 31, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, but I don't think test command itself doesn't necessarily expect ${PWD} == ${FOUNDATION_SOURCE_DIR}.
Can I:

with_pushd "${FOUNDATION_SOURCE_DIR}" \
    call ${NINJA_BIN} TestFoundation
call env LD_LIBRARY_PATH=...

Of course I will test it.
Tested, it seems to be OK.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely -- as long as it works. Feel free to do a conservative with_pushd for now.

rintaro added 3 commits May 31, 2016 12:45
… build-script-impl

Abstract `set -x; ... { set +x; }` block.
As a side effect, prevent displaying confusing trace like:
```
++ cmake_config_opt cmark
++ product=cmark
++ [[ Ninja == \X\c\o\d\e ]]
```
If -n or --dry-run is specified in command line arguments, print the commands
that would be executed to stdout, but do not execute them.

Supported in build-script and build-toolchain.

utils/build-script -n -Rt
utils/build-script -n --preset=buildbot_incremental,tools=RA,stdlib=RA
utils/build-toolchain -n local.swift
@rintaro rintaro force-pushed the build-script-dryrun branch from cc69cdd to 552590e Compare May 31, 2016 03:45
@rintaro
Copy link
Member Author

rintaro commented May 31, 2016

Fixed, sorry for wasting CI resource!

@gribozavr
Copy link
Contributor

@swift-ci Please test

@gribozavr
Copy link
Contributor

@swift-ci Please smoke test

@gribozavr gribozavr merged commit 01ad840 into swiftlang:master May 31, 2016
@rintaro rintaro deleted the build-script-dryrun branch June 4, 2016 14:06
MaxDesiatov pushed a commit that referenced this pull request Apr 19, 2021
[pull] swiftwasm from main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants