diff --git a/.github/workflows/create-documentation-pr.yml b/.github/workflows/create-documentation-pr.yml
index b0c67ca..15cdff3 100644
--- a/.github/workflows/create-documentation-pr.yml
+++ b/.github/workflows/create-documentation-pr.yml
@@ -14,7 +14,7 @@ jobs:
steps:
- name: Check out current repository code
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Create the documentation pull request
uses: apivideo/api.video-create-readme-file-pull-request-action@main
diff --git a/.github/workflows/create-release-from-changelog.yml b/.github/workflows/create-release-from-changelog.yml
index 393a1b8..5fbbb90 100644
--- a/.github/workflows/create-release-from-changelog.yml
+++ b/.github/workflows/create-release-from-changelog.yml
@@ -10,7 +10,7 @@ jobs:
update-documentation:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Create draft release if needed
uses: apivideo/api.video-release-from-changelog-action@main
with:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 469b145..3cbc2a1 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -8,11 +8,11 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Set up Java
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v4
with:
- java-version: '11'
+ java-version: '17'
distribution: 'adopt'
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 22e20d6..bfe647f 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -6,11 +6,11 @@ jobs:
unit-tests:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Set up Java
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v4
with:
- java-version: '11'
+ java-version: '17'
distribution: 'adopt'
- name: Make gradlew executable
run: chmod +x ./gradlew
diff --git a/CHANGELOG.md b/CHANGELOG.md
index db9a945..a9bfb88 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,9 @@
# Changelog
All changes to this project will be documented in this file.
+## [1.3.4] - 2024-01-08
+- Upgrade dependencies, gradle and Kotlin
+
## [1.3.3] - 2023-12-14
- Add support for API level >= 34 for WorkManager
diff --git a/README.md b/README.md
index c9c711a..26174c2 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,7 @@ Add this dependency to your project's POM:
video.api
android-video-uploader
- 1.3.3
+ 1.3.4
compile
```
@@ -72,7 +72,7 @@ Add this dependency to your project's POM:
Add this dependency to your project's build file:
```groovy
-implementation "video.api:android-video-uploader:1.3.3"
+implementation "video.api:android-video-uploader:1.3.4"
```
#### Others
@@ -85,7 +85,7 @@ mvn clean package
Then manually install the following JARs:
-* `target/android-video-uploader-1.3.3.jar`
+* `target/android-video-uploader-1.3.4.jar`
* `target/lib/*.jar`
### Code sample
diff --git a/build.gradle b/build.gradle
index 5a9fa66..b962efb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ apply plugin: 'maven-publish'
apply plugin: 'kotlin-android'
group = 'video.api'
-version = '1.3.3'
+version = '1.3.4'
buildscript {
repositories {
@@ -14,8 +14,8 @@ buildscript {
}
dependencies {
classpath 'com.diffplug.spotless:spotless-plugin-gradle:5.17.1'
- classpath 'com.android.tools.build:gradle:7.4.1'
- classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.21'
+ classpath 'com.android.tools.build:gradle:8.2.2'
+ classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22'
classpath 'de.mannodermaus.gradle.plugins:android-junit5:1.8.2.1'
}
}
@@ -33,11 +33,12 @@ if(hasProperty('target') && target == 'android') {
apply from: 'maven-push.gradle'
android {
- compileSdkVersion 33
- buildToolsVersion '30.0.3'
+ compileSdk 34
+
defaultConfig {
- minSdkVersion 21
- targetSdkVersion 33
+ minSdk 21
+ targetSdk 34
+
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -49,6 +50,12 @@ if(hasProperty('target') && target == 'android') {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+
+ namespace "video.api.uploader.api"
}
} else {
@@ -83,30 +90,30 @@ if(hasProperty('target') && target == 'android') {
dependencies {
implementation 'io.swagger:swagger-annotations:1.5.24'
implementation "com.google.code.findbugs:jsr305:3.0.2"
- api 'com.squareup.okhttp3:okhttp:4.10.0'
- implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
- implementation 'com.google.code.gson:gson:2.8.9'
- implementation 'io.gsonfire:gson-fire:1.8.4'
- implementation 'org.openapitools:jackson-databind-nullable:0.2.1'
+ api 'com.squareup.okhttp3:okhttp:4.12.0'
+ implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
+ implementation 'com.google.code.gson:gson:2.10.1'
+ implementation 'io.gsonfire:gson-fire:1.9.0'
+ implementation 'org.openapitools:jackson-databind-nullable:0.2.6'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.10'
- implementation 'org.threeten:threetenbp:1.5.2'
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21"
- implementation 'androidx.core:core-ktx:1.9.0'
- implementation 'androidx.work:work-runtime-ktx:2.8.0'
- testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.0'
+ implementation 'org.threeten:threetenbp:1.6.8'
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22"
+ implementation 'androidx.core:core-ktx:1.12.0'
+ implementation 'androidx.work:work-runtime-ktx:2.9.0'
+ testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
testImplementation 'junit:junit:4.13.2'
- testImplementation 'org.mockito:mockito-core:3.12.4'
+ testImplementation 'org.mockito:mockito-core:5.7.0'
testImplementation 'org.assertj:assertj-core:3.19.0'
- testImplementation "com.google.truth:truth:1.1.3"
- androidTestImplementation "com.google.truth:truth:1.1.3"
+ testImplementation "com.google.truth:truth:1.4.0"
+ androidTestImplementation "com.google.truth:truth:1.4.0"
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'androidx.test:rules:1.5.0'
androidTestImplementation 'androidx.test:core:1.5.0'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
- androidTestImplementation 'de.mannodermaus.junit5:android-test-core:1.3.0'
- androidTestRuntimeOnly 'de.mannodermaus.junit5:android-test-runner:1.3.0'
+ androidTestImplementation 'de.mannodermaus.junit5:android-test-core:1.10.0'
+ androidTestRuntimeOnly 'de.mannodermaus.junit5:android-test-runner:1.10.0'
}
// Use spotless plugin to automatically format code, remove unused import, etc
diff --git a/examples/service/build.gradle b/examples/service/build.gradle
index b91967a..90284f8 100644
--- a/examples/service/build.gradle
+++ b/examples/service/build.gradle
@@ -23,28 +23,34 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+
kotlinOptions {
jvmTarget = '1.8'
}
+
packagingOptions {
resources {
excludes += ['META-INF/DEPENDENCIES']
}
}
+
buildFeatures {
viewBinding true
}
+
+ namespace "video.api.uploader.service.example"
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'androidx.preference:preference-ktx:1.2.0'
+ implementation 'androidx.preference:preference-ktx:1.2.1'
implementation project(path: ':')
diff --git a/examples/service/src/main/AndroidManifest.xml b/examples/service/src/main/AndroidManifest.xml
index 1aef279..ee8dff5 100644
--- a/examples/service/src/main/AndroidManifest.xml
+++ b/examples/service/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
diff --git a/examples/workmanager/build.gradle b/examples/workmanager/build.gradle
index 0232c83..e45fb21 100644
--- a/examples/workmanager/build.gradle
+++ b/examples/workmanager/build.gradle
@@ -23,31 +23,37 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+
kotlinOptions {
jvmTarget = '1.8'
}
+
packagingOptions {
resources {
excludes += ['META-INF/DEPENDENCIES']
}
}
+
buildFeatures {
viewBinding true
}
+
+ namespace "video.api.uploader.work.example"
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'androidx.preference:preference-ktx:1.2.0'
+ implementation 'androidx.preference:preference-ktx:1.2.1'
implementation project(path: ':')
- implementation 'androidx.work:work-runtime-ktx:2.8.0'
+ implementation 'androidx.work:work-runtime-ktx:2.9.0'
testImplementation 'junit:junit:4.13.2'
}
\ No newline at end of file
diff --git a/examples/workmanager/src/main/AndroidManifest.xml b/examples/workmanager/src/main/AndroidManifest.xml
index dadf467..170ae29 100644
--- a/examples/workmanager/src/main/AndroidManifest.xml
+++ b/examples/workmanager/src/main/AndroidManifest.xml
@@ -1,7 +1,6 @@
+ xmlns:tools="http://schemas.android.com/tools">
diff --git a/gradle.properties b/gradle.properties
index b3a4f28..4c95bd5 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,4 @@
target = android
android.useAndroidX=true
+android.nonTransitiveRClass=false
+android.nonFinalResIds=false
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 8049c68..15de902 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/maven-push.gradle b/maven-push.gradle
index a50fdd3..f474974 100644
--- a/maven-push.gradle
+++ b/maven-push.gradle
@@ -18,7 +18,7 @@ apply plugin: 'maven-publish'
apply plugin: 'signing'
def isReleaseBuild() {
- return !"1.3.3".contains("SNAPSHOT")
+ return !"1.3.4".contains("SNAPSHOT")
}
def getReleaseRepositoryUrl() {
@@ -39,7 +39,17 @@ def getRepositoryPassword() {
return hasProperty('OSSRH_PASSWORD') ? OSSRH_PASSWORD : System.getenv("OSSRH_PASSWORD")
}
-afterEvaluate { project ->
+android {
+ publishing {
+ multipleVariants {
+ withSourcesJar()
+ withJavadocJar()
+ allVariants()
+ }
+ }
+}
+
+afterEvaluate {
publishing {
publications {
release(MavenPublication) {
@@ -47,7 +57,7 @@ afterEvaluate { project ->
groupId = "video.api"
artifactId = "android-video-uploader"
- version = "1.3.3"
+ version = "1.3.4"
pom {
name = "video.api:android-video-uploader"
diff --git a/pom.xml b/pom.xml
index 191485a..c32f8b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
android-video-uploader
jar
${project.groupId}:${project.artifactId}
- 1.3.3
+ 1.3.4
https://github.com/apivideo/api.video-android-uploader
The official Android api.video uploader
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 03482bb..73c861c 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/src/main/java/video/api/uploader/api/ApiClient.java b/src/main/java/video/api/uploader/api/ApiClient.java
index 855b580..8d3d285 100644
--- a/src/main/java/video/api/uploader/api/ApiClient.java
+++ b/src/main/java/video/api/uploader/api/ApiClient.java
@@ -118,7 +118,7 @@ private OkHttpClient initHttpClient(List interceptors) {
private void init() {
verifyingSsl = true;
json = new JSON();
- addDefaultHeader("AV-Origin-Client", "android-uploader:1.3.3");
+ addDefaultHeader("AV-Origin-Client", "android-uploader:1.3.4");
}
private boolean isValid(String regex, String field) {
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 935cc8d..125df5a 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -2,7 +2,7 @@
Video uploader
Uploading
- Uploaded %1d of %1d
+ Uploaded %1d of %2d
%1d %%
Upload error
Upload starting…