Created
December 13, 2015 03:13
-
-
Save norio-nomura/f9d9e42b213c69a26dec to your computer and use it in GitHub Desktop.
Script For Building OSX Installer Package of Swift-2.2-SNAPSHOT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
[ ! -x swift/utils/build-script ] && exit 1 | |
SNAPSHOT_DATE=`date "+%Y-%m-%d"` | |
HASH_LLVM=`(cd llvm;git rev-parse --short HEAD)` | |
HASH_CLANG=`(cd clang;git rev-parse --short HEAD)` | |
HASH_SWIFT=`(cd swift;git rev-parse --short HEAD)` | |
HASH_INFO="LLVM ${HASH_LLVM}, Clang ${HASH_CLANG}, Swift ${HASH_SWIFT}" | |
BUNDLE_IDENTIFIER="io.nor.swift.${SNAPSHOT_DATE}" # "CFBundleIdentifier for xctoolchain info plist" | |
DISPLAY_NAME="Swift 2.2 snapshot (${HASH_INFO})" # "Display Name for xctoolcain info plist" | |
XCTOOLCHAIN_NAME="swift-2.2-SNAPSHOT-${SNAPSHOT_DATE}" # "Directory name for xctoolchain" | |
VERSION="${XCTOOLCHAIN_NAME}" # "Version for xctoolchain info plist and installer pkg" | |
CERT_NAME="Norio Nomura" | |
APPLICATION_CERT="Developer ID Application: ${CERT_NAME}" # "Application Cert name to codesign xctoolchain" | |
INSTALLER_CERT="Developer ID Installer: ${CERT_NAME}" # "Installer Cert name to create installer pkg" | |
INSTALLER_PACKAGE="`pwd`/build/${XCTOOLCHAIN_NAME}.pkg" # "The path to installer pkg" | |
swift/utils/build-script --preset-file=swift/utils/build-presets.ini --preset-file=./my-presets.ini \ | |
--preset=buildbot_osx_package_create_installer \ | |
install_destdir=/tmp/install \ | |
install_symroot=/tmp/symroot \ | |
install_toolchain_dir=/Library/Developer/Toolchains/${XCTOOLCHAIN_NAME}.xctoolchain \ | |
installable_package="`pwd`/build/${XCTOOLCHAIN_NAME}.tar.gz" \ | |
symbols_package="`pwd`/build/symbols-${XCTOOLCHAIN_NAME}.tar.gz" \ | |
darwin_toolchain_bundle_identifier="${BUNDLE_IDENTIFIER}" \ | |
darwin_toolchain_display_name="${DISPLAY_NAME}" \ | |
darwin_toolchain_xctoolchain_name="${XCTOOLCHAIN_NAME}" \ | |
darwin_toolchain_version="${VERSION}" \ | |
darwin_toolchain_application_cert="${APPLICATION_CERT}" \ | |
darwin_toolchain_installer_cert="${INSTALLER_CERT}" \ | |
darwin_toolchain_installer_package="${INSTALLER_PACKAGE}" \ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[preset: buildbot_osx_package_create_installer] | |
mixin-preset= | |
mixin_osx_package_base | |
mixin_osx_package_test | |
mixin_lightweight_assertions | |
dash-dash | |
swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;sourcekit-xpc-service | |
llvm-install-components=libclang;clang-headers | |
# Path to the .tar.gz package we would create. | |
installable-package=%(installable_package)s | |
# Path to the .tar.gz symbols package | |
symbols-package=%(symbols_package)s | |
# Info.plist | |
darwin-toolchain-bundle-identifier=%(darwin_toolchain_bundle_identifier)s | |
darwin-toolchain-display-name=%(darwin_toolchain_display_name)s | |
darwin-toolchain-name=%(darwin_toolchain_xctoolchain_name)s | |
darwin-toolchain-version=%(darwin_toolchain_version)s | |
# Build .pkg | |
darwin-toolchain-application-cert=%(darwin_toolchain_application_cert)s | |
darwin-toolchain-installer-cert=%(darwin_toolchain_installer_cert)s | |
darwin-toolchain-installer-package=%(darwin_toolchain_installer_package)s |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
➜ 6:55:08 ./build-package.sh | |
swift/utils/build-script: using preset 'buildbot_osx_package_create_installer', which expands to swift/utils/build-script --ios --tvos --watchos --lldb --llbuild --swiftpm --release-debuginfo --build-subdir=buildbot_osx --ios --tvos --watchos --test --validation-test --assertions -- --lldb-no-debugserver --lldb-build-type=Release --verbose-build=1 --build-ninja --build-swift-static-stdlib=1 --compiler-vendor=apple '--swift-sdks=OSX;IOS;IOS_SIMULATOR;TVOS;TVOS_SIMULATOR;WATCHOS;WATCHOS_SIMULATOR' --install-swift=1 --install-lldb=1 --install-llbuild=1 --install-swiftpm=1 --install-destdir=/tmp/install --darwin-install-extract-symbols=1 --install-symroot=/tmp/symroot --install-prefix=/Library/Developer/Toolchains/swift-2.2-SNAPSHOT-2015-12-13.xctoolchain/usr --reconfigure --skip-test-lldb --installable-package=/Users/norio/Documents/workspace/github/Apple/build/swift-2.2-SNAPSHOT-2015-12-13.tar.gz --swift-enable-ast-verifier=0 '--swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;sourcekit-xpc-service' '--llvm-install-components=libclang;clang-headers' --installable-package=/Users/norio/Documents/workspace/github/Apple/build/swift-2.2-SNAPSHOT-2015-12-13.tar.gz --symbols-package=/Users/norio/Documents/workspace/github/Apple/build/symbols-swift-2.2-SNAPSHOT-2015-12-13.tar.gz --darwin-toolchain-bundle-identifier=io.nor.swift.2015-12-13 '--darwin-toolchain-display-name=Swift 2.2 snapshot (LLVM 7bae82d, Clang 53d04af, Swift 5995ef2)' --darwin-toolchain-name=swift-2.2-SNAPSHOT-2015-12-13 --darwin-toolchain-version=swift-2.2-SNAPSHOT-2015-12-13 '--darwin-toolchain-application-cert=Developer ID Application: Norio Nomura' '--darwin-toolchain-installer-cert=Developer ID Installer: Norio Nomura' --darwin-toolchain-installer-package=/Users/norio/Documents/workspace/github/Apple/build/swift-2.2-SNAPSHOT-2015-12-13.pkg | |
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 | |
… | |
--- Creating installable package --- | |
-- Package file: /Users/norio/Documents/workspace/github/Apple/build/swift-2.2-SNAPSHOT-2015-12-13.tar.gz -- | |
--- Copy swift-stdlib-tool --- | |
-- Create Info.plist -- | |
-- Removing: /tmp/install//Library/Developer/Toolchains/swift-2.2-SNAPSHOT-2015-12-13.xctoolchain/Info.plist | |
File Doesn't Exist, Will Create: /tmp/install//Library/Developer/Toolchains/swift-2.2-SNAPSHOT-2015-12-13.xctoolchain/Info.plist | |
-- Codesign xctoolchain -- | |
-- Create Installer -- | |
pkgbuild: Inferring bundle components from contents of /tmp/install//Library/Developer/Toolchains/swift-2.2-SNAPSHOT-2015-12-13.xctoolchain | |
pkgbuild: Adding component at System/Library/PrivateFrameworks/LLDB.framework | |
pkgbuild: Adding component at usr/lib/sourcekitd.framework/Versions/A/XPCServices/SourceKitService.xpc | |
pkgbuild: Adding component at usr/lib/sourcekitd.framework | |
pkgbuild: Adding top-level postinstall script | |
pkgbuild: Using timestamp authority for signature | |
pkgbuild: Signing package with identity "Developer ID Installer: Norio Nomura" from keychain /Users/norio/Library/Keychains/login.keychain | |
pkgbuild: Adding certificate "Developer ID Certification Authority" | |
pkgbuild: Adding certificate "Apple Root CA" | |
pkgbuild: Wrote package to /Users/norio/Documents/workspace/github/Apple/build/swift-2.2-SNAPSHOT-2015-12-13.pkg | |
--- Creating symbols package --- | |
-- Package file: /Users/norio/Documents/workspace/github/Apple/build/symbols-swift-2.2-SNAPSHOT-2015-12-13.tar.gz -- | |
➜ 12:08:44 sudo installer -pkg build/swift-2.2-SNAPSHOT-2015-12-13.pkg -target / | |
Password: | |
installer: Package name is swift-2.2-SNAPSHOT-2015-12-13 | |
installer: Upgrading at base path / | |
installer: The upgrade was successful. | |
➜ 12:09:17 pkgutil --pkg-info io.nor.swift.2015-12-13 | |
package-id: io.nor.swift.2015-12-13 | |
version: swift-2.2-SNAPSHOT-2015-12-13 | |
volume: / | |
location: Library/Developer/Toolchains/swift-2.2-SNAPSHOT-2015-12-13.xctoolchain | |
install-time: 1449976156 | |
➜ 12:09:36 /Library/Developer/Toolchains/swift-2.2-SNAPSHOT-2015-12-13.xctoolchain/usr/bin/swift --version | |
Apple Swift version 2.2-dev (LLVM 7bae82deaa, Clang 53d04af5ce, Swift 5995ef2acd) | |
Target: x86_64-apple-macosx10.9 | |
➜ 12:10:00 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment