Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 13 additions & 49 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ end

keychain_password = ENV[‘JENKINS_KEYCHAIN_PASSWORD’]
unlock_keychain(path: ‘login.keychain’, password: keychain_password) if is_ci? && keychain_password
appcenter_app_name = ''

#####################
### CONFIGURATION ###
Expand Down Expand Up @@ -93,7 +92,7 @@ lane :alpha_android do

prepareBuild
buildAppAndroid(flavor: 'alpha')
uploadToAppcenterAndroid(flavor: 'alpha') # Deploy the apk to AppCenter.
uploadToFirebase(app: "{appId}", android_path: "build/app/outputs/apk/alpha/release/app-alpha-release.apk")
git_reset
end

Expand All @@ -102,8 +101,7 @@ lane :beta_android do
installFvmVersion

prepareBuild
buildAppAndroid(flavor: 'beta')
uploadToAppcenterAndroid(flavor: 'beta') # Deploy the apk to AppCenter.
uploadToFirebase(app: "{appId}", android_path: "build/app/outputs/apk/beta/release/app-beta-release.apk")
git_reset
end

Expand Down Expand Up @@ -153,12 +151,12 @@ end

private_lane :alpha_ios_build do
buildAppIOSOnly(flavor: 'alpha')
uploadToAppcenterIos(flavor: 'alpha') # Deploy the ipa to AppCenter.
uploadToFirebase(app: "{appId}")
end

private_lane :beta_ios_build do
buildAppIOSOnly(flavor: 'beta')
uploadToAppcenterIos(flavor: 'beta') # Deploy the ipa to AppCenter.
uploadToFirebase(app: "{appid}")
end

private_lane :prod_ios_build do
Expand Down Expand Up @@ -208,8 +206,7 @@ end
private_lane :buildAppIOSOnly do |options|
Dir.chdir ".." do
podRepoUpdate
sh("fvm", "flutter", "build", "ios", "--release", "--flavor", options[:flavor], "-t" "lib/main_#{options[:flavor]}.dart", "--no-codesign", "--obfuscate", "--split-debug-info=./build/debug-info/#{options[:flavor]}", "--build-number=#{BUILD_NR}") # Build the application
convertAppToIpa(flavor: options[:flavor])
sh("fvm", "flutter", "build", "ipa", "--release", "--flavor", options[:flavor], "-t" "lib/main_#{options[:flavor]}.dart", "--no-codesign", "--obfuscate", "--split-debug-info=./build/debug-info/#{options[:flavor]}", "--build-number=#{BUILD_NR}", "--export-options-plist ios/Runner/ExportOptions.plist") # Build the application
end
Dir.chdir "../build" do
zip(
Expand Down Expand Up @@ -246,25 +243,15 @@ private_lane :convertAppToIpa do |options|
end
end

private_lane :uploadToAppcenterAndroid do |options|
getAppNameAndroid(flavor: options[:flavor])
appcenter_upload(
app_name: appcenter_app_name,
apk: "./build/app/outputs/apk/#{options[:flavor]}/release/app-#{options[:flavor]}-release.apk",
notify_testers: true,
destinations: "*"
private_lane :uploadToFirebase do |options|
firebase_app_distribution(
android_artifact_type: "APK",
android_artifact_path: options[:android_path],
app: options[:app],
testers_file: "fastlane/firebase_distribution/testers.txt",
release_notes_file: "fastlane/firebase_distribution/release-notes.txt",
service_credentials_file: "fastlane/firebase_distribution/credentials.json"
)
uploadAndroidSymbols(flavor: options[:flavor])
end

private_lane :uploadToAppcenterIos do |options|
getAppNameIOS(flavor: options[:flavor])
appcenter_upload(
app_name: appcenter_app_name,
notify_testers: true,
destinations: "*"
)
uploadIOSSymbols(flavor: options[:flavor])
end

private_lane :add_tag do
Expand All @@ -275,29 +262,6 @@ private_lane :git_reset do
sh("git", "reset", "--hard")
end

private_lane :getAppNameAndroid do |options|
flavor = options[:flavor]
if flavor == "alpha" &&
appcenter_app_name = "FlutterTemplate-Android-Alpha"
elsif flavor == "beta"
appcenter_app_name = "FlutterTemplate-Android-Beta"
elsif flavor == "prod"
appcenter_app_name = "FlutterTemplate-Android"
end
end


private_lane :getAppNameIOS do |options|
flavor = options[:flavor]
if flavor == "alpha" &&
appcenter_app_name = "FlutterTemplate-iOS-Alpha"
elsif flavor == "beta"
appcenter_app_name = "FlutterTemplate-iOS-Beta"
elsif flavor == "prod"
appcenter_app_name = "FlutterTemplate-iOS"
end
end

private_lane :buildAndDeployToAppStore do |options|
buildIosAppStore options
deployToAppStore options
Expand Down
2 changes: 1 addition & 1 deletion fastlane/Pluginfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
# Ensure this file is checked in to source control!

gem 'fastlane-plugin-install_provisioning_profiles'
gem 'fastlane-plugin-appcenter'
gem 'fastlane-plugin-firebase_app_distribution'
13 changes: 13 additions & 0 deletions fastlane/firebase_distribution/credentials.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"type": "",
"project_id": "",
"private_key_id": "",
"private_key": "",
"client_email": "",
"client_id": "",
"auth_uri": "",
"token_uri": "",
"auth_provider_x509_cert_url": "",
"client_x509_cert_url": "",
"universe_domain": ""
}
Empty file.
Empty file.
41 changes: 41 additions & 0 deletions ios/Runner/ExportOptions.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>ad-hoc</string>

<key>signingStyle</key>
<string>manual</string>

<key>provisioningProfiles</key>
<dict>
<key>com.icapps.fluttertemplate.dev</key>
<string>Flutter Template Debug</string>

<key>com.icapps.fluttertemplate.alpha</key>
<string>Flutter Template Alpha</string>

<key>com.icapps.fluttertemplate.beta</key>
<string>Flutter Template Beta</string>

<key>com.icapps.fluttertemplate</key>
<string>Flutter Template Production</string>
</dict>

<key>teamID</key>
<string>8H93T6Y7F7</string>

<key>stripSwiftSymbols</key>
<true/>

<key>compileBitcode</key>
<false/>

<key>destination</key>
<string>export</string>

<key>thinning</key>
<string>&lt;none&gt;</string>
</dict>
</plist>
1 change: 1 addition & 0 deletions tool/setup/dart/rename_project.dart
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ void _renameiOSBundleIdentifier(String iosBundleIdentifier) {
void _renameAppName(String appName) {
Logger.info('Replace the app name ...');
_replaceInFile('fastlane/Fastfile', originalAppName, appName);
_replaceInFile('ios/Runner/ExportOptions.plist', originalAppName, appName);
Directory('ios/Configuration').listSync(recursive: true).where((element) {
if (element.path.endsWith('.png')) return false;
if (element.path.contains('.DS_Store')) return false;
Expand Down
Loading