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

3
buildscript {
4
    repositories {
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
5
        jcenter()
6
        google()
7
8
    }
    dependencies {
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
9
        classpath 'com.android.tools.build:gradle:3.3.2'
10
11
    }
}
12

13
android {
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
14
    compileSdkVersion 28
15
    defaultConfig {
16
        minSdkVersion 14
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
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 {
Nicolas Fella's avatar
Nicolas Fella committed
23
24
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
25
    }
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
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
        pickFirst "META-INF/DEPENDENCIES"
        pickFirst "META-INF/LICENSE"
        pickFirst "META-INF/NOTICE"
42
43
44
        pickFirst "META-INF/BCKEY.SF"
        pickFirst "META-INF/BCKEY.DSA"
        pickFirst "META-INF/INDEX.LIST"
45
    }
46
47
    lintOptions {
        abortOnError false
48
        checkReleaseBuilds false
49
    }
50
    buildTypes {
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
51
52
53
54
        debug {
            minifyEnabled false
            useProguard false
        }
55
        release { //keep on 'release' for faster builds, set to 'all' when testing to make sure proguard is not deleting important stuff
56
            minifyEnabled true
57
            useProguard true
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
58
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
59
        }
60
    }
61
}
62
63

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

65
    repositories {
66
        jcenter()
67
        google()
68
    }
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
69

70
    implementation 'androidx.media:media:1.0.1'
71
72
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.preference:preference:1.0.0'
Erik Duisters's avatar
Erik Duisters committed
73
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
74
    implementation 'com.google.android.material:material:1.0.0'
Matthijs Tijink's avatar
Matthijs Tijink committed
75
    implementation 'com.jakewharton:disklrucache:2.0.2' //For caching album art bitmaps
76

77
78
    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+
79

Nicolas Fella's avatar
Nicolas Fella committed
80
    implementation 'com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0' //For SSL certificate generation
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
81

Erik Duisters's avatar
Erik Duisters committed
82
83
    implementation 'com.jakewharton:butterknife:10.0.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
84

85
86
87
    implementation 'org.atteo.classindex:classindex:3.6'
    annotationProcessor 'org.atteo.classindex:classindex:3.6'

Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
88
    // Testing
89
    testImplementation 'junit:junit:4.12'
Albert Vaca Cintora's avatar
Albert Vaca Cintora committed
90
91
92
93
94
    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'
95
}