plugins {
	id 'com.android.application'
	id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}

android {
	androidResources {
		generateLocaleConfig = true
	}

	compileSdk 33
	defaultConfig {
		applicationId "org.joinmastodon.android"
		minSdk 23
		targetSdk 33
		versionCode 108
		versionName "2.5.6"
		testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
	}

	buildTypes {
		release {
			minifyEnabled true
			shrinkResources true
			proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
		}
		debug{
			debuggable true
		}
		appcenterPrivateBeta{
			initWith release
			minifyEnabled false
			shrinkResources false
			versionNameSuffix "-priv-beta"
		}
		appcenterPublicBeta{
			initWith release
			versionNameSuffix "-beta"
		}
		githubRelease{
			initWith release
		}
		githubDebug{
			initWith debug
		}
	}
	compileOptions {
		sourceCompatibility JavaVersion.VERSION_17
		targetCompatibility JavaVersion.VERSION_17
		coreLibraryDesugaringEnabled true
	}
	sourceSets{
		appcenterPrivateBeta{
			setRoot "src/appcenter"
		}
		appcenterPublicBeta{
			setRoot "src/appcenter"
		}
		githubRelease{
			setRoot "src/github"
		}
		githubDebug{
			setRoot "src/github"
		}
	}
	lintOptions{
		checkReleaseBuilds false
		abortOnError false
	}
	buildFeatures{
		aidl true
		buildConfig true
	}
	dependenciesInfo{
		// Disables dependency metadata when building APKs.
		includeInApk false
		// Disables dependency metadata when building Android App Bundles.
		includeInBundle false
	}
	namespace 'org.joinmastodon.android'
}

dependencies {
	api 'androidx.annotation:annotation:1.3.0'
	implementation 'com.squareup.okhttp3:okhttp:3.14.9'
	implementation 'me.grishka.litex:recyclerview:1.2.1.1'
	implementation 'me.grishka.litex:swiperefreshlayout:1.1.0.1'
	implementation 'me.grishka.litex:browser:1.4.0'
	implementation 'me.grishka.litex:dynamicanimation:1.1.0-alpha03'
	implementation 'me.grishka.litex:viewpager:1.0.0'
	implementation 'me.grishka.litex:viewpager2:1.0.0'
	implementation 'me.grishka.litex:palette:1.0.0'
	implementation 'me.grishka.appkit:appkit:1.3.0'
	implementation 'com.google.code.gson:gson:2.8.9'
	implementation 'org.jsoup:jsoup:1.14.3'
	implementation 'com.squareup:otto:1.3.8'
	implementation 'de.psdev:async-otto:1.0.3'
	implementation 'com.google.zxing:core:3.5.3'
	implementation 'org.microg:safe-parcel:1.5.0'
	implementation 'org.parceler:parceler-api:1.1.12'
	annotationProcessor 'org.parceler:parceler:1.1.12'
	coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'

	def appCenterSdkVersion = "4.4.2"
	appcenterPrivateBetaImplementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
	appcenterPrivateBetaImplementation "com.microsoft.appcenter:appcenter-distribute:${appCenterSdkVersion}"
	appcenterPublicBetaImplementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
	appcenterPublicBetaImplementation "com.microsoft.appcenter:appcenter-distribute:${appCenterSdkVersion}"

	androidTestImplementation 'androidx.test:core:1.5.0'
	androidTestImplementation 'androidx.test.ext:junit:1.1.5'
	androidTestImplementation 'androidx.test:runner:1.5.2'
	androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
