149 lines
		
	
	
		
			No EOL
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			No EOL
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
plugins {
 | 
						|
    id 'com.android.application'
 | 
						|
    id 'kotlin-android'
 | 
						|
    id 'kotlin-kapt'
 | 
						|
    id 'dagger.hilt.android.plugin'
 | 
						|
}
 | 
						|
 | 
						|
android {
 | 
						|
    compileSdk 32
 | 
						|
    buildToolsVersion "33.0.0"
 | 
						|
 | 
						|
    defaultConfig {
 | 
						|
        applicationId "com.pixelized.biblib"
 | 
						|
        minSdk 23
 | 
						|
        targetSdk 32
 | 
						|
        versionCode generateVersionCode()
 | 
						|
        versionName "0.1.3"
 | 
						|
 | 
						|
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 | 
						|
        vectorDrawables {
 | 
						|
            useSupportLibrary true
 | 
						|
        }
 | 
						|
 | 
						|
        javaCompileOptions {
 | 
						|
            annotationProcessorOptions {
 | 
						|
                arguments += [
 | 
						|
                        "room.schemaLocation"  : "$projectDir/schemas".toString(),
 | 
						|
                        "room.incremental"     : "true",
 | 
						|
                        "room.expandProjection": "true"
 | 
						|
                ]
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    signingConfigs {
 | 
						|
        pixelized {
 | 
						|
            storeFile file(project.properties["PIXELIZED_RELEASE_STORE_FILE"])
 | 
						|
            storePassword project.properties["PIXELIZED_RELEASE_STORE_PASSWORD"]
 | 
						|
            keyAlias project.properties["PIXELIZED_RELEASE_KEY_ALIAS"]
 | 
						|
            keyPassword project.properties["PIXELIZED_RELEASE_KEY_PASSWORD"]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    buildTypes {
 | 
						|
        debug {
 | 
						|
            signingConfig signingConfigs.pixelized
 | 
						|
            minifyEnabled false
 | 
						|
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
 | 
						|
        }
 | 
						|
        release {
 | 
						|
            signingConfig signingConfigs.pixelized
 | 
						|
            minifyEnabled true
 | 
						|
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    compileOptions {
 | 
						|
        sourceCompatibility JavaVersion.VERSION_1_8
 | 
						|
        targetCompatibility JavaVersion.VERSION_1_8
 | 
						|
    }
 | 
						|
 | 
						|
    kotlinOptions {
 | 
						|
        jvmTarget = '1.8'
 | 
						|
    }
 | 
						|
 | 
						|
    buildFeatures {
 | 
						|
        compose true
 | 
						|
    }
 | 
						|
 | 
						|
    composeOptions {
 | 
						|
        kotlinCompilerExtensionVersion '1.2.0-rc01'
 | 
						|
    }
 | 
						|
 | 
						|
    packagingOptions {
 | 
						|
        resources {
 | 
						|
            excludes += '/META-INF/{AL2.0,LGPL2.1}'
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
dependencies {
 | 
						|
    // Android core
 | 
						|
    implementation 'androidx.core:core-ktx:1.8.0'
 | 
						|
    implementation 'androidx.appcompat:appcompat:1.4.2'
 | 
						|
    implementation 'com.google.android.material:material:1.6.1'
 | 
						|
    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1'
 | 
						|
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.4.1"
 | 
						|
    implementation 'androidx.activity:activity-compose:1.4.0'
 | 
						|
 | 
						|
    // Android Compose
 | 
						|
    implementation "androidx.compose.ui:ui:1.2.0-rc01"
 | 
						|
    implementation "androidx.compose.material:material:1.1.1"
 | 
						|
    implementation "androidx.compose.runtime:runtime-livedata:1.1.1"
 | 
						|
    implementation "androidx.compose.ui:ui-tooling-preview:1.1.1"
 | 
						|
    debugImplementation "androidx.compose.ui:ui-tooling:1.1.1"
 | 
						|
 | 
						|
    // Paging
 | 
						|
    implementation "androidx.paging:paging-compose:1.0.0-alpha15"
 | 
						|
 | 
						|
    // Material design icons
 | 
						|
    implementation "androidx.compose.material:material-icons-core:1.1.1"
 | 
						|
    implementation "androidx.compose.material:material-icons-extended:1.1.1"
 | 
						|
 | 
						|
    // Injection
 | 
						|
    implementation 'androidx.hilt:hilt-navigation-compose:1.0.0'
 | 
						|
    implementation "com.google.dagger:hilt-android:2.40.5"
 | 
						|
    kapt "com.google.dagger:hilt-compiler:2.40.5"
 | 
						|
 | 
						|
    // Accompanist
 | 
						|
    implementation "com.google.accompanist:accompanist-systemuicontroller:0.24.7-alpha"
 | 
						|
    implementation "com.google.accompanist:accompanist-insets:0.24.7-alpha"
 | 
						|
    implementation "com.google.accompanist:accompanist-drawablepainter:0.24.7-alpha"
 | 
						|
    implementation "com.google.accompanist:accompanist-navigation-material:0.24.7-alpha"
 | 
						|
    implementation "com.google.accompanist:accompanist-pager:0.24.7-alpha"
 | 
						|
    implementation "com.google.accompanist:accompanist-pager-indicators:0.24.7-alpha"
 | 
						|
 | 
						|
    // Landscapist
 | 
						|
    implementation "com.github.skydoves:landscapist-glide:1.5.2"
 | 
						|
 | 
						|
    // Navigation
 | 
						|
    implementation "androidx.navigation:navigation-compose:2.4.2"
 | 
						|
 | 
						|
    // Splash Screen support prior to Android 12
 | 
						|
    implementation "androidx.core:core-splashscreen:1.0.0-rc01"
 | 
						|
 | 
						|
    // Google sign in.
 | 
						|
    implementation "com.google.android.gms:play-services-auth:20.2.0"
 | 
						|
 | 
						|
    // RetroFit & Gson for webservice call
 | 
						|
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
 | 
						|
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
 | 
						|
    implementation 'com.google.code.gson:gson:2.8.9'
 | 
						|
 | 
						|
    // Logging Network Calls
 | 
						|
    implementation "com.squareup.okhttp3:logging-interceptor:4.8.1"
 | 
						|
 | 
						|
    // Room
 | 
						|
    implementation "androidx.room:room-runtime:2.4.2"
 | 
						|
    implementation "androidx.room:room-ktx:2.4.2"
 | 
						|
    kapt "androidx.room:room-compiler:2.4.2"
 | 
						|
}
 | 
						|
 | 
						|
static def generateVersionCode() {
 | 
						|
    def result = "git rev-list HEAD --count".execute().text.trim() //unix
 | 
						|
    if (result.empty) result = "PowerShell -Command git rev-list HEAD --count".execute().text.trim()
 | 
						|
    //windows
 | 
						|
    if (result.empty) throw new RuntimeException("Could not generate versioncode on this platform? Cmd output: ${result.text}")
 | 
						|
    return result.toInteger()
 | 
						|
} |