Files
jellyfin-audio-player/fastlane/Fastfile
2023-04-11 18:34:48 +02:00

146 lines
4.0 KiB
Ruby

default_platform(:ios)
package = load_json(json_path: "package.json")
platform :ios do
before_all do
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: true,
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
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: "1.0+#{build_number}",
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: "1.0+#{build_number}",
app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer',
dist: build_number,
file: 'build/index.ios.bundle',
)
sentry_upload_sourcemap(
version: "1.0+#{build_number}",
app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer',
dist: 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 :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"
)
end
lane :release do
gradle(
task: "bundle",
build_type: 'Release',
project_dir: "android"
)
upload_to_play_store
end
lane :screenshots do
gradle(task: 'clean', project_dir: 'android/')
gradle(
task: 'assemble',
build_type: 'Debug',
project_dir: 'android/',
)
gradle(
task: 'assemble',
build_type: 'AndroidTest',
project_dir: 'android/',
)
capture_android_screenshots(
app_apk_path: "android/app/build/outputs/apk/debug/app-debug.apk",
tests_apk_path: "android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk"
)
end
end