mirror of
https://github.com/xtool-org/xtool.git
synced 2026-02-04 11:53:30 +01:00
69 lines
1.5 KiB
Ruby
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
|