Files
2025-01-29 12:29:35 +01:00

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