-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.gradle
120 lines (108 loc) · 3.62 KB
/
build.gradle
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
/*
* Twidere - Twitter client for Android
*
* Copyright (C) 2012-2015 Mariotaku Lee <[email protected]>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import fr.avianey.androidsvgdrawable.gradle.SvgDrawableTask
apply plugin: 'com.android.application'
apply plugin: 'androidsvgdrawable'
buildscript {
repositories {
jcenter()
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
classpath('fr.avianey.androidsvgdrawable:gradle-plugin:3.0.0') {
// should be excluded to avoid conflict
exclude group: 'xerces'
}
}
}
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "org.mariotaku.twidere.extension.emoji.twemoji"
minSdkVersion 14
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
splits {
density {
enable true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
res.srcDirs = [project.file("src/$name/res"), project.file("src/$name/res-svg2png")]
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
}
if (System.getenv('TRAVIS') == 'true') {
dexOptions {
preDexLibraries = false;
}
}
buildTypes.each { buildType ->
def file = rootProject.file('signing.properties')
if (file.exists()) {
def cfg = signingConfigs.maybeCreate(buildType.name)
loadSigningConfig(cfg, file)
buildType.signingConfig = cfg
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
static def loadSigningConfig(def cfg, def file) {
Properties signingProp = new Properties()
signingProp.load(file.newInputStream())
cfg.setStoreFile(new File((String) signingProp.get('storeFile')))
cfg.setStorePassword((String) signingProp.get('storePassword'))
cfg.setKeyAlias((String) signingProp.get('keyAlias'))
cfg.setKeyPassword((String) signingProp.get('keyPassword'))
}
task emojiSvgToMipmap(type: SvgDrawableTask) {
// specify where to pick SVG from
from = files(android.sourceSets.collect { "src/${it.name}/svg/emoji" })
// specify the android res folder
to = file('src/main/res-svg2png')
// override files only if necessary
overwriteMode = 'ifModified'
// let generate PNG for the following densities only
targetedDensities = ['hdpi', 'mdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi']
// output format of the generated resources
outputFormat = 'PNG'
outputType = 'mipmap'
}