Create a publish flavor dedicated for public releases
This commit is contained in:
		@@ -118,6 +118,7 @@ steps:
 | 
				
			|||||||
  - dart run build_runner build
 | 
					  - dart run build_runner build
 | 
				
			||||||
  - flutter build apk
 | 
					  - flutter build apk
 | 
				
			||||||
    --release
 | 
					    --release
 | 
				
			||||||
 | 
					    --flavor publish
 | 
				
			||||||
    --build-name $(git describe --tags --abbrev=0) 
 | 
					    --build-name $(git describe --tags --abbrev=0) 
 | 
				
			||||||
    --target-platform android-arm64 
 | 
					    --target-platform android-arm64 
 | 
				
			||||||
    --build-number $(git rev-list --count $(git describe --tags --abbrev=0))
 | 
					    --build-number $(git rev-list --count $(git describe --tags --abbrev=0))
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								moneymgr_mobile/android/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								moneymgr_mobile/android/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
				
			|||||||
 | 
					publish_key.properties
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gradle-wrapper.jar
 | 
					gradle-wrapper.jar
 | 
				
			||||||
/.gradle
 | 
					/.gradle
 | 
				
			||||||
/captures/
 | 
					/captures/
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								moneymgr_mobile/android/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								moneymgr_mobile/android/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					# Android version of application
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Generate keystore:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					keytool -genkey -v -keystore ./keystore.jks -keyalg RSA \
 | 
				
			||||||
 | 
					        -keysize 2048 -validity 20000 -alias moneymgr
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@@ -1,3 +1,6 @@
 | 
				
			|||||||
 | 
					import java.util.Properties
 | 
				
			||||||
 | 
					import java.io.FileInputStream
 | 
				
			||||||
 | 
					
 | 
				
			||||||
plugins {
 | 
					plugins {
 | 
				
			||||||
    id("com.android.application")
 | 
					    id("com.android.application")
 | 
				
			||||||
    id("kotlin-android")
 | 
					    id("kotlin-android")
 | 
				
			||||||
@@ -5,6 +8,12 @@ plugins {
 | 
				
			|||||||
    id("dev.flutter.flutter-gradle-plugin")
 | 
					    id("dev.flutter.flutter-gradle-plugin")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					val keystoreProperties = Properties()
 | 
				
			||||||
 | 
					val keystorePropertiesFile = rootProject.file("publish_key.properties")
 | 
				
			||||||
 | 
					if (keystorePropertiesFile.exists()) {
 | 
				
			||||||
 | 
					    keystoreProperties.load(FileInputStream(keystorePropertiesFile))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
android {
 | 
					android {
 | 
				
			||||||
    namespace = "org.communiquons.moneymgr"
 | 
					    namespace = "org.communiquons.moneymgr"
 | 
				
			||||||
    compileSdk = flutter.compileSdkVersion
 | 
					    compileSdk = flutter.compileSdkVersion
 | 
				
			||||||
@@ -21,7 +30,6 @@ android {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    defaultConfig {
 | 
					    defaultConfig {
 | 
				
			||||||
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
 | 
					 | 
				
			||||||
        applicationId = "org.communiquons.moneymgr"
 | 
					        applicationId = "org.communiquons.moneymgr"
 | 
				
			||||||
        // You can update the following values to match your application needs.
 | 
					        // You can update the following values to match your application needs.
 | 
				
			||||||
        // For more information, see: https://flutter.dev/to/review-gradle-config.
 | 
					        // For more information, see: https://flutter.dev/to/review-gradle-config.
 | 
				
			||||||
@@ -31,17 +39,33 @@ android {
 | 
				
			|||||||
        versionName = flutter.versionName
 | 
					        versionName = flutter.versionName
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    buildTypes {
 | 
					    signingConfigs {
 | 
				
			||||||
        debug {
 | 
					        create("publish") {
 | 
				
			||||||
            applicationIdSuffix = ".debug"
 | 
					            keyAlias = keystoreProperties["keyAlias"] as String
 | 
				
			||||||
 | 
					            keyPassword = keystoreProperties["keyPassword"] as String
 | 
				
			||||||
 | 
					            storeFile = keystoreProperties["storeFile"]?.let { file(it) }
 | 
				
			||||||
 | 
					            storePassword = keystoreProperties["storePassword"] as String
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    buildTypes {
 | 
				
			||||||
        release {
 | 
					        release {
 | 
				
			||||||
            // TODO: Add your own signing config for the release build.
 | 
					 | 
				
			||||||
            // Signing with the debug keys for now, so `flutter run --release` works.
 | 
					 | 
				
			||||||
            signingConfig = signingConfigs.getByName("debug")
 | 
					            signingConfig = signingConfigs.getByName("debug")
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    flavorDimensions += "default"
 | 
				
			||||||
 | 
					    productFlavors {
 | 
				
			||||||
 | 
					        create("development") {
 | 
				
			||||||
 | 
					            dimension = "default"
 | 
				
			||||||
 | 
					            applicationIdSuffix = ".debug"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        create("publish") {
 | 
				
			||||||
 | 
					            dimension = "default"
 | 
				
			||||||
 | 
					            signingConfig = signingConfigs.getByName("publish")
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
flutter {
 | 
					flutter {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								moneymgr_mobile/android/publish_key.sample
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								moneymgr_mobile/android/publish_key.sample
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					storePassword=<password-from-previous-step>
 | 
				
			||||||
 | 
					keyPassword=<password-from-previous-step>
 | 
				
			||||||
 | 
					keyAlias=upload
 | 
				
			||||||
 | 
					storeFile=<keystore-file-location>
 | 
				
			||||||
@@ -127,6 +127,9 @@ dev_dependencies:
 | 
				
			|||||||
# The following section is specific to Flutter packages.
 | 
					# The following section is specific to Flutter packages.
 | 
				
			||||||
flutter:
 | 
					flutter:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Default Android flavor
 | 
				
			||||||
 | 
					  default-flavor: development
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # The following line ensures that the Material Icons font is
 | 
					  # The following line ensures that the Material Icons font is
 | 
				
			||||||
  # included with your application, so that you can use the icons in
 | 
					  # included with your application, so that you can use the icons in
 | 
				
			||||||
  # the material Icons class.
 | 
					  # the material Icons class.
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user