newpipe extractor fix add approx filesize remember text wrap state in logs/terminal if quick download enabled, added ability to show the download card while sharing the txt file on any download type hide download size when enabling cutting because the size is unknown
213 lines
8 KiB
Groovy
213 lines
8 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1'
|
|
id 'org.jetbrains.kotlin.android'
|
|
id 'com.google.devtools.ksp'
|
|
id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10"
|
|
id "org.jetbrains.kotlin.plugin.parcelize" version "1.8.10"
|
|
}
|
|
|
|
def properties = new Properties()
|
|
def versionMajor = 1
|
|
def versionMinor = 7
|
|
def versionPatch = 9
|
|
def versionBuild = 1 // bump for dogfood builds, public betas, etc.
|
|
def isBeta = false
|
|
|
|
def versionExt = ""
|
|
if (versionBuild > 0) {
|
|
versionExt += ".${versionBuild}"
|
|
}
|
|
if (isBeta) {
|
|
versionExt += "-beta"
|
|
}
|
|
|
|
android {
|
|
namespace 'com.deniscerri.ytdl'
|
|
compileSdk 34
|
|
|
|
try {
|
|
def propertiesFile = rootProject.file("local.properties")
|
|
if(propertiesFile.text != ""){
|
|
properties.load(new FileInputStream(propertiesFile))
|
|
|
|
properties.load(new FileInputStream(propertiesFile))
|
|
signingConfigs {
|
|
debug {
|
|
storeFile file(properties["signingConfig.storeFile"])
|
|
storePassword properties["signingConfig.storePassword"]
|
|
keyAlias properties["signingConfig.keyAlias"]
|
|
keyPassword properties["signingConfig.keyPassword"]
|
|
}
|
|
}
|
|
}
|
|
}catch(IOException ignored){}
|
|
defaultConfig {
|
|
applicationId "com.deniscerri.ytdl"
|
|
minSdk 23
|
|
targetSdk 33
|
|
versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
|
|
versionName "${versionMajor}.${versionMinor}.${versionPatch}${versionExt}"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
archivesBaseName = "YTDLnis-$versionName"
|
|
vectorDrawables {
|
|
useSupportLibrary true
|
|
}
|
|
|
|
ksp {
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
}
|
|
|
|
}
|
|
|
|
sourceSets {
|
|
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
debuggable false
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
|
|
debug {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
debuggable true
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
}
|
|
|
|
lintOptions{
|
|
disable 'MissingTranslation'
|
|
}
|
|
|
|
android.applicationVariants.configureEach { variant ->
|
|
variant.outputs.each { output ->
|
|
def baseAbiVersionCode = project.abiCodes.get(output.getFilter(com.android.build.OutputFile.ABI))
|
|
if (baseAbiVersionCode != null) {
|
|
output.versionCodeOverride = (100 * project.android.defaultConfig.versionCode) + baseAbiVersionCode
|
|
} else {
|
|
output.versionCodeOverride = 100 * project.android.defaultConfig.versionCode
|
|
}
|
|
}
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
compose true
|
|
}
|
|
|
|
compileOptions {
|
|
coreLibraryDesugaringEnabled true
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = '17'
|
|
}
|
|
|
|
splits {
|
|
abi {
|
|
enable true
|
|
reset()
|
|
include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
|
universalApk true
|
|
}
|
|
}
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion composeVer
|
|
}
|
|
|
|
dependenciesInfo {
|
|
// Disables dependency metadata when building APKs.
|
|
includeInApk = false
|
|
// Disables dependency metadata when building Android App Bundles.
|
|
includeInBundle = false
|
|
}
|
|
}
|
|
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs_nio:2.1.0"
|
|
implementation "com.github.yausername.youtubedl-android:library:$youtubedlAndroidVer"
|
|
implementation "com.github.yausername.youtubedl-android:ffmpeg:$youtubedlAndroidVer"
|
|
implementation "com.github.yausername.youtubedl-android:aria2c:$youtubedlAndroidVer"
|
|
|
|
// implementation "io.github.junkfood02.youtubedl-android:library:0.16.1"
|
|
// implementation "io.github.junkfood02.youtubedl-android:ffmpeg:0.16.1"
|
|
// implementation "io.github.junkfood02.youtubedl-android:aria2c:0.16.1"
|
|
|
|
implementation "androidx.appcompat:appcompat:$appCompatVer"
|
|
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
|
implementation 'com.google.android.material:material:1.10.0'
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.3.2'
|
|
implementation 'androidx.preference:preference-ktx:1.2.1'
|
|
implementation "androidx.navigation:navigation-fragment-ktx:$navVer"
|
|
implementation "androidx.navigation:navigation-ui-ktx:$navVer"
|
|
implementation 'androidx.core:core-ktx:1.13.1'
|
|
implementation 'androidx.test.ext:junit-ktx:1.2.1'
|
|
implementation 'androidx.compose.ui:ui-android:1.6.8'
|
|
implementation 'androidx.preference:preference-ktx:1.2.1'
|
|
testImplementation "junit:junit:$junitVer"
|
|
androidTestImplementation "junit:junit:$junitVer"
|
|
androidTestImplementation "androidx.test.ext:junit:$androidJunitVer"
|
|
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVer"
|
|
|
|
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
|
implementation 'com.devbrackets.android:exomedia:5.1.0'
|
|
|
|
implementation("androidx.cardview:cardview:1.0.0")
|
|
implementation("com.squareup.picasso:picasso:2.71828")
|
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
|
|
|
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
|
|
implementation 'com.facebook.shimmer:shimmer:0.5.0'
|
|
|
|
implementation "androidx.work:work-runtime-ktx:$workVer"
|
|
|
|
implementation "androidx.room:room-runtime:$roomVer"
|
|
implementation "androidx.room:room-ktx:$roomVer"
|
|
ksp "androidx.room:room-compiler:$roomVer"
|
|
implementation 'androidx.paging:paging-runtime-ktx:3.3.0'
|
|
implementation "androidx.room:room-paging:$roomVer"
|
|
androidTestImplementation "androidx.room:room-testing:$roomVer"
|
|
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.4'
|
|
implementation "androidx.compose.runtime:runtime:$composeVer"
|
|
androidTestImplementation 'com.google.truth:truth:1.1.5'
|
|
|
|
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVer"
|
|
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVer"
|
|
|
|
implementation 'com.google.code.gson:gson:2.10.1'
|
|
implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.10"
|
|
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0'
|
|
implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4'
|
|
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.4"
|
|
implementation "com.github.Irineu333:Highlight-KT:1.0.4"
|
|
|
|
// For media playback using ExoPlayer
|
|
implementation("androidx.media3:media3-exoplayer:$media3_version")
|
|
// For DASH playback support with ExoPlayer
|
|
implementation("androidx.media3:media3-exoplayer-dash:$media3_version")
|
|
// For HLS playback support with ExoPlayer
|
|
implementation("androidx.media3:media3-exoplayer-hls:$media3_version")
|
|
implementation("androidx.media3:media3-ui:$media3_version")
|
|
// For RTSP playback support with ExoPlayer
|
|
implementation("androidx.media3:media3-exoplayer-rtsp:$media3_version")
|
|
|
|
implementation "com.anggrayudi:storage:1.5.5"
|
|
implementation 'me.zhanghai.android.fastscroll:library:1.3.0'
|
|
implementation 'com.google.accompanist:accompanist-webview:0.30.1'
|
|
implementation 'androidx.compose.material3:material3-android:1.2.1'
|
|
implementation "io.noties.markwon:core:4.6.2"
|
|
implementation("org.greenrobot:eventbus:3.3.1")
|
|
implementation("com.github.TeamNewPipe:NewPipeExtractor:0.24.2")
|
|
}
|