aboutsummaryrefslogtreecommitdiffstats
path: root/sample-android/build.gradle
blob: efbcdba127a120b5f941552c64a00ac24b65bb18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt'
}

android {
    ndkVersion "26.2.11394342"
    namespace = "io.github.landerlyoung.jennysampleapp"

    defaultConfig {
        applicationId "com.young.jennysampleapp"
        compileSdk 34
        minSdkVersion 21
        targetSdkVersion 34
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        externalNativeBuild {
            cmake {
                cppFlags "-std=c++11 -fvisibility=hidden"
            }
        }
    }

    lintOptions {
        abortOnError false
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    applicationVariants.configureEach { variant ->
        variant.externalNativeBuildProviders*.configure { ndkBuild ->
            ndkBuild.dependsOn variant.javaCompileProvider.name
        }
    }
}

import org.jetbrains.kotlin.gradle.internal.KaptTask

tasks.withType(KaptTask).configureEach { task ->
    def suffix = task.name.contains("kaptDebug") ? "debug" : "release"

    annotationProcessorOptionProviders.add([new CommandLineArgumentProvider() {
        @Override
        Iterable<String> asArguments() {
            return ["jenny.templateBuildDirectory=" + project.file('templates') + "/" + suffix]
        }
    }])
}

kapt {
    arguments {
        arg("jenny.outputDirectory", project.file('src/main/cpp/gen'))
    }
}

dependencies {
    compileOnly project(':annotation')
    kapt project(':compiler')
}

dependencies {
    implementation "androidx.core:core-ktx:1.3.2"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
    // noinspection GradleDependency
    implementation 'com.squareup.okhttp3:okhttp:3.14.7'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    androidTestImplementation 'androidx.test:runner:1.3.0'
    androidTestImplementation 'androidx.annotation:annotation:1.1.0'
}