build.gradle 2.99 KB
Newer Older
1 2
apply plugin: 'com.android.application'

3
buildscript {
4
    repositories {
5
        jcenter()
6
        google()
7 8
    }
    dependencies {
9
        classpath 'com.android.tools.build:gradle:3.4.1'
10 11
    }
}
12

13
android {
14
    compileSdkVersion 28
15
    defaultConfig {
16
        minSdkVersion 14
17
        targetSdkVersion 28
18
    }
Vineet Garg's avatar
Vineet Garg committed
19
    dexOptions {
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
20
        javaMaxHeapSize "2g"
Vineet Garg's avatar
Vineet Garg committed
21
    }
22
    compileOptions {
23 24
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
25
    }
26
    sourceSets {
27 28 29 30 31 32 33
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['resources']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
34
        test {
35 36
            java.srcDirs = ['tests']
        }
37
    }
38
    packagingOptions {
39 40 41
        merge "META-INF/DEPENDENCIES"
        merge "META-INF/LICENSE"
        merge "META-INF/NOTICE"
42
    }
43 44
    lintOptions {
        abortOnError false
45
        checkReleaseBuilds false
46
    }
47
    buildTypes {
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
48 49 50 51
        debug {
            minifyEnabled false
            useProguard false
        }
52
        release { //keep on 'release' for faster builds, set to 'all' when testing to make sure proguard is not deleting important stuff
53
            minifyEnabled true
54
            useProguard true
55
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
56
        }
57
    }
58
}
59 60

dependencies {
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
61

62
    repositories {
63
        jcenter()
64
        google()
65 66 67 68 69
        /* Needed for org.apache.sshd debugging
        maven {
            url "https://jitpack.io"
        }
        */
70
    }
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
71

72
    implementation 'androidx.media:media:1.0.1'
73 74
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.preference:preference:1.0.0'
75
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
76
    implementation 'com.google.android.material:material:1.0.0'
77
    implementation 'com.jakewharton:disklrucache:2.0.2' //For caching album art bitmaps
78

79 80
    implementation 'org.apache.sshd:sshd-core:0.14.0'
    implementation 'org.apache.mina:mina-core:2.0.19' //For some reason, makes sshd-core:0.14.0 work without NIO, which isn't available until Android 8+
81

82
    //implementation('com.github.bright:slf4android:0.1.6') { transitive = true } // For org.apache.sshd debugging
83
    implementation 'com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0' //For SSL certificate generation
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
84

85 86
    implementation 'com.jakewharton:butterknife:10.0.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
87

88 89 90
    implementation 'org.atteo.classindex:classindex:3.6'
    annotationProcessor 'org.atteo.classindex:classindex:3.6'

Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
91
    // Testing
92
    testImplementation 'junit:junit:4.12'
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
93 94 95 96 97
    testImplementation 'org.powermock:powermock-core:2.0.0'
    testImplementation 'org.powermock:powermock-module-junit4:2.0.0'
    testImplementation 'org.powermock:powermock-api-mockito2:2.0.0'
    testImplementation 'org.mockito:mockito-core:2.23.0'
    testImplementation 'org.skyscreamer:jsonassert:1.3.0'
98
}