apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "org.petero.droidfish" minSdkVersion 16 targetSdkVersion 28 versionCode 84 versionName "1.74" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { ndkBuild { arguments '-j8' } } } if(project.hasProperty("RELEASE_STORE_FILE")) { signingConfigs { release { storeFile file(RELEASE_STORE_FILE) storePassword RELEASE_STORE_PASSWORD keyAlias RELEASE_KEY_ALIAS keyPassword RELEASE_KEY_PASSWORD } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' if(project.hasProperty("RELEASE_STORE_FILE")) { signingConfig signingConfigs.release } } } externalNativeBuild { ndkBuild { path file('src/main/cpp/Android.mk') } } lintOptions { abortOnError false } compileOptions { sourceCompatibility = '1.8' targetCompatibility = '1.8' } dataBinding.enabled = true } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.google.android.material:material:1.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' implementation project(':CuckooChessEngine') implementation 'com.caverock:androidsvg-aar:1.3' } // Build the ECO database task buildEco { def a = "buildSrc/src/main/java/chess/eco.pgn" def b = "DroidFishApp/src/main/assets/eco.dat" chess.EcoBuilder.main2(a, b) } preBuild.dependsOn buildEco // Copy Stockfish executables to assets directory task copyToAssets(type: Copy, dependsOn: 'externalNativeBuildRelease') { from('build/intermediates/ndkBuild/release/obj/local') { include '*/stockfish' } into 'src/main/assets' } tasks.withType(JavaCompile) { t -> t.dependsOn copyToAssets }