| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  | apply plugin: 'com.android.application' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | android { | 
					
						
							| 
									
										
										
										
											2017-09-28 19:06:41 -07:00
										 |  |  |     compileSdkVersion 26 | 
					
						
							| 
									
										
										
										
											2018-03-28 16:38:22 -04:00
										 |  |  |     buildToolsVersion '27.0.3' | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-17 16:52:19 +01:00
										 |  |  |     compileOptions { | 
					
						
							|  |  |  |         sourceCompatibility JavaVersion.VERSION_1_8 | 
					
						
							|  |  |  |         targetCompatibility JavaVersion.VERSION_1_8 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  |     lintOptions { | 
					
						
							|  |  |  |         // This is important as it will run lint but not abort on error
 | 
					
						
							|  |  |  |         // Lint has some overly obnoxious "errors" that should really be warnings
 | 
					
						
							|  |  |  |         abortOnError false | 
					
						
							| 
									
										
										
										
											2016-07-20 22:28:39 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         //Uncomment disable lines for test builds...
 | 
					
						
							| 
									
										
										
										
											2016-07-21 19:26:09 -05:00
										 |  |  |         //disable 'MissingTranslation'
 | 
					
						
							|  |  |  |         //disable 'ExtraTranslation'
 | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     defaultConfig { | 
					
						
							| 
									
										
										
										
											2015-06-16 15:42:11 -04:00
										 |  |  |         // TODO If this is ever modified, change application_id in strings.xml
 | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  |         applicationId "org.dolphinemu.dolphinemu" | 
					
						
							| 
									
										
										
										
											2015-06-02 10:30:21 -04:00
										 |  |  |         minSdkVersion 21 | 
					
						
							| 
									
										
										
										
											2017-03-24 21:21:29 +01:00
										 |  |  |         targetSdkVersion 25 | 
					
						
							| 
									
										
										
										
											2015-06-08 18:07:26 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-16 19:55:37 +01:00
										 |  |  |         versionCode(getBuildVersionCode()) | 
					
						
							| 
									
										
										
										
											2015-06-08 18:07:26 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-20 20:48:07 +11:00
										 |  |  |         versionName "${getVersion()}" | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     signingConfigs { | 
					
						
							|  |  |  |         release { | 
					
						
							|  |  |  |             if (project.hasProperty('keystore')) { | 
					
						
							|  |  |  |                 storeFile file(project.property('keystore')) | 
					
						
							|  |  |  |                 storePassword project.property('storepass') | 
					
						
							|  |  |  |                 keyAlias project.property('keyalias') | 
					
						
							|  |  |  |                 keyPassword project.property('keypass') | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-13 22:45:12 -04:00
										 |  |  |     // Define build types, which are orthogonal to product flavors.
 | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  |     buildTypes { | 
					
						
							|  |  |  |         // Signed by release key, allowing for upload to Play Store.
 | 
					
						
							|  |  |  |         release { | 
					
						
							|  |  |  |             signingConfig signingConfigs.release | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // Signed by debug key disallowing distribution on Play Store.
 | 
					
						
							|  |  |  |         // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build.
 | 
					
						
							|  |  |  |         debug { | 
					
						
							| 
									
										
										
										
											2015-06-16 15:42:11 -04:00
										 |  |  |             // TODO If this is ever modified, change application_id in debug/strings.xml
 | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  |             applicationIdSuffix ".debug" | 
					
						
							|  |  |  |             versionNameSuffix '-debug' | 
					
						
							|  |  |  |             jniDebuggable true | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-05-13 22:45:12 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 19:49:46 +02:00
										 |  |  |     externalNativeBuild { | 
					
						
							|  |  |  |         cmake { | 
					
						
							|  |  |  |             path "../../../CMakeLists.txt" | 
					
						
							| 
									
										
										
										
											2015-05-13 22:45:12 -04:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2016-06-08 19:49:46 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-05-13 22:45:12 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 19:49:46 +02:00
										 |  |  |     defaultConfig { | 
					
						
							|  |  |  |         externalNativeBuild { | 
					
						
							|  |  |  |             cmake { | 
					
						
							| 
									
										
										
										
											2017-01-24 01:37:34 +01:00
										 |  |  |                 arguments "-DANDROID_STL=c++_static", "-DCMAKE_BUILD_TYPE=RelWithDebInfo" // , "-DENABLE_GENERIC=ON"
 | 
					
						
							| 
									
										
										
										
											2017-04-15 16:23:48 +02:00
										 |  |  |                 abiFilters "arm64-v8a", "x86_64" //, "armeabi-v7a", "x86"
 | 
					
						
							| 
									
										
										
										
											2015-05-13 22:45:12 -04:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-05-22 17:13:25 -04:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-05-13 22:45:12 -04:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-20 20:48:07 +11:00
										 |  |  | ext { | 
					
						
							| 
									
										
										
										
											2017-09-28 19:06:41 -07:00
										 |  |  |     androidSupportVersion = '26.1.0' | 
					
						
							| 
									
										
										
										
											2017-03-20 20:48:07 +11:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-30 18:15:10 -04:00
										 |  |  | dependencies { | 
					
						
							| 
									
										
										
										
											2018-01-12 18:45:37 +01:00
										 |  |  |     implementation "com.android.support:support-v13:$androidSupportVersion" | 
					
						
							|  |  |  |     implementation "com.android.support:cardview-v7:$androidSupportVersion" | 
					
						
							|  |  |  |     implementation "com.android.support:recyclerview-v7:$androidSupportVersion" | 
					
						
							|  |  |  |     implementation "com.android.support:design:$androidSupportVersion" | 
					
						
							| 
									
										
										
										
											2015-05-06 20:12:58 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-14 22:35:52 -04:00
										 |  |  |     // Android TV UI libraries.
 | 
					
						
							| 
									
										
										
										
											2018-01-12 18:45:37 +01:00
										 |  |  |     implementation "com.android.support:leanback-v17:$androidSupportVersion" | 
					
						
							| 
									
										
										
										
											2015-07-14 22:35:52 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 20:12:58 -04:00
										 |  |  |     // For showing the banner as a circle a-la Material Design Guidelines
 | 
					
						
							| 
									
										
										
										
											2018-01-12 18:45:37 +01:00
										 |  |  |     implementation 'de.hdodenhof:circleimageview:2.1.0' | 
					
						
							| 
									
										
										
										
											2015-05-06 20:12:58 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // For loading huge screenshots from the disk.
 | 
					
						
							| 
									
										
										
										
											2018-01-12 18:45:37 +01:00
										 |  |  |     implementation 'com.squareup.picasso:picasso:2.5.2' | 
					
						
							| 
									
										
										
										
											2016-01-09 12:28:29 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // Allows FRP-style asynchronous operations in Android.
 | 
					
						
							| 
									
										
										
										
											2018-01-12 18:45:37 +01:00
										 |  |  |     implementation 'io.reactivex:rxandroid:1.2.1' | 
					
						
							|  |  |  |     implementation 'com.nononsenseapps:filepicker:4.1.0' | 
					
						
							| 
									
										
										
										
											2015-05-18 20:22:01 -04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2017-03-20 20:48:07 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | def getVersion() { | 
					
						
							| 
									
										
										
										
											2017-04-06 19:53:25 +10:00
										 |  |  |     def versionNumber = '0.0' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     try { | 
					
						
							|  |  |  |         versionNumber = 'git describe --always --long'.execute([], project.rootDir).text | 
					
						
							|  |  |  |                 .trim() | 
					
						
							|  |  |  |                 .replaceAll(/(-0)?-[^-]+$/, "") | 
					
						
							|  |  |  |     } catch (Exception e) { | 
					
						
							|  |  |  |         logger.error('Cannot find git, defaulting to dummy version number') | 
					
						
							| 
									
										
										
										
											2017-03-24 14:33:12 +11:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-06 19:53:25 +10:00
										 |  |  |     return versionNumber | 
					
						
							| 
									
										
										
										
											2017-03-20 20:48:07 +11:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2018-02-16 19:55:37 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def getBuildVersionCode() { | 
					
						
							|  |  |  |     try { | 
					
						
							|  |  |  |         def versionNumber = 'git rev-list --first-parent --count HEAD'.execute([], project.rootDir).text | 
					
						
							|  |  |  |                 .trim() | 
					
						
							|  |  |  |         return Integer.valueOf(versionNumber); | 
					
						
							|  |  |  |     } catch (Exception e) { | 
					
						
							|  |  |  |         logger.error('Cannot find git, defaulting to dummy version number') | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return 0; | 
					
						
							|  |  |  | } |