mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-23 18:15:22 +00:00
7488525641
// FREEBIE
303 lines
14 KiB
Groovy
303 lines
14 KiB
Groovy
buildscript {
|
|
repositories {
|
|
maven {
|
|
url "https://repo1.maven.org/maven2"
|
|
jcenter()
|
|
}
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:2.2.3'
|
|
classpath files('libs/gradle-witness.jar')
|
|
}
|
|
}
|
|
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'witness'
|
|
|
|
repositories {
|
|
maven {
|
|
url "https://repo1.maven.org/maven2/"
|
|
}
|
|
maven {
|
|
url "https://raw.github.com/whispersystems/maven/master/preferencefragment/releases/"
|
|
}
|
|
maven {
|
|
url "https://raw.github.com/whispersystems/maven/master/smil/releases/"
|
|
}
|
|
maven {
|
|
url "https://raw.github.com/whispersystems/maven/master/shortcutbadger/releases/"
|
|
}
|
|
maven {
|
|
url "https://raw.github.com/whispersystems/maven/master/photoview/releases/"
|
|
}
|
|
maven { // textdrawable
|
|
url 'https://dl.bintray.com/amulyakhare/maven'
|
|
}
|
|
jcenter()
|
|
mavenLocal()
|
|
}
|
|
|
|
dependencies {
|
|
compile 'me.leolin:ShortcutBadger:1.1.0-WS1'
|
|
compile 'se.emilsjolander:stickylistheaders:2.7.0'
|
|
compile 'com.google.android.gms:play-services-gcm:8.1.0'
|
|
compile 'com.google.android.gms:play-services-maps:8.1.0'
|
|
compile 'com.google.android.gms:play-services-location:8.1.0'
|
|
compile 'com.jpardogo.materialtabstrip:library:1.0.9'
|
|
compile 'org.w3c:smil:1.0.0'
|
|
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
|
|
compile 'com.github.chrisbanes.photoview:library:1.3.1'
|
|
compile 'com.github.bumptech.glide:glide:3.7.0'
|
|
compile 'com.makeramen:roundedimageview:2.1.0'
|
|
compile 'com.pnikosis:materialish-progress:1.5'
|
|
compile 'de.greenrobot:eventbus:2.4.0'
|
|
compile 'pl.tajchert:waitingdots:0.1.0'
|
|
compile 'com.soundcloud.android:android-crop:0.9.10@aar'
|
|
compile 'com.android.support:appcompat-v7:22.2.1'
|
|
compile 'com.android.support:recyclerview-v7:22.2.1'
|
|
compile 'com.android.support:design:22.2.1'
|
|
compile 'com.android.support:cardview-v7:22.2.1'
|
|
compile 'com.melnykov:floatingactionbutton:1.3.0'
|
|
compile 'com.google.zxing:android-integration:3.1.0'
|
|
compile ('com.android.support:support-v4-preferencefragment:1.0.0@aar'){
|
|
exclude module: 'support-v4'
|
|
}
|
|
compile ('com.android.support:gridlayout-v7:22.2.0') {
|
|
exclude module: 'support-v4'
|
|
}
|
|
|
|
compile 'com.squareup.dagger:dagger:1.2.2'
|
|
compile ("com.doomonafireball.betterpickers:library:1.5.3") {
|
|
exclude group: 'com.android.support', module: 'support-v4'
|
|
}
|
|
compile 'com.madgag.spongycastle:prov:1.51.0.0'
|
|
provided 'com.squareup.dagger:dagger-compiler:1.2.2'
|
|
|
|
compile 'org.whispersystems:jobmanager:1.0.2'
|
|
compile 'org.whispersystems:libpastelog:1.0.7'
|
|
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
|
|
compile 'org.whispersystems:signal-service-android:2.4.3'
|
|
compile 'com.h6ah4i.android.compat:mulsellistprefcompat:1.0.0'
|
|
compile 'com.google.zxing:core:3.2.1'
|
|
|
|
compile ('cn.carbswang.android:NumberPickerView:1.0.9') {
|
|
exclude group: 'com.android.support', module: 'appcompat-v7'
|
|
}
|
|
|
|
testCompile 'junit:junit:4.12'
|
|
testCompile 'org.assertj:assertj-core:1.7.1'
|
|
testCompile 'org.mockito:mockito-core:1.9.5'
|
|
testCompile 'org.powermock:powermock-api-mockito:1.6.1'
|
|
testCompile 'org.powermock:powermock-module-junit4:1.6.1'
|
|
testCompile 'org.powermock:powermock-module-junit4-rule:1.6.1'
|
|
testCompile 'org.powermock:powermock-classloading-xstream:1.6.1'
|
|
|
|
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
|
|
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
|
|
androidTestCompile ('org.assertj:assertj-core:1.7.1') {
|
|
exclude group: 'org.hamcrest', module: 'hamcrest-core'
|
|
}
|
|
androidTestCompile ('com.squareup.assertj:assertj-android:1.1.1') {
|
|
exclude group: 'org.hamcrest', module: 'hamcrest-core'
|
|
exclude group: 'com.android.support', module: 'support-annotations'
|
|
}
|
|
}
|
|
|
|
dependencyVerification {
|
|
verify = [
|
|
'me.leolin:ShortcutBadger:3142d017234bfa0cdd69ccded7cc5ea63f13b97574803c8c616c9bbeaad33ad9',
|
|
'se.emilsjolander:stickylistheaders:a08ca948aa6b220f09d82f16bbbac395f6b78897e9eeac6a9f0b0ba755928eeb',
|
|
'com.google.android.gms:play-services-gcm:757ecd2c837ac81c98f4cc7dc783e7454c6d0506f6cc66b10417126b675248c9',
|
|
'com.google.android.gms:play-services-maps:c58a9d98a98889fb0b27f78100f2d9341ed7722db24ccf832df62b6e8ce1b42e',
|
|
'com.google.android.gms:play-services-location:8226f778aa86bd15b9143f62425262cc53d64021990f62eb1aaec108d4e25f35',
|
|
'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa',
|
|
'org.w3c:smil:085dc40f2bb249651578bfa07499fd08b16ad0886dbe2c4078586a408da62f9b',
|
|
'org.apache.httpcomponents:httpclient-android:6f56466a9bd0d42934b90bfbfe9977a8b654c058bf44a12bdc2877c4e1f033f1',
|
|
'com.github.chrisbanes.photoview:library:f152dd0a87aca891aa182e42863fa05e0e8b2842e3b9fc512d7a3a6243c38ac4',
|
|
'com.github.bumptech.glide:glide:76ef123957b5fbaebb05fcbe6606dd58c3bc3fcdadb257f99811d0ac9ea9b88b',
|
|
'com.makeramen:roundedimageview:1f5a1865796b308c6cdd114acc6e78408b110f0a62fc63553278fbeacd489cd1',
|
|
'com.pnikosis:materialish-progress:d71d80e00717a096784482aee21001a9d299fec3833e4ebd87739ed36cf77c54',
|
|
'de.greenrobot:eventbus:61d743a748156a372024d083de763b9e91ac2dcb3f6a1cbc74995c7ddab6e968',
|
|
'pl.tajchert:waitingdots:2835d49e0787dbcb606c5a60021ced66578503b1e9fddcd7a5ef0cd5f095ba2c',
|
|
'com.soundcloud.android:android-crop:ffd4b973cf6e97f7d64118a0dc088df50e9066fd5634fe6911dd0c0c5d346177',
|
|
'com.android.support:appcompat-v7:4b5ccba8c4557ef04f99aa0a80f8aa7d50f05f926a709010a54afd5c878d3618',
|
|
'com.android.support:recyclerview-v7:b0f530a5b14334d56ce0de85527ffe93ac419bc928e2884287ce1dddfedfb505',
|
|
'com.android.support:design:58be3ca6a73789615f7ece0937d2f683b98b594bb90aa10565fa760fb10b07ee',
|
|
'com.android.support:cardview-v7:2c2354761a4e20ba451ae903ab808f15c9acc8343b1e74001869c2d0a672c1fc',
|
|
'com.melnykov:floatingactionbutton:15d58d4fac0f7a288d0e5301bbaf501a146f5b3f5921277811bf99bd3b397263',
|
|
'com.google.zxing:android-integration:89e56aadf1164bd71e57949163c53abf90af368b51669c0d4a47a163335f95c4',
|
|
'com.android.support:support-v4-preferencefragment:5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad',
|
|
'com.android.support:gridlayout-v7:a9b770cffca2c7c5cd83cba4dd12503365de5e8d9c79c479165adf18ab3bc25b',
|
|
'com.squareup.dagger:dagger:789aca24537022e49f91fc6444078d9de8f1dd99e1bfb090f18491b186967883',
|
|
'com.doomonafireball.betterpickers:library:132ecd685c95a99e7377c4e27bfadbb2d7ed0bea995944060cd62d4369fdaf3d',
|
|
'com.madgag.spongycastle:prov:b8c3fec3a59aac1aa04ccf4dad7179351e54ef7672f53f508151b614c131398a',
|
|
'org.whispersystems:jobmanager:506f679fc2fcf7bb6d10f00f41d6f6ea0abf75c70dc95b913398661ad538a181',
|
|
'org.whispersystems:libpastelog:bb331d9a98240fc139101128ba836c1edec3c40e000597cdbb29ebf4cbf34d88',
|
|
'com.amulyakhare:com.amulyakhare.textdrawable:54c92b5fba38cfd316a07e5a30528068f45ce8515a6890f1297df4c401af5dcb',
|
|
'org.whispersystems:signal-service-android:59e4cec73b9160b7d7c073841318098d46f25c618561d457baf4e10775a6e7b1',
|
|
'com.h6ah4i.android.compat:mulsellistprefcompat:47167c5cb796de1a854788e9ff318358e36c8fb88123baaa6e38fb78511dfabe',
|
|
'com.google.zxing:core:b4d82452e7a6bf6ec2698904b332431717ed8f9a850224f295aec89de80f2259',
|
|
'cn.carbswang.android:NumberPickerView:18b3c316d62c7c277978a8d4ed57a5b8f4e943762264960f579a8a549c756729',
|
|
'com.google.android.gms:play-services-base:ef36e50fa5c0415ed41f74dd399a889efd2fa327c449036e140c7c3786aa0e1f',
|
|
'com.android.support:support-annotations:104f353b53d5dd8d64b2f77eece4b37f6b961de9732eb6b706395e91033ec70a',
|
|
'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a',
|
|
'javax.inject:javax.inject:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
|
'com.madgag.spongycastle:core:8d6240b974b0aca4d3da9c7dd44d42339d8a374358aca5fc98e50a995764511f',
|
|
'org.whispersystems:signal-protocol-android:1b4b9d557c8eaf861797ff683990d482d4aa8e9f23d9b17ff0cc67a02f38cb19',
|
|
'org.whispersystems:signal-service-java:9e983922084ca2c8089de0a58d7f2032e50026c2456c2bf9dfb0a56ac46a5864',
|
|
'com.google.android.gms:play-services-basement:e1d29b21e02fd2a63e5a31807415cbb17a59568e27e3254181c01ffae10659bf',
|
|
'org.whispersystems:curve25519-android:bf6c34223d45d2f2813a8efcab9923caf99115115c760c9acea680bcb42d23c0',
|
|
'org.whispersystems:signal-protocol-java:a835cd0609cf116a74651bd0aa748db9392bba48c2d2af787757b8a1b50d131c',
|
|
'com.googlecode.libphonenumber:libphonenumber:7214dc6dfc6243e34fb1a3e02ad15331bfff6ab902d679e3ba337695265c21ca',
|
|
'com.google.protobuf:protobuf-java:e0c1c64575c005601725e7c6a02cebf9e1285e888f756b2a1d73ffa8d725cc74',
|
|
'com.squareup.okhttp:okhttp:89b7f63e2e5b6c410266abc14f50fe52ea8d2d8a57260829e499b1cd9f0e61af',
|
|
'com.fasterxml.jackson.core:jackson-databind:835097bcdd11f5bc8a08378c70d4c8054dfa4b911691cc2752063c75534d198d',
|
|
'org.whispersystems:curve25519-java:00f1d4919f759055f41f7853a3d475dc7c8decf0dbf045ae93414f8f23b066cc',
|
|
'com.squareup.okio:okio:5e1098bd3fdee4c3347f5ab815b40ba851e4ab1b348c5e49a5b0362f0ce6e978',
|
|
'com.fasterxml.jackson.core:jackson-annotations:0ca408c24202a7626ec8b861e99d85eca5e38b73311dd6dd12e3e9deecc3fe94',
|
|
'com.fasterxml.jackson.core:jackson-core:cbf4604784b4de226262845447a1ad3bb38a6728cebe86562e2c5afada8be2c0',
|
|
'com.android.support:support-v4:c62f0d025dafa86f423f48df9185b0d89496adbc5f6a9be5a7c394d84cf91423',
|
|
]
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 24
|
|
buildToolsVersion '23.0.3'
|
|
useLibrary 'org.apache.http.legacy'
|
|
|
|
dexOptions {
|
|
javaMaxHeapSize "4g"
|
|
}
|
|
|
|
defaultConfig {
|
|
minSdkVersion 9
|
|
targetSdkVersion 22
|
|
|
|
vectorDrawables.useSupportLibrary = true
|
|
|
|
buildConfigField "long", "BUILD_TIMESTAMP", getLastCommitTimestamp() + "L"
|
|
buildConfigField "String", "TEXTSECURE_URL", "\"https://textsecure-service.whispersystems.org\""
|
|
buildConfigField "String[]", "CENSORED_COUNTRIES", "{\"+20\", \"+971\", \"+53\", \"+968\"}"
|
|
buildConfigField "String", "UNCENSORED_FRONTING_HOST", "\"https://www.google.com\""
|
|
buildConfigField "String", "CENSORED_REFLECTOR", "\"signal-reflector-meek.appspot.com\""
|
|
buildConfigField "String", "GIPHY_PROXY_HOST", "\"giphy-proxy-production.whispersystems.org\""
|
|
buildConfigField "int", "GIPHY_PROXY_PORT", "80"
|
|
buildConfigField "String", "USER_AGENT", "\"OWA\""
|
|
buildConfigField "String", "REDPHONE_MASTER_URL", "\"https://redphone-master.whispersystems.org\""
|
|
buildConfigField "String", "REDPHONE_RELAY_HOST", "\"relay.whispersystems.org\""
|
|
buildConfigField "String", "REDPHONE_PREFIX_NAME", "\".whispersystems.org\""
|
|
buildConfigField "boolean", "DEV_BUILD", "false"
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_7
|
|
targetCompatibility JavaVersion.VERSION_1_7
|
|
}
|
|
|
|
packagingOptions {
|
|
exclude 'LICENSE.txt'
|
|
exclude 'LICENSE'
|
|
exclude 'NOTICE'
|
|
exclude 'asm-license.txt'
|
|
exclude 'META-INF/LICENSE'
|
|
exclude 'META-INF/NOTICE'
|
|
}
|
|
|
|
signingConfigs {
|
|
release
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
|
'proguard-google-play-services.pro',
|
|
'proguard-dagger.pro',
|
|
'proguard-jackson.pro',
|
|
'proguard-sqlite.pro',
|
|
'proguard-appcompat-v7.pro',
|
|
'proguard-square-okhttp.pro',
|
|
'proguard-square-okio.pro',
|
|
'proguard-spongycastle.pro',
|
|
'proguard-rounded-image-view.pro',
|
|
'proguard-glide.pro',
|
|
'proguard-shortcutbadger.pro',
|
|
'proguard-retrofit.pro',
|
|
'proguard.cfg'
|
|
testProguardFiles 'proguard-automation.pro'
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles = buildTypes.debug.proguardFiles
|
|
signingConfig signingConfigs.release
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
java.srcDirs = ['src']
|
|
resources.srcDirs = ['src']
|
|
aidl.srcDirs = ['src']
|
|
renderscript.srcDirs = ['src']
|
|
res.srcDirs = ['res']
|
|
assets.srcDirs = ['assets']
|
|
jniLibs.srcDirs = ['libs']
|
|
}
|
|
androidTest {
|
|
java.srcDirs = ['test/androidTest/java']
|
|
}
|
|
test {
|
|
java.srcDirs = ['test/unitTest/java']
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
abortOnError false
|
|
}
|
|
}
|
|
|
|
tasks.whenTaskAdded { task ->
|
|
if (task.name.equals("lint")) {
|
|
task.enabled = false
|
|
}
|
|
}
|
|
|
|
def getLastCommitTimestamp() {
|
|
new ByteArrayOutputStream().withStream { os ->
|
|
def result = exec {
|
|
executable = 'git'
|
|
args = ['log', '-1', '--pretty=format:%ct']
|
|
standardOutput = os
|
|
}
|
|
|
|
return os.toString() + "000"
|
|
}
|
|
}
|
|
|
|
def Properties props = new Properties()
|
|
def propFile = new File('signing.properties')
|
|
|
|
if (propFile.canRead()){
|
|
props.load(new FileInputStream(propFile))
|
|
|
|
if (props !=null &&
|
|
props.containsKey('STORE_FILE') &&
|
|
props.containsKey('STORE_PASSWORD') &&
|
|
props.containsKey('KEY_ALIAS') &&
|
|
props.containsKey('KEY_PASSWORD'))
|
|
{
|
|
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
|
|
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
|
|
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
|
|
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
|
|
} else {
|
|
println 'signing.properties found but some entries are missing'
|
|
android.buildTypes.release.signingConfig = null
|
|
}
|
|
}else {
|
|
println 'signing.properties not found'
|
|
android.buildTypes.release.signingConfig = null
|
|
}
|
|
|