Files
xtool-mirror/macOS/fastlane/Fastfile

69 lines
1.5 KiB
Ruby

require_relative "spaceship_patch"
default_platform(:mac)
ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "120"
lane :package do
xcodegen
# Config is controlled via env vars
app_store_connect_api_key(
is_key_content_base64: true,
)
create_keychain(
name: "xtool.keychain",
password: "",
unlock: true,
)
unlock_keychain(
path: "xtool.keychain",
password: "",
)
Tempfile.create(["Identity", ".p12"]) do |file|
file.write(Base64.decode64(ENV["IDENTITY_P12"]))
file.close
import_certificate(
certificate_path: file.path,
keychain_name: "xtool.keychain",
keychain_password: "",
)
end
sigh(
platform: "macos",
output_path: "./Build/Signing",
force: true,
developer_id: true,
)
update_code_signing_settings(
use_automatic_signing: false,
team_id: ENV["DEVELOPMENT_TEAM"],
code_sign_identity: "Developer ID Application",
profile_name: lane_context[SharedValues::SIGH_NAME],
)
gym(
export_method: "developer-id",
output_directory: "./Build/Output",
)
notarize(
package: "./Build/Output/xtool.app",
)
# we need to re-package after notarization and stapling.
# we have to use `ditto --sequesterRsrc` rather than zip
# because the default strategy stores resource forks as
# ._Foo but codesigning doesn't like that, and instead
# wants them in __MACOSX.
sh(
"ditto", "-c", "-k", "--keepParent", "--sequesterRsrc",
"../Build/Output/xtool.app", "../Build/Output/xtool.app.zip",
)
end