aboutsummaryrefslogtreecommitdiff
path: root/dexmaker-mockito-inline-extended/build.gradle
blob: fee152e512e33b633f490372b0b5073f02b03200 (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.13"
    }
}

apply plugin: "net.ltgt.errorprone"
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
apply plugin: 'ivy-publish'
apply plugin: 'com.jfrog.artifactory'

version = VERSION_NAME

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'

    android {
        lintOptions {
            disable 'InvalidPackage'
            warning 'NewApi'
        }
    }

    defaultConfig {
        minSdkVersion 1
        targetSdkVersion 28
        versionName VERSION_NAME
    }

    externalNativeBuild {
        cmake {
            path 'CMakeLists.txt'
        }
    }

    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
}

tasks.withType(JavaCompile) {
    options.compilerArgs += ["-Xep:StringSplitter:OFF"]
}

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.srcDirs
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    failOnError false
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

publishing {
    publications {
        ivyLib(IvyPublication) {
            from new org.gradle.api.internal.java.JavaLibrary(new org.gradle.api.internal.artifacts.publish.DefaultPublishArtifact(project.getName(), 'aar', 'aar', null, new Date(), new File("$buildDir/outputs/aar/${project.getName()}-release.aar"), assemble), project.configurations.implementation.getAllDependencies())
            artifact sourcesJar
            artifact javadocJar
        }

        lib(MavenPublication) {
            from new org.gradle.api.internal.java.JavaLibrary(new org.gradle.api.internal.artifacts.publish.DefaultPublishArtifact(project.getName(), 'aar', 'aar', null, new Date(), new File("$buildDir/outputs/aar/${project.getName()}-release.aar"), assemble), project.configurations.implementation.getAllDependencies())

            artifact sourcesJar
            artifact javadocJar

            pom.withXml {
                asNode().children().last() + {
                    resolveStrategy = Closure.DELEGATE_FIRST
                    description = 'Extension of the Mockito Inline API to allow mocking static methods on the Android Dalvik VM'
                    url 'https://github.com/linkedin/dexmaker'
                    scm {
                        url 'https://github.com/linkedin/dexmaker'
                        connection 'scm:git:git://github.com/linkedin/dexmaker.git'
                        developerConnection 'https://github.com/linkedin/dexmaker.git'
                    }
                    licenses {
                        license {
                            name 'The Apache Software License, Version 2.0'
                            url 'http://www.apache.org/license/LICENSE-2.0.txt'
                            distribution 'repo'
                        }
                    }

                    developers {
                        developer {
                            id 'com.linkedin'
                            name 'LinkedIn Corp'
                            email ''
                        }
                    }
                }
            }
        }
    }
}

repositories {
    jcenter()
    google()
}

dependencies {
    implementation project(':dexmaker-mockito-inline')

    implementation 'org.mockito:mockito-core:2.25.0', { exclude group: 'net.bytebuddy' }
}