# 1.5.0 (2021-10-05) ### Bug Fixes * Added missing description files required for fastlane38eb072
* android update9fc9804
* android update9800140
* android update5f1ea69
* android update2ccb9fd
* android updatebe6f946
* android update3a7ca15
* android updatef71aeb2
* android update48007d3
* android update1996d30
* android update18c390d
* android update011a605
* android update4d198df
* android update20d41d5
* android updatecb9801b
* android update3e168e6
* android updateeb28e81
* jdk update8889ab1
* jdk updateddb0f73
* **lang:** Weblate translation (Albanian)0c2de46
* **lang:** Weblate translation (Albanian)20ee0aa
* **lang:** Weblate translation (Bengali (Bangladesh))e2ced85
* **lang:** Weblate translation (Bengali (Bangladesh))0da8653
* **lang:** Weblate translation (Bengali)cc34d94
* **lang:** Weblate translation (Finnish)cd64314
* **lang:** Weblate translation (French)5b539f9
* **lang:** Weblate translation (French)2a02143
* **lang:** Weblate translation (Indonesian)eea466c
* **lang:** Weblate translation (Italian)8b2f5e5
* **lang:** Weblate translation (Persian)7bff5f1
* **lang:** Weblate translation (Portuguese)d0dd108
* **lang:** Weblate translation (Russian (ru_CARES))be41b42
* **lang:** Weblate translation (Russian)cc6a1b8
* **lang:** Weblate translation (Sardinian)952eb36
* **lang:** Weblate translation (Sinhala)1b7007a
* **lang:** Weblate translation (Spanish)f94374c
* **lang:** Weblate translation (Albanian)970c27a
* **lang:** Weblate translation (Arabic)4f1d27f
* **lang:** Weblate translation (Arabic)5d811cc
* **lang:** Weblate translation (Arabic)53047c9
* **lang:** Weblate translation (Bengali (Bangladesh))2e21b02
* **lang:** Weblate translation (Bengali (Bangladesh))a6fbe44
* **lang:** Weblate translation (Bengali)937175d
* **lang:** Weblate translation (Bengali)9cdce0c
* **lang:** Weblate translation (Bengali)9686f61
* **lang:** Weblate translation (Czech)2824300
* **lang:** Weblate translation (Esperanto)841d711
* **lang:** Weblate translation (Esperanto)8d69ea5
* **lang:** Weblate translation (Finnish)bfb80c4
* **lang:** Weblate translation (French)8a05579
* **lang:** Weblate translation (French)6ff05b5
* **lang:** Weblate translation (German)8fef278
* **lang:** Weblate translation (German)8028936
* **lang:** Weblate translation (Greek)553869d
* **lang:** Weblate translation (Greek)05f0369
* **lang:** Weblate translation (Indonesian)ebae5e2
* **lang:** Weblate translation (Indonesian)ae5462a
* **lang:** Weblate translation (Italian)4adbe6f
* **lang:** Weblate translation (Japanese)d873254
* **lang:** Weblate translation (Japanese)e7cf39d
* **lang:** Weblate translation (Norwegian Bokmål)fc02ce1
* **lang:** Weblate translation (Persian)71ab54e
* **lang:** Weblate translation (Portuguese (Brazil))3887cda
* **lang:** Weblate translation (Portuguese)ce48913
* **lang:** Weblate translation (Portuguese)7d790d3
* **lang:** Weblate translation (Russian)a464d50
* **lang:** Weblate translation (Russian)632af1a
* **lang:** Weblate translation (Russian)5f115d3
* **lang:** Weblate translation (Sinhala)abca190
* **lang:** Weblate translation (Spanish)63324bc
* **lang:** Weblate translation (Swedish)5608c0d
* **lang:** Weblate translation (Swedish)376e05c
* **lang:** Weblate translation (Ukrainian)3dc4867
* node version36b840f
* node version3ee6071
* Updated gradle in docker79c9e97
### Features * Android lib updates, gradle update5f2847c
* **lang:** Added translation using Weblate (Albanian)773f108
* **lang:** Added translation using Weblate (Esperanto)a2880f7
* **lang:** Added translation using Weblate (Sardinian)ccc7723
* **lang:** Added translation using Weblate (Sinhala)4d48100
176 lines
6.4 KiB
Groovy
176 lines
6.4 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'kotlin-android'
|
|
id 'kotlin-parcelize'
|
|
id 'kotlin-kapt'
|
|
}
|
|
|
|
ext.readProperty = { paramName -> readPropertyWithDefault(paramName, null) }
|
|
ext.readPropertyWithDefault = { paramName, defaultValue ->
|
|
if (project.hasProperty(paramName)) {
|
|
return project.getProperties().get(paramName)
|
|
} else {
|
|
Properties properties = new Properties()
|
|
if (project.rootProject.file('local.properties').exists()) {
|
|
properties.load(project.rootProject.file('local.properties').newDataInputStream())
|
|
}
|
|
if (properties.getProperty(paramName) != null) {
|
|
return properties.getProperty(paramName)
|
|
} else {
|
|
return defaultValue
|
|
}
|
|
}
|
|
}
|
|
|
|
// Try reading secrets from file
|
|
def secretsPropertiesFile = rootProject.file("secrets.properties")
|
|
def secretProperties = new Properties()
|
|
|
|
if (secretsPropertiesFile.exists()) {
|
|
secretProperties.load(new FileInputStream(secretsPropertiesFile))
|
|
}
|
|
// Otherwise read from environment variables, this happens in CI
|
|
else {
|
|
secretProperties.setProperty("signing_keystore_password", "${System.getenv('signing_keystore_password')}")
|
|
secretProperties.setProperty("signing_key_password", "${System.getenv('signing_key_password')}")
|
|
secretProperties.setProperty("signing_key_alias", "${System.getenv('signing_key_alias')}")
|
|
}
|
|
|
|
apply plugin: 'kotlin-kapt'
|
|
|
|
android {
|
|
compileSdkVersion 29
|
|
buildToolsVersion "30.0.2"
|
|
|
|
defaultConfig {
|
|
applicationId "net.schueller.peertube"
|
|
minSdkVersion 21
|
|
targetSdkVersion 29
|
|
versionCode 1061
|
|
versionName "1.5.0"
|
|
buildConfigField "long", "BUILD_TIME", readPropertyWithDefault('buildTimestamp', System.currentTimeMillis()) + 'L'
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
javaCompileOptions {
|
|
annotationProcessorOptions {
|
|
arguments = [
|
|
"room.schemaLocation" : "$projectDir/schemas".toString(),
|
|
"room.incremental" : "true",
|
|
"room.expandProjection": "true"]
|
|
}
|
|
}
|
|
}
|
|
signingConfigs {
|
|
release {
|
|
// You need to specify either an absolute path or include the
|
|
// keystore file in the same directory as the build.gradle file.
|
|
storeFile file("../android-signing-keystore.jks")
|
|
storePassword "${secretProperties['signing_keystore_password']}"
|
|
keyAlias "${secretProperties['signing_key_alias']}"
|
|
keyPassword "${secretProperties['signing_key_password']}"
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
testCoverageEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
signingConfig signingConfigs.release
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
applicationVariants.all { variant ->
|
|
variant.resValue "string", "versionName", variant.versionName
|
|
}
|
|
|
|
buildFeatures{
|
|
viewBinding = true
|
|
}
|
|
|
|
}
|
|
|
|
def room_version = "2.3.0"
|
|
def lifecycleVersion = '2.3.1'
|
|
def exoplayer = '2.12.3'
|
|
def fragment_version = "1.3.6"
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
|
|
// Layouts and design
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
|
|
implementation 'androidx.appcompat:appcompat:1.3.1'
|
|
implementation 'com.google.android.material:material:1.4.0'
|
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
|
implementation "androidx.fragment:fragment-ktx:$fragment_version"
|
|
|
|
implementation 'de.hdodenhof:circleimageview:3.1.0'
|
|
|
|
// font awesome
|
|
implementation 'com.mikepenz:iconics-core:5.2.4'
|
|
implementation 'com.mikepenz:fontawesome-typeface:5.9.0.2-kotlin@aar'
|
|
|
|
// http client / REST
|
|
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
|
|
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
|
|
|
// image downloading and caching library
|
|
implementation 'com.squareup.picasso:picasso:2.71828'
|
|
|
|
// json decoder/encoder
|
|
implementation 'com.google.code.gson:gson:2.8.6'
|
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
|
|
|
// Torrents and WebRTC
|
|
implementation 'com.github.TorrentStream:TorrentStream-Android:2.7.0'
|
|
// implementation "com.github.TorrentStream:TorrentStreamServer-Android:1.0.1"
|
|
// implementation 'org.webrtc:google-webrtc:1.0.+'
|
|
|
|
// video player repo:jcenter()
|
|
implementation "com.google.android.exoplayer:exoplayer-core:$exoplayer"
|
|
implementation "com.google.android.exoplayer:exoplayer-dash:$exoplayer"
|
|
implementation "com.google.android.exoplayer:exoplayer-ui:$exoplayer"
|
|
implementation "com.google.android.exoplayer:exoplayer-hls:$exoplayer"
|
|
implementation "com.google.android.exoplayer:exoplayer-smoothstreaming:$exoplayer"
|
|
implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer"
|
|
implementation "com.google.android.exoplayer:extension-okhttp:$exoplayer"
|
|
|
|
// date formatter, do not update past 4.0.4 https://github.com/sschueller/peertube-android/issues/262
|
|
implementation 'org.ocpsoft.prettytime:prettytime:4.0.4.Final'
|
|
|
|
// Version comparison
|
|
implementation 'org.apache.maven:maven-artifact:3.6.3'
|
|
|
|
// database lib
|
|
implementation "androidx.room:room-runtime:$room_version"
|
|
implementation "androidx.room:room-ktx:$room_version"
|
|
kapt "androidx.room:room-compiler:$room_version"
|
|
|
|
// Lifecycle components
|
|
kapt "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion"
|
|
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion"
|
|
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
|
|
|
|
implementation 'androidx.preference:preference-ktx:1.1.1'
|
|
|
|
// testing
|
|
testImplementation 'junit:junit:4.13.1'
|
|
androidTestImplementation 'androidx.test:runner:1.4.0'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
|
androidTestImplementation "androidx.room:room-testing:$room_version"
|
|
}
|
|
|
|
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
}
|