build: Allow building release artifacts in-tree
This change avoids all need for changing any file under VCS to insert signing keys and configs for release builds. Example contents of keystore.properties ``` // Location of keystore, relative to module build.gradle, // in this case, of the app module storeFile=../wireguard.jks storePassword=b3ty0uc4nth4xxth1s keyAlias=wireguard keyPassword=4ndr01dsux ``` Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
		
							parent
							
								
									d8d6e99df1
								
							
						
					
					
						commit
						0496b94aa8
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -13,3 +13,5 @@ build/ | ||||
| *.class | ||||
| *.dex | ||||
| *.iml | ||||
| *.jks | ||||
| keystore.properties | ||||
|  | ||||
| @ -1,5 +1,9 @@ | ||||
| apply plugin: 'com.android.application' | ||||
| 
 | ||||
| // Create a variable called keystorePropertiesFile, and initialize it to your | ||||
| // keystore.properties file, in the rootProject folder. | ||||
| final def keystorePropertiesFile = rootProject.file("keystore.properties") | ||||
| 
 | ||||
| android { | ||||
|     buildToolsVersion '27.0.3' | ||||
|     compileOptions { | ||||
| @ -17,6 +21,28 @@ android { | ||||
|         versionCode 422 | ||||
|         versionName '0.0.20180605' | ||||
|     } | ||||
|     // If the keystore file exists | ||||
|     if (keystorePropertiesFile.exists()) { | ||||
|         // Initialize a new Properties() object called keystoreProperties. | ||||
|         final def keystoreProperties = new Properties() | ||||
| 
 | ||||
|         // Load your keystore.properties file into the keystoreProperties object. | ||||
|         keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) | ||||
| 
 | ||||
|         signingConfigs { | ||||
|             release { | ||||
|                 keyAlias keystoreProperties['keyAlias'] | ||||
|                 keyPassword keystoreProperties['keyPassword'] | ||||
|                 storeFile file(keystoreProperties['storeFile']) | ||||
|                 storePassword keystoreProperties['storePassword'] | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     buildTypes { | ||||
|         release { | ||||
|             if (keystorePropertiesFile.exists()) signingConfig signingConfigs.release | ||||
|         } | ||||
|     } | ||||
|     externalNativeBuild { | ||||
|         cmake { | ||||
|             path 'tools/CMakeLists.txt' | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user