mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-28 20:17:51 +02:00
Fix EHentai/ExHentai Fix hitomi.la Fix hitomi.la crashing application Rewrite hitomi.la search engine to be faster, use less CPU and require no preloading Fix nhentai Add additional filters to nhentai Fix PervEden Introduce delegated sources Rewrite HentaiCafe to be a delegated source Introduce ability to save/load search presets Temporarily disable misbehaving native Tachiyomi migrations Fix tap-to-search-tag breaking on aliased tags Add debug menu Add experimental automatic captcha solver Add app name to wakelock names Add ability to interrupt metadata migrator Fix incognito open-in-browser being zoomed in immediately when it's opened
303 lines
10 KiB
Groovy
Executable File
303 lines
10 KiB
Groovy
Executable File
//noinspection GradleDependency
|
|
import java.text.SimpleDateFormat
|
|
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'com.github.zellius.shortcut-helper'
|
|
// Realm (EH)
|
|
apply plugin: 'realm-android'
|
|
// Firebase (EH)
|
|
apply plugin: 'com.google.firebase.firebase-perf'
|
|
apply plugin: 'io.fabric'
|
|
|
|
shortcutHelper.filePath = './shortcuts.xml'
|
|
|
|
ext {
|
|
// Git is needed in your system PATH for these commands to work.
|
|
// If it's not installed, you can return a random value as a workaround
|
|
getCommitCount = {
|
|
return 'git rev-list --count HEAD'.execute().text.trim()
|
|
// return "1"
|
|
}
|
|
|
|
getGitSha = {
|
|
return 'git rev-parse --short HEAD'.execute().text.trim()
|
|
// return "1"
|
|
}
|
|
|
|
getBuildTime = {
|
|
def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'")
|
|
df.setTimeZone(TimeZone.getTimeZone("UTC"))
|
|
return df.format(new Date())
|
|
}
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 27
|
|
buildToolsVersion '28.0.3'
|
|
publishNonDefault true
|
|
|
|
defaultConfig {
|
|
applicationId "eu.kanade.tachiyomi.eh2"
|
|
minSdkVersion 16
|
|
targetSdkVersion 27
|
|
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
|
versionCode 8200
|
|
versionName "v8.2.0-EH"
|
|
|
|
buildConfigField "String", "COMMIT_COUNT", "\"${getCommitCount()}\""
|
|
buildConfigField "String", "COMMIT_SHA", "\"${getGitSha()}\""
|
|
buildConfigField "String", "BUILD_TIME", "\"${getBuildTime()}\""
|
|
buildConfigField "boolean", "INCLUDE_UPDATER", "true"
|
|
|
|
vectorDrawables.useSupportLibrary = true
|
|
|
|
ndk {
|
|
abiFilters "armeabi-v7a", "arm64-v8a", "x86"
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
versionNameSuffix "-${getCommitCount()}"
|
|
applicationIdSuffix ".debug"
|
|
multiDexEnabled true
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
multiDexEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
flavorDimensions "default"
|
|
|
|
productFlavors {
|
|
standard {
|
|
buildConfigField "boolean", "INCLUDE_UPDATER", "true"
|
|
dimension "default"
|
|
}
|
|
fdroid {
|
|
dimension "default"
|
|
}
|
|
dev {
|
|
minSdkVersion 21
|
|
resConfigs "en", "xxhdpi"
|
|
dimension "default"
|
|
}
|
|
}
|
|
|
|
packagingOptions {
|
|
exclude 'META-INF/DEPENDENCIES'
|
|
exclude 'LICENSE.txt'
|
|
exclude 'META-INF/LICENSE'
|
|
exclude 'META-INF/LICENSE.txt'
|
|
exclude 'META-INF/NOTICE'
|
|
|
|
// Compatibility for two RxJava versions (EXH)
|
|
exclude 'META-INF/rxjava.properties'
|
|
}
|
|
|
|
lintOptions {
|
|
abortOnError false
|
|
checkReleaseBuilds false
|
|
}
|
|
|
|
}
|
|
|
|
dependencies {
|
|
|
|
// Modified dependencies
|
|
implementation 'com.github.inorichi:subsampling-scale-image-view:ac0dae7'
|
|
implementation 'com.github.inorichi:junrar-android:634c1f5'
|
|
|
|
// Android support library
|
|
final support_library_version = '27.1.1'
|
|
implementation "com.android.support:support-v4:$support_library_version"
|
|
implementation "com.android.support:appcompat-v7:$support_library_version"
|
|
implementation "com.android.support:cardview-v7:$support_library_version"
|
|
implementation "com.android.support:design:$support_library_version"
|
|
implementation "com.android.support:recyclerview-v7:$support_library_version"
|
|
implementation "com.android.support:preference-v7:$support_library_version"
|
|
implementation "com.android.support:support-annotations:$support_library_version"
|
|
implementation "com.android.support:customtabs:$support_library_version"
|
|
|
|
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
|
|
|
|
implementation 'com.android.support:multidex:1.0.3'
|
|
|
|
standardImplementation 'com.google.firebase:firebase-core:16.0.1'
|
|
|
|
// ReactiveX
|
|
implementation 'io.reactivex:rxandroid:1.2.1'
|
|
implementation 'io.reactivex:rxjava:1.3.6'
|
|
implementation 'com.jakewharton.rxrelay:rxrelay:1.2.0'
|
|
implementation 'com.f2prateek.rx.preferences:rx-preferences:1.0.2'
|
|
implementation 'com.github.pwittchen:reactivenetwork:0.7.0'
|
|
|
|
// Network client
|
|
implementation "com.squareup.okhttp3:okhttp:3.10.0"
|
|
implementation 'com.squareup.okio:okio:1.14.0'
|
|
|
|
// REST
|
|
final retrofit_version = '2.3.0'
|
|
implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
|
|
implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
|
|
implementation "com.squareup.retrofit2:adapter-rxjava:$retrofit_version"
|
|
|
|
// JSON
|
|
implementation 'com.google.code.gson:gson:2.8.5'
|
|
implementation 'com.github.salomonbrys.kotson:kotson:2.5.0'
|
|
|
|
// JavaScript engine
|
|
implementation 'com.squareup.duktape:duktape-android:1.2.0'
|
|
|
|
// Disk
|
|
implementation 'com.jakewharton:disklrucache:2.0.2'
|
|
implementation 'com.github.inorichi:unifile:e9ee588'
|
|
|
|
// HTML parser
|
|
implementation 'org.jsoup:jsoup:1.11.3'
|
|
|
|
// Job scheduling
|
|
implementation 'com.evernote:android-job:1.2.5'
|
|
implementation 'com.google.android.gms:play-services-gcm:15.0.1'
|
|
|
|
// Changelog
|
|
implementation 'com.github.gabrielemariotti.changeloglib:changelog:2.1.0'
|
|
|
|
// Database
|
|
implementation 'android.arch.persistence:db:1.0.0'
|
|
implementation 'com.github.inorichi.storio:storio-common:8be19de@aar'
|
|
implementation 'com.github.inorichi.storio:storio-sqlite:8be19de@aar'
|
|
implementation 'io.requery:sqlite-android:3.25.2'
|
|
|
|
// Model View Presenter
|
|
final nucleus_version = '3.0.0'
|
|
implementation "info.android15.nucleus:nucleus:$nucleus_version"
|
|
implementation "info.android15.nucleus:nucleus-support-v7:$nucleus_version"
|
|
|
|
// Dependency injection
|
|
implementation "com.github.inorichi.injekt:injekt-core:65b0440"
|
|
|
|
// Image library
|
|
final glide_version = '4.6.1'
|
|
implementation "com.github.bumptech.glide:glide:$glide_version"
|
|
implementation "com.github.bumptech.glide:okhttp3-integration:$glide_version"
|
|
kapt "com.github.bumptech.glide:compiler:$glide_version"
|
|
|
|
// Transformations
|
|
implementation 'jp.wasabeef:glide-transformations:3.1.1'
|
|
|
|
// Logging
|
|
implementation 'com.jakewharton.timber:timber:4.7.0'
|
|
|
|
// Crash reports
|
|
implementation 'ch.acra:acra:4.9.2'
|
|
|
|
// Sort
|
|
implementation 'com.github.gpanther:java-nat-sort:natural-comparator-1.1'
|
|
|
|
// UI
|
|
implementation 'com.dmitrymalkovich.android:material-design-dimens:1.4'
|
|
implementation 'com.github.dmytrodanylyk.android-process-button:library:1.0.4'
|
|
implementation 'eu.davidea:flexible-adapter:5.0.0-rc4'
|
|
implementation 'eu.davidea:flexible-adapter-ui:1.0.0-b1'
|
|
implementation 'com.nononsenseapps:filepicker:2.5.2'
|
|
implementation 'com.github.amulyakhare:TextDrawable:558677e'
|
|
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
|
|
implementation 'me.zhanghai.android.systemuihelper:library:1.0.0'
|
|
implementation 'com.nightlynexus.viewstatepageradapter:viewstatepageradapter:1.0.4'
|
|
implementation 'com.github.mthli:Slice:v1.2'
|
|
implementation 'me.gujun.android.taggroup:library:1.4@aar'
|
|
implementation 'com.github.chrisbanes:PhotoView:2.1.3'
|
|
implementation 'com.github.inorichi:DirectionalViewPager:3acc51a'
|
|
|
|
// Conductor
|
|
implementation 'com.bluelinelabs:conductor:2.1.5'
|
|
implementation("com.bluelinelabs:conductor-support:2.1.5") {
|
|
exclude group: "com.android.support"
|
|
}
|
|
implementation 'com.github.inorichi:conductor-support-preference:27.0.2'
|
|
|
|
// RxBindings
|
|
final rxbindings_version = '1.0.1'
|
|
implementation "com.jakewharton.rxbinding:rxbinding-kotlin:$rxbindings_version"
|
|
implementation "com.jakewharton.rxbinding:rxbinding-appcompat-v7-kotlin:$rxbindings_version"
|
|
implementation "com.jakewharton.rxbinding:rxbinding-support-v4-kotlin:$rxbindings_version"
|
|
implementation "com.jakewharton.rxbinding:rxbinding-recyclerview-v7-kotlin:$rxbindings_version"
|
|
|
|
// Tests
|
|
testImplementation 'junit:junit:4.12'
|
|
testImplementation 'org.assertj:assertj-core:1.7.1'
|
|
testImplementation 'org.mockito:mockito-core:1.10.19'
|
|
|
|
final robolectric_version = '3.1.4'
|
|
testImplementation "org.robolectric:robolectric:$robolectric_version"
|
|
testImplementation "org.robolectric:shadows-multidex:$robolectric_version"
|
|
testImplementation "org.robolectric:shadows-play-services:$robolectric_version"
|
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
|
|
final coroutines_version = '0.22.2'
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
|
|
|
|
// Pin lock view (EH)
|
|
implementation 'com.andrognito.pinlockview:pinlockview:2.1.0'
|
|
|
|
// Reprint (EH)
|
|
implementation 'com.github.ajalt.reprint:core:3.2.1@aar'
|
|
implementation 'com.github.ajalt.reprint:rxjava:3.2.1@aar' // optional: the RxJava 1 interface
|
|
|
|
// Swirl (EH)
|
|
implementation 'com.mattprecious.swirl:swirl:1.1.0'
|
|
|
|
// RxJava 2 interop for Realm (EH)
|
|
implementation 'com.lvla.android:rxjava2-interop-kt:0.2.1'
|
|
|
|
// Debug network interceptor (EH)
|
|
devImplementation "com.squareup.okhttp3:logging-interceptor:3.10.0"
|
|
|
|
// Serialization
|
|
implementation ("com.fasterxml.jackson.module:jackson-module-kotlin:2.9.+") {
|
|
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-reflect'
|
|
}
|
|
|
|
// Firebase (EH)
|
|
implementation 'com.google.firebase:firebase-perf:16.0.0'
|
|
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
|
|
}
|
|
|
|
buildscript {
|
|
ext.kotlin_version = '1.2.71'
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
kotlin {
|
|
experimental {
|
|
coroutines 'enable'
|
|
}
|
|
}
|
|
|
|
androidExtensions {
|
|
experimental = true
|
|
}
|
|
|
|
if (getGradle().getStartParameter().getTaskRequests().toString().contains("Standard")) {
|
|
apply plugin: 'com.google.gms.google-services'
|
|
}
|