162 lines
4.3 KiB
Ruby
162 lines
4.3 KiB
Ruby
default_platform(:ios)
|
|
|
|
package = load_json(json_path: "package.json")
|
|
|
|
platform :ios do
|
|
before_all do
|
|
app_store_connect_api_key(
|
|
key_id: "Z98N7N8ZMW",
|
|
issuer_id: "f0fa1c89-6a9a-4144-bfba-529dfe05f09b",
|
|
key_filepath: "./certificates/AuthKey_Z98N7N8ZMW.p8"
|
|
)
|
|
get_certificates(
|
|
output_path: "certificates/"
|
|
)
|
|
get_provisioning_profile(
|
|
output_path: "certificates/",
|
|
filename: "provisioning.mobileprovision",
|
|
fail_on_name_taken: false,
|
|
)
|
|
update_code_signing_settings(
|
|
use_automatic_signing: false,
|
|
path: "ios/Fintunes.xcodeproj"
|
|
)
|
|
increment_version_number(
|
|
version_number: package["version"],
|
|
xcodeproj: "ios/Fintunes.xcodeproj",
|
|
);
|
|
increment_build_number(
|
|
xcodeproj: "ios/Fintunes.xcodeproj",
|
|
)
|
|
end
|
|
|
|
lane :release do
|
|
build_app(
|
|
scheme: "Fintunes",
|
|
output_directory: "build",
|
|
workspace: "ios/Fintunes.xcworkspace",
|
|
export_method: "app-store",
|
|
)
|
|
upload_to_app_store(
|
|
precheck_include_in_app_purchases: false
|
|
)
|
|
end
|
|
|
|
lane :beta do
|
|
build_app(
|
|
scheme: "Fintunes",
|
|
output_directory: "build",
|
|
workspace: "ios/Fintunes.xcworkspace",
|
|
export_method: "app-store",
|
|
)
|
|
upload_to_testflight()
|
|
end
|
|
|
|
lane :build do
|
|
build_app(
|
|
scheme: "Fintunes",
|
|
output_directory: "build",
|
|
workspace: "ios/Fintunes.xcworkspace",
|
|
export_method: "app-store",
|
|
)
|
|
end
|
|
|
|
after_all do
|
|
build_number = get_build_number(
|
|
xcodeproj: "ios/Fintunes.xcodeproj",
|
|
)
|
|
Dir.chdir("..") do
|
|
sh(
|
|
"npx", "react-native", "bundle",
|
|
"--dev", "false",
|
|
"--platform", "ios",
|
|
"--entry-file", "index.js",
|
|
"--bundle-output", "build/index.ios.bundle",
|
|
"--sourcemap-output", "build/index.ios.bundle.map"
|
|
)
|
|
end
|
|
|
|
sentry_create_release(
|
|
version: package["version"],
|
|
app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer',
|
|
finalize: true
|
|
)
|
|
sentry_upload_dsym(
|
|
dsym_path: "build/Fintunes.app.dSYM.zip",
|
|
info_plist: "ios/Fintunes/Info.plist",
|
|
)
|
|
sentry_upload_file(
|
|
version: package["version"],
|
|
app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer',
|
|
build: build_number,
|
|
file: 'build/index.ios.bundle',
|
|
)
|
|
sentry_upload_sourcemap(
|
|
version: package["version"],
|
|
app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer',
|
|
build: build_number,
|
|
sourcemap: 'build/index.ios.bundle.map',
|
|
rewrite: true
|
|
)
|
|
end
|
|
|
|
lane :screenshots do
|
|
capture_screenshots
|
|
# upload_to_app_store
|
|
end
|
|
end
|
|
|
|
platform :android do
|
|
desc "Generate beta build"
|
|
|
|
lane :build do
|
|
gradle(
|
|
task: "assemble",
|
|
build_type: "Release",
|
|
project_dir: "android"
|
|
)
|
|
end
|
|
|
|
lane :beta do
|
|
android_set_version_name(
|
|
version_name: package["version"],
|
|
gradle_file: "android/app/build.gradle"
|
|
)
|
|
android_set_version_code(
|
|
gradle_file: "android/app/build.gradle"
|
|
)
|
|
gradle(
|
|
task: "assemble",
|
|
build_type: "Release",
|
|
project_dir: "android"
|
|
)
|
|
gradle(
|
|
task: "bundle",
|
|
build_type: "Release",
|
|
project_dir: "android"
|
|
)
|
|
upload_to_play_store(
|
|
track: "beta",
|
|
skip_upload_apk: true
|
|
)
|
|
end
|
|
|
|
lane :release do
|
|
android_set_version_name(
|
|
version_name: package["version"],
|
|
gradle_file: "android/app/build.gradle"
|
|
)
|
|
android_set_version_code(
|
|
gradle_file: "android/app/build.gradle"
|
|
)
|
|
gradle(
|
|
task: "bundle",
|
|
build_type: "Release",
|
|
project_dir: "android"
|
|
)
|
|
upload_to_play_store(
|
|
skip_upload_apk: true
|
|
)
|
|
end
|
|
end
|