From 19c5bf3d3aa9704b9d4451e54daa7172e9f6e15c Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 25 Jun 2022 19:23:31 +0200 Subject: [PATCH 01/20] - adjust README dependency definition --- README.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index afcf7c5d..dc258c5c 100644 --- a/README.md +++ b/README.md @@ -54,35 +54,47 @@ - Java && AndroidX | [v6.1.2](https://github.com/mikepenz/MaterialDrawer/tree/v6.1.2) - Java && AppCompat | [v6.0.9](https://github.com/mikepenz/MaterialDrawer/tree/v6.0.9) - ### 1. Provide the gradle dependency +The latest release is available +on [Maven Central](https://search.maven.org/artifact/com.mikepenz/materialdrawer/9.0.1/aar). + ```gradle -implementation "com.mikepenz:materialdrawer:${lastestMaterialDrawerRelease}" +implementation("com.mikepenz:materialdrawer:9.0.1") +``` +```gradle //required support lib modules implementation "androidx.appcompat:appcompat:${versions.appcompat}" implementation "androidx.recyclerview:recyclerview:${versions.recyclerView}" implementation "androidx.annotation:annotation:${versions.annotation}" implementation "com.google.android.material:material:1.5.0-alpha05" // requires at least 1.5.0-x implementation "androidx.constraintlayout:constraintlayout:${versions.constraintLayout}" +``` +[NavController Support @ Maven Central](https://search.maven.org/artifact/com.mikepenz/materialdrawer-nav/9.0.1/aar). + +```gradle // Add for NavController support implementation "com.mikepenz:materialdrawer-nav:${lastestMaterialDrawerRelease}" +``` +[Android-Iconics Support @ Maven Central](https://search.maven.org/artifact/com.mikepenz/materialdrawer-iconics/9.0.1/aar) +. + +```gradle // Add for Android-Iconics support implementation "com.mikepenz:materialdrawer-iconics:${lastestMaterialDrawerRelease}" ``` -You can find dependency versions and all library releases on [MVN Repository](https://mvnrepository.com/artifact/com.mikepenz/materialdrawer). ### 2. Add the `Drawer` into the XML The `MaterialDrawerSliderView` has to be provided as child of the `DrawerLayout` and will as such act as the slider ```kotlin - From d1ab1596baaec5601c4491031d2e51cd2a725012 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 25 Jun 2022 19:45:36 +0200 Subject: [PATCH 02/20] - run snapshot action - submit dependencies via dependency submission API --- .github/workflows/ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7cea22a3..9425dd4a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,6 +51,14 @@ jobs: if: github.event_name == 'pull_request' run: ./gradlew detekt + - name: Run snapshot action + uses: mikepenz/gradle-dependency-submission@v0.0.1 + with: + gradle-project-path: "" + gradle-dependency-path: "app/build.gradle" + gradle-build-module: ":app" + gradle-build-configuration: "debugCompileClasspath" + - name: Setup Ruby if: github.event_name == 'pull_request' uses: ruby/setup-ruby@v1 From 5815cdb18a1dd6177213d91c52f6b72b8748eb63 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 25 Jun 2022 20:37:52 +0200 Subject: [PATCH 03/20] - update to newer iteration of gradle-dependency-submission action --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9425dd4a..daf98249 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: run: ./gradlew detekt - name: Run snapshot action - uses: mikepenz/gradle-dependency-submission@v0.0.1 + uses: mikepenz/gradle-dependency-submission@v0.0.2 with: gradle-project-path: "" gradle-dependency-path: "app/build.gradle" From 67e052ae09157c9ac5e72bba262b47105eaa6a62 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 25 Jun 2022 20:50:57 +0200 Subject: [PATCH 04/20] - use v0.0.3 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index daf98249..93257690 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: run: ./gradlew detekt - name: Run snapshot action - uses: mikepenz/gradle-dependency-submission@v0.0.2 + uses: mikepenz/gradle-dependency-submission@v0.0.3 with: gradle-project-path: "" gradle-dependency-path: "app/build.gradle" From fdf409dc10cf3dafd0f07a9215b77e6a7652d8ef Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 25 Jun 2022 22:13:10 +0200 Subject: [PATCH 05/20] - add permission for depenency submission API --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 93257690..f54de97c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,8 @@ jobs: build: name: Build runs-on: ubuntu-latest + permissions: + contents: write steps: - name: Checkout uses: actions/checkout@v2 From 12cb7a4fc3bf074fcfffac410a38d077e0d6824f Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sun, 26 Jun 2022 08:06:51 +0200 Subject: [PATCH 06/20] - run dependency submission on dev branch --- .github/workflows/ci.yml | 12 +----- .../gradle-dependency-submission.yml | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/gradle-dependency-submission.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f54de97c..70d9eaed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,15 +11,13 @@ jobs: build: name: Build runs-on: ubuntu-latest - permissions: - contents: write steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 100 - - uses: actions/setup-java@v1 + - uses: actions/setup-java@v3 with: java-version: '11' java-package: jdk @@ -53,14 +51,6 @@ jobs: if: github.event_name == 'pull_request' run: ./gradlew detekt - - name: Run snapshot action - uses: mikepenz/gradle-dependency-submission@v0.0.3 - with: - gradle-project-path: "" - gradle-dependency-path: "app/build.gradle" - gradle-build-module: ":app" - gradle-build-configuration: "debugCompileClasspath" - - name: Setup Ruby if: github.event_name == 'pull_request' uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml new file mode 100644 index 00000000..fb3215b8 --- /dev/null +++ b/.github/workflows/gradle-dependency-submission.yml @@ -0,0 +1,42 @@ +name: Gradle Dependency Submission +on: + push: + branches: + - develop + +jobs: + gradle-action-detection: + runs-on: ubuntu-latest + # The Dependency Submission API requires write permission + permissions: + contents: write + steps: + - name: 'Checkout Repository' + uses: actions/checkout@v3 + + - uses: actions/setup-java@v3 + with: + java-version: '11' + java-package: jdk + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Checkout Gradle Build Cache + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + !~/.gradle/wrapper/dists/**/gradle*.zip + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: | + gradle-${{ runner.os }}- + + - name: Run snapshot action + uses: mikepenz/gradle-dependency-submission@main + with: + gradle-project-path: "gradle-example" + gradle-dependency-path: "app/build.gradle" + gradle-build-module: ":app" + gradle-build-configuration: "debugCompileClasspath" \ No newline at end of file From c81ae4d502938fb1056831a1451e07cd52213e29 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sun, 26 Jun 2022 08:09:08 +0200 Subject: [PATCH 07/20] - provide distribution --- .github/workflows/ci.yml | 2 +- .github/workflows/gradle-dependency-submission.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70d9eaed..e5c8f504 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/setup-java@v3 with: java-version: '11' - java-package: jdk + distribution: 'temurin' - name: Validate gradle wrapper uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml index fb3215b8..e30bbaf6 100644 --- a/.github/workflows/gradle-dependency-submission.yml +++ b/.github/workflows/gradle-dependency-submission.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/setup-java@v3 with: java-version: '11' - java-package: jdk + distribution: 'temurin' - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties From 5dfc476314a01e1d6f1ebc67c31d0007c132acc8 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sun, 26 Jun 2022 08:12:11 +0200 Subject: [PATCH 08/20] - ci adjustment --- .github/workflows/gradle-dependency-submission.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml index e30bbaf6..c524288e 100644 --- a/.github/workflows/gradle-dependency-submission.yml +++ b/.github/workflows/gradle-dependency-submission.yml @@ -5,7 +5,7 @@ on: - develop jobs: - gradle-action-detection: + gradle-dependency-detection: runs-on: ubuntu-latest # The Dependency Submission API requires write permission permissions: @@ -34,9 +34,9 @@ jobs: gradle-${{ runner.os }}- - name: Run snapshot action - uses: mikepenz/gradle-dependency-submission@main + uses: mikepenz/gradle-dependency-submission@v0.0.3 with: - gradle-project-path: "gradle-example" + gradle-project-path: "" gradle-dependency-path: "app/build.gradle" gradle-build-module: ":app" gradle-build-configuration: "debugCompileClasspath" \ No newline at end of file From 3e0f5ed9a5463087c867b1cd6851d760a1b8c8da Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 20 Aug 2022 10:51:06 +0200 Subject: [PATCH 09/20] - update to newer dependency submission graph - submit all sub-modules --- .github/workflows/gradle-dependency-submission.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml index c524288e..ebf5d0e9 100644 --- a/.github/workflows/gradle-dependency-submission.yml +++ b/.github/workflows/gradle-dependency-submission.yml @@ -33,10 +33,9 @@ jobs: restore-keys: | gradle-${{ runner.os }}- - - name: Run snapshot action - uses: mikepenz/gradle-dependency-submission@v0.0.3 + - name: Submit Dependency Graph + uses: mikepenz/gradle-dependency-submission@v0.6.0 with: - gradle-project-path: "" - gradle-dependency-path: "app/build.gradle" - gradle-build-module: ":app" - gradle-build-configuration: "debugCompileClasspath" \ No newline at end of file + gradle-build-module: :app + gradle-build-configuration: debugCompileClasspath + sub-module-mode: INDIVIDUAL \ No newline at end of file From 8d110038d9c158d3ee3fb7bdcdf0c976bc44c849 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 20 Aug 2022 10:55:40 +0200 Subject: [PATCH 10/20] - update to gradle 7.5.1 --- gradle/wrapper/gradle-wrapper.jar | Bin 59821 -> 60756 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 6 ++++++ gradlew.bat | 14 ++++++++------ 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 41d9927a4d4fb3f96a785543079b8df6723c946b..249e5832f090a2944b7473328c07c9755baa3196 100644 GIT binary patch delta 10197 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 92f06b50..8fad3f5a 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.4.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 1b6c7873..a69d9cb6 100755 --- a/gradlew +++ b/gradlew @@ -205,6 +205,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/gradlew.bat b/gradlew.bat index ac1b06f9..53a6b238 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +75,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal From 3f65836fe8554f9ca17dd253c7659978092bc3ae Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 20 Aug 2022 12:30:30 +0200 Subject: [PATCH 11/20] - use new `INDIVIDUAL_DEEP` `sub-module-mode` from `gradle-dependency-submission` action --- .github/workflows/gradle-dependency-submission.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml index ebf5d0e9..a4914ce3 100644 --- a/.github/workflows/gradle-dependency-submission.yml +++ b/.github/workflows/gradle-dependency-submission.yml @@ -34,8 +34,8 @@ jobs: gradle-${{ runner.os }}- - name: Submit Dependency Graph - uses: mikepenz/gradle-dependency-submission@v0.6.0 + uses: mikepenz/gradle-dependency-submission@main with: gradle-build-module: :app gradle-build-configuration: debugCompileClasspath - sub-module-mode: INDIVIDUAL \ No newline at end of file + sub-module-mode: INDIVIDUAL_DEEP \ No newline at end of file From 1579443c38ebf745cf1d4250b589c303eb25f83c Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Thu, 24 Nov 2022 10:04:16 +0100 Subject: [PATCH 12/20] Update README.md Add warning on old versions only being provided `as-is` --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dc258c5c..ccd52745 100644 --- a/README.md +++ b/README.md @@ -50,9 +50,9 @@ ## Latest releases 🛠 - Kotlin && Material 3 | [v9.0.1](https://github.com/mikepenz/MaterialDrawer/tree/v9.0.1) -- Kotlin | [v8.4.5](https://github.com/mikepenz/MaterialDrawer/tree/v8.4.5) -- Java && AndroidX | [v6.1.2](https://github.com/mikepenz/MaterialDrawer/tree/v6.1.2) -- Java && AppCompat | [v6.0.9](https://github.com/mikepenz/MaterialDrawer/tree/v6.0.9) +- Kotlin | [v8.4.5](https://github.com/mikepenz/MaterialDrawer/tree/v8.4.5) (Provided as-is only) +- Java && AndroidX | [v6.1.2](https://github.com/mikepenz/MaterialDrawer/tree/v6.1.2) (Provided as-is only) +- Java && AppCompat | [v6.0.9](https://github.com/mikepenz/MaterialDrawer/tree/v6.0.9) (Provided as-is only) ### 1. Provide the gradle dependency From b68f466eed256fd373279b29dba0297f34016658 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jan 2023 21:58:49 +0000 Subject: [PATCH 13/20] Bump git from 1.11.0 to 1.13.0 Bumps [git](https://github.com/ruby-git/ruby-git) from 1.11.0 to 1.13.0. - [Release notes](https://github.com/ruby-git/ruby-git/releases) - [Changelog](https://github.com/ruby-git/ruby-git/blob/master/CHANGELOG.md) - [Commits](https://github.com/ruby-git/ruby-git/compare/v1.11.0...v1.13.0) --- updated-dependencies: - dependency-name: git dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5c71e7e4..5743ee9a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -37,7 +37,8 @@ GEM multipart-post (>= 1.2, < 3) faraday-http-cache (2.2.0) faraday (>= 0.8) - git (1.11.0) + git (1.13.0) + addressable (~> 2.8) rchardet (~> 1.8) kramdown (2.3.1) rexml From fab6ef6b5c8bc19ca19a8e068fc000da0d625ad2 Mon Sep 17 00:00:00 2001 From: Maxim Paymushkin Date: Sat, 22 Jul 2023 22:58:27 +0200 Subject: [PATCH 14/20] fix getColorStateList for API22 and below --- .../com/mikepenz/materialdrawer/util/Utils.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt index 48332fd9..1e6ce4c1 100644 --- a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt +++ b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt @@ -8,6 +8,7 @@ import android.graphics.drawable.Drawable import android.graphics.drawable.StateListDrawable import android.util.TypedValue import androidx.annotation.* +import androidx.appcompat.content.res.AppCompatResources import androidx.core.content.ContextCompat import androidx.core.content.res.ResourcesCompat import com.mikepenz.materialdrawer.R @@ -37,10 +38,14 @@ internal fun Context.getSecondaryDrawerIconColor(): ColorStateList { fun createDrawerItemColorStateList(ctx: Context, @StyleableRes styleableRes: Int): ColorStateList? { val a = ctx.obtainStyledAttributes(null, R.styleable.MaterialDrawerSliderView, R.attr.materialDrawerStyle, R.style.Widget_MaterialDrawerStyle) - val baseColor = a.getColorStateList(styleableRes) + val baseColorResId = a.getResourceId(styleableRes, -1) a.recycle() - return baseColor + return if (baseColorResId != -1) { + AppCompatResources.getColorStateList(ctx, baseColorResId) + } else { + null + } } @ColorInt @@ -66,13 +71,15 @@ internal fun Context.getSelectedColor(): Int { internal fun Context.getHeaderSelectionTextColor(): ColorStateList { return resolveStyledHeaderValue { - it.getColorStateList(R.styleable.AccountHeaderView_materialDrawerHeaderSelectionText)!! + val resId = it.getResourceId(R.styleable.AccountHeaderView_materialDrawerHeaderSelectionText, -1) + AppCompatResources.getColorStateList(this, resId) } } internal fun Context.getHeaderSelectionSubTextColor(): ColorStateList { return resolveStyledHeaderValue { - it.getColorStateList(R.styleable.AccountHeaderView_materialDrawerHeaderSelectionSubtext)!! + val resId = it.getResourceId(R.styleable.AccountHeaderView_materialDrawerHeaderSelectionSubtext, -1) + AppCompatResources.getColorStateList(this, resId) } } From 509426b72729ee6ae21a70e479e02390724ddd3a Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Tue, 15 Aug 2023 11:09:08 +0200 Subject: [PATCH 15/20] - upgrade all the major dependencies, and adjust build setup accordingly ``` recyclerView : '1.3.1', material : '1.9.0', appcompat : '1.6.1', kotlin : "1.8.22", fastadapter : "5.7.0", iconics : "5.5.0", aboutLibs : "10.8.3", navigation : "2.7.0", ``` --- app/build.gradle | 13 ++++++---- app/src/main/AndroidManifest.xml | 4 +-- .../app/CompactHeaderDrawerActivity.kt | 3 ++- .../materialdrawer/app/MiniDrawerActivity.kt | 2 +- .../drawerItems/CustomUrlPrimaryDrawerItem.kt | 2 +- app/src/main/res/values/ids.xml | 2 ++ build.gradle | 22 ++++++++-------- gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 63375 bytes gradle/wrapper/gradle-wrapper.properties | 4 ++- gradlew | 24 ++++++++++++------ gradlew.bat | 1 + materialdrawer-iconics/build.gradle | 11 +++++--- .../src/main/AndroidManifest.xml | 2 +- materialdrawer-nav/build.gradle | 11 +++++--- .../src/main/AndroidManifest.xml | 2 +- materialdrawer/build.gradle | 10 ++++---- materialdrawer/src/main/AndroidManifest.xml | 2 +- .../materialdrawer/util/DrawerUtils.kt | 6 ++--- .../materialdrawer/util/MenuDrawerUtils.kt | 9 ++++--- .../com/mikepenz/materialdrawer/util/Utils.kt | 6 ++--- 20 files changed, 80 insertions(+), 56 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 9107768f..f0ac0d1f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,6 +9,7 @@ if (getSigningFile() != null) { } android { + namespace = "com.mikepenz.materialdrawer.app" compileSdkVersion setup.compileSdk defaultConfig { @@ -48,12 +49,12 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "11" } } @@ -70,12 +71,14 @@ dependencies { implementation "androidx.cardview:cardview:${versions.cardview}" implementation "androidx.constraintlayout:constraintlayout:${versions.constraintLayout}" implementation("androidx.slidingpanelayout:slidingpanelayout:${versions.slidingpaneLayout}") { - force true + version { + strictly "${versions.slidingpaneLayout}" + } } implementation "androidx.swiperefreshlayout:swiperefreshlayout:${versions.swiperefreshLayout}" // used to showcase how to load images - implementation("io.coil-kt:coil:2.1.0") + implementation("io.coil-kt:coil:2.4.0") // the sample uses more advanced functions of the fastadapter // https://github.com/mikepenz/FastAdapter/ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e01d09e7..5832af19 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools"> @@ -17,6 +16,7 @@ diff --git a/app/src/main/java/com/mikepenz/materialdrawer/app/CompactHeaderDrawerActivity.kt b/app/src/main/java/com/mikepenz/materialdrawer/app/CompactHeaderDrawerActivity.kt index 266f514c..95f5fe0c 100755 --- a/app/src/main/java/com/mikepenz/materialdrawer/app/CompactHeaderDrawerActivity.kt +++ b/app/src/main/java/com/mikepenz/materialdrawer/app/CompactHeaderDrawerActivity.kt @@ -152,7 +152,8 @@ class CompactHeaderDrawerActivity : AppCompatActivity() { override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - window.statusBarColor = getThemeColor(R.attr.colorPrimaryDark, ContextCompat.getColor(this@CompactHeaderDrawerActivity, R.color.colorPrimaryDark)) + window.statusBarColor = + getThemeColor(android.R.attr.colorPrimaryDark, ContextCompat.getColor(this@CompactHeaderDrawerActivity, R.color.colorPrimaryDark)) } mode.menuInflater.inflate(R.menu.cab, menu) diff --git a/app/src/main/java/com/mikepenz/materialdrawer/app/MiniDrawerActivity.kt b/app/src/main/java/com/mikepenz/materialdrawer/app/MiniDrawerActivity.kt index 314c81ad..289c2979 100755 --- a/app/src/main/java/com/mikepenz/materialdrawer/app/MiniDrawerActivity.kt +++ b/app/src/main/java/com/mikepenz/materialdrawer/app/MiniDrawerActivity.kt @@ -155,7 +155,7 @@ class MiniDrawerActivity : AppCompatActivity() { miniSliderView.crossFader = CrossfadeWrapper(crossFader) //define a shadow (this is only for normal LTR layouts if you have a RTL app you need to define the other one - crossFader.getCrossFadeSlidingPaneLayout().setShadowResourceLeft(R.drawable.material_drawer_shadow_left) + crossFader.getCrossFadeSlidingPaneLayout().setShadowResourceLeft(com.mikepenz.materialdrawer.R.drawable.material_drawer_shadow_left) } override fun onSaveInstanceState(_outState: Bundle) { diff --git a/app/src/main/java/com/mikepenz/materialdrawer/app/drawerItems/CustomUrlPrimaryDrawerItem.kt b/app/src/main/java/com/mikepenz/materialdrawer/app/drawerItems/CustomUrlPrimaryDrawerItem.kt index 0c82b3a7..8bc25612 100644 --- a/app/src/main/java/com/mikepenz/materialdrawer/app/drawerItems/CustomUrlPrimaryDrawerItem.kt +++ b/app/src/main/java/com/mikepenz/materialdrawer/app/drawerItems/CustomUrlPrimaryDrawerItem.kt @@ -20,7 +20,7 @@ class CustomUrlPrimaryDrawerItem : CustomUrlBasePrimaryDrawerItem) { super.bindView(holder, payloads) diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index e1e25d42..f25482be 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -11,4 +11,6 @@ + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index ae70e6a2..4ae1b8b5 100644 --- a/build.gradle +++ b/build.gradle @@ -8,26 +8,26 @@ buildscript { ] setup = [ - compileSdk: 31, + compileSdk: 34, minSdk : 21, - targetSdk : 30 + targetSdk : 34 ] versions = [ multiDex : '2.0.1', annotation : '1.1.0', - recyclerView : '1.2.1', + recyclerView: '1.3.1', core : '1.7.0', - material : '1.6.1', - appcompat : '1.4.2', + material : '1.9.0', + appcompat : '1.6.1', drawerlayout : '1.1.1', constraintLayout : '2.1.4', cardview : '1.0.0', - kotlin : "1.7.0", - fastadapter : "5.6.0", - iconics : "5.3.3", - aboutLibs : "10.3.1", - navigation : "2.4.2", + kotlin : "1.8.22", + fastadapter : "5.7.0", + iconics : "5.5.0", + aboutLibs : "10.8.3", + navigation : "2.7.0", detekt : '1.18.1', slidingpaneLayout : "1.1.0", // no plans to upgrade to 1.2.0 anymore swiperefreshLayout: "1.1.0" @@ -41,7 +41,7 @@ buildscript { mavenLocal() } dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:8.0.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}" classpath "androidx.navigation:navigation-safe-args-gradle-plugin:${versions.navigation}" classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:${versions.detekt}" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 249e5832f090a2944b7473328c07c9755baa3196..033e24c4cdf41af1ab109bc7f253b2b887023340 100644 GIT binary patch delta 41134 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 delta 38514 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

Ed3W8DKk=GWZ^H1%j3(j1_6^9H~ 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8fad3f5a..c747538f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index a69d9cb6..fcb6fca1 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +80,10 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +130,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,6 +197,10 @@ if "$cygwin" || "$msys" ; then done fi + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in diff --git a/gradlew.bat b/gradlew.bat index 53a6b238..6689b85b 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% diff --git a/materialdrawer-iconics/build.gradle b/materialdrawer-iconics/build.gradle index 25329fd7..381a3777 100644 --- a/materialdrawer-iconics/build.gradle +++ b/materialdrawer-iconics/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-android' version release.versionName android { + namespace = "com.mikepenz.materialdrawer.iconics" compileSdkVersion setup.compileSdk defaultConfig { @@ -28,12 +29,14 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } - // specify the artifactId as module-name for kotlin - kotlinOptions.freeCompilerArgs += ["-module-name", POM_ARTIFACT_ID] + kotlinOptions { + freeCompilerArgs += ["-module-name", POM_ARTIFACT_ID] // specify the artifactId as module-name for kotlin + jvmTarget = "11" + } } dependencies { diff --git a/materialdrawer-iconics/src/main/AndroidManifest.xml b/materialdrawer-iconics/src/main/AndroidManifest.xml index 4c11b970..9b65eb06 100644 --- a/materialdrawer-iconics/src/main/AndroidManifest.xml +++ b/materialdrawer-iconics/src/main/AndroidManifest.xml @@ -1 +1 @@ - + diff --git a/materialdrawer-nav/build.gradle b/materialdrawer-nav/build.gradle index 7cd9b54c..2afb16e0 100644 --- a/materialdrawer-nav/build.gradle +++ b/materialdrawer-nav/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-android' version release.versionName android { + namespace = "com.mikepenz.materialdrawer.nav" compileSdkVersion setup.compileSdk defaultConfig { @@ -28,12 +29,14 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } - // specify the artifactId as module-name for kotlin - kotlinOptions.freeCompilerArgs += ["-module-name", POM_ARTIFACT_ID] + kotlinOptions { + freeCompilerArgs += ["-module-name", POM_ARTIFACT_ID] // specify the artifactId as module-name for kotlin + jvmTarget = "11" + } } dependencies { diff --git a/materialdrawer-nav/src/main/AndroidManifest.xml b/materialdrawer-nav/src/main/AndroidManifest.xml index c50cc745..9b65eb06 100644 --- a/materialdrawer-nav/src/main/AndroidManifest.xml +++ b/materialdrawer-nav/src/main/AndroidManifest.xml @@ -1 +1 @@ - + diff --git a/materialdrawer/build.gradle b/materialdrawer/build.gradle index 4889a2ec..46f74944 100644 --- a/materialdrawer/build.gradle +++ b/materialdrawer/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-android' version release.versionName android { + namespace = "com.mikepenz.materialdrawer" compileSdkVersion setup.compileSdk defaultConfig { @@ -30,14 +31,13 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { - // specify the artifactId as module-name for kotlin - freeCompilerArgs += ["-module-name", POM_ARTIFACT_ID] - jvmTarget = "1.8" + freeCompilerArgs += ["-module-name", POM_ARTIFACT_ID] // specify the artifactId as module-name for kotlin + jvmTarget = "11" } } diff --git a/materialdrawer/src/main/AndroidManifest.xml b/materialdrawer/src/main/AndroidManifest.xml index 1182871d..5c3d3655 100644 --- a/materialdrawer/src/main/AndroidManifest.xml +++ b/materialdrawer/src/main/AndroidManifest.xml @@ -1,2 +1,2 @@ - + diff --git a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/DrawerUtils.kt b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/DrawerUtils.kt index 5356cf88..7b71941b 100644 --- a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/DrawerUtils.kt +++ b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/DrawerUtils.kt @@ -321,7 +321,7 @@ fun getPlaceHolder(context: Context): Drawable { accountDrawable.setLayerHeight(0, placeholderSize) } DrawableCompat.wrap(accountDrawable.getDrawable(0)).let { - DrawableCompat.setTint(it, context.getThemeColor(R.attr.colorPrimary)) + DrawableCompat.setTint(it, context.getThemeColor(android.R.attr.colorPrimary)) accountDrawable.setDrawableByLayerId(R.id.background, it) } val iconSize = context.resources.getDimensionPixelSize(R.dimen.material_drawer_profile_icon_placeholder_icon) @@ -331,7 +331,7 @@ fun getPlaceHolder(context: Context): Drawable { accountDrawable.setLayerGravity(1, Gravity.CENTER) } DrawableCompat.wrap(accountDrawable.getDrawable(1)).let { - DrawableCompat.setTint(it, context.getThemeColor(R.attr.colorAccent)) + DrawableCompat.setTint(it, context.getThemeColor(android.R.attr.colorAccent)) accountDrawable.setDrawableByLayerId(R.id.account, it) } return accountDrawable @@ -370,7 +370,7 @@ fun themeDrawerItem( @DimenRes paddingTopBottomRes: Int = R.dimen.material_drawer_item_background_padding_top_bottom, @DimenRes paddingStartRes: Int = R.dimen.material_drawer_item_background_padding_start, @DimenRes paddingEndRes: Int = R.dimen.material_drawer_item_background_padding_end, - @AttrRes highlightColorRes: Int = R.attr.colorControlHighlight, + @AttrRes highlightColorRes: Int = android.R.attr.colorControlHighlight, /* a hint for the drawable if it should already be selected at the very moment */ isSelected: Boolean = false ) { diff --git a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/MenuDrawerUtils.kt b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/MenuDrawerUtils.kt index 72d530fc..de4ec977 100644 --- a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/MenuDrawerUtils.kt +++ b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/MenuDrawerUtils.kt @@ -30,7 +30,8 @@ fun MaterialDrawerSliderView.inflateMenu(@MenuRes menuRes: Int) { /** * helper method to init the drawerItems from a menu */ -private fun MaterialDrawerSliderView.addMenuItems(mMenu: Menu, subMenu: Boolean) { +private fun MaterialDrawerSliderView.addMenuItems(mMenu: Menu?, subMenu: Boolean) { + mMenu ?: return var groupId = R.id.material_drawer_menu_default_group for (i in 0 until mMenu.size()) { val mMenuItem = mMenu.getItem(i) @@ -42,7 +43,7 @@ private fun MaterialDrawerSliderView.addMenuItems(mMenu: Menu, subMenu: Boolean) } if (mMenuItem.hasSubMenu()) { iDrawerItem = PrimaryDrawerItem().apply { - nameText = mMenuItem.title + nameText = mMenuItem.title ?: "" iconDrawable = mMenuItem.icon identifier = mMenuItem.itemId.toLong() isEnabled = mMenuItem.isEnabled @@ -52,7 +53,7 @@ private fun MaterialDrawerSliderView.addMenuItems(mMenu: Menu, subMenu: Boolean) addMenuItems(mMenuItem.subMenu, true) } else if (mMenuItem.groupId != 0 || subMenu) { iDrawerItem = SecondaryDrawerItem().apply { - nameText = mMenuItem.title + nameText = mMenuItem.title ?: "" iconDrawable = mMenuItem.icon identifier = mMenuItem.itemId.toLong() isEnabled = mMenuItem.isEnabled @@ -60,7 +61,7 @@ private fun MaterialDrawerSliderView.addMenuItems(mMenu: Menu, subMenu: Boolean) itemAdapter.add(iDrawerItem) } else { iDrawerItem = PrimaryDrawerItem().apply { - nameText = mMenuItem.title + nameText = mMenuItem.title ?: "" iconDrawable = mMenuItem.icon identifier = mMenuItem.itemId.toLong() isEnabled = mMenuItem.isEnabled diff --git a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt index 48332fd9..2405e644 100644 --- a/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt +++ b/materialdrawer/src/main/java/com/mikepenz/materialdrawer/util/Utils.kt @@ -142,7 +142,7 @@ internal fun Context.getThemeColorFromAttrOrRes(@AttrRes attr: Int, @ColorRes re internal fun Context.getSelectableBackgroundRes(): Int { val outValue = TypedValue() //it is important here to not use the android.R because this wouldn't add the latest drawable - this.theme.resolveAttribute(R.attr.selectableItemBackground, outValue, true) + this.theme.resolveAttribute(android.R.attr.selectableItemBackground, outValue, true) return outValue.resourceId } @@ -190,9 +190,9 @@ internal fun Context.getScreenWidth(): Int { * helper to calculate the actionBar height */ internal fun Context.getActionBarHeight(): Int { - var actionBarHeight: Int = getThemeAttributeDimensionSize(R.attr.actionBarSize) + var actionBarHeight: Int = getThemeAttributeDimensionSize(android.R.attr.actionBarSize) if (actionBarHeight == 0) { - actionBarHeight = resources.getDimensionPixelSize(R.dimen.abc_action_bar_default_height_material) + actionBarHeight = resources.getDimensionPixelSize(androidx.appcompat.R.dimen.abc_action_bar_default_height_material) } return actionBarHeight } From c75348b54e22b9f469a4a7fee527a9995bafa970 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Tue, 15 Aug 2023 11:14:37 +0200 Subject: [PATCH 16/20] - update CI actions --- .github/workflows/ci.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e5c8f504..93d68e75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,14 +13,17 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 100 - uses: actions/setup-java@v3 with: - java-version: '11' - distribution: 'temurin' + distribution: 'zulu' + java-version: | + 11 + 15 + 17 - name: Validate gradle wrapper uses: gradle/wrapper-validation-action@v1 @@ -30,7 +33,7 @@ jobs: - name: Checkout Gradle Build Cache if: ${{ steps.self_hosted.outputs.FLAG != 'self-hosted' }} - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: | ~/.gradle/caches @@ -107,14 +110,14 @@ jobs: find . -name "*.aab" -type f -exec cp {} "artifacts" \; - name: Archive Artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: "App-Artifacts" path: artifacts/* - name: Build Changelog id: github_release - uses: mikepenz/release-changelog-builder-action@v1 + uses: mikepenz/release-changelog-builder-action@v4 if: startsWith(github.ref, 'refs/tags/') with: configuration: ".github/config/configuration.json" @@ -123,7 +126,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Release - uses: softprops/action-gh-release@91409e712cf565ce9eff10c87a8d1b11b81757ae + uses: mikepenz/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: body: ${{steps.github_release.outputs.changelog}} From d0495c91ad388b1b2e0462569b2ca40493739212 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Tue, 15 Aug 2023 11:18:17 +0200 Subject: [PATCH 17/20] - iconics is only at 5.4.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 4ae1b8b5..374e2937 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,7 @@ buildscript { cardview : '1.0.0', kotlin : "1.8.22", fastadapter : "5.7.0", - iconics : "5.5.0", + iconics: "5.4.0", aboutLibs : "10.8.3", navigation : "2.7.0", detekt : '1.18.1', From 9acb51f8d0e4f293d1bce0ccf1aadfbcf7eb0619 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Tue, 15 Aug 2023 11:28:46 +0200 Subject: [PATCH 18/20] - update danger --- .github/workflows/ci.yml | 2 +- Gemfile.lock | 70 ++++++++++++++++++++++++++-------------- 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 93d68e75..d0c3e7c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: if: github.event_name == 'pull_request' uses: ruby/setup-ruby@v1 with: - ruby-version: '2.6.3' + ruby-version: '3.0' bundler-cache: true - name: Run Danger diff --git a/Gemfile.lock b/Gemfile.lock index 5743ee9a..8b19a7c9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,11 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) ansi (1.5.0) - ast (2.4.1) - claide (1.0.3) + ast (2.4.2) + claide (1.1.0) claide-plugins (0.9.2) cork nap @@ -13,7 +13,7 @@ GEM colored2 (3.1.2) cork (0.3.0) colored2 (~> 3.1) - danger (8.0.5) + danger (9.0.0) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -24,48 +24,70 @@ GEM kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) no_proxy_fix - octokit (~> 4.7) - terminal-table (~> 1) - danger-android_lint (0.0.8) + octokit (~> 5.0) + terminal-table (>= 1, < 4) + danger-android_lint (0.0.11) danger-plugin-api (~> 1.0) oga danger-kotlin_detekt (0.0.3) danger-plugin-api (~> 1.0) danger-plugin-api (1.0.0) danger (> 2.0) - faraday (1.0.1) - multipart-post (>= 1.2, < 3) - faraday-http-cache (2.2.0) + faraday (1.10.2) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-http-cache (2.4.1) faraday (>= 0.8) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) git (1.13.0) addressable (~> 2.8) rchardet (~> 1.8) - kramdown (2.3.1) + kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - multipart-post (2.1.1) + multipart-post (2.2.3) nap (1.1.0) no_proxy_fix (0.1.2) - octokit (4.18.0) - faraday (>= 0.9) - sawyer (~> 0.8.0, >= 0.5.3) - oga (3.3) + octokit (5.6.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + oga (3.4) ast ruby-ll (~> 2.1) open4 (1.3.4) - public_suffix (4.0.6) + public_suffix (5.0.1) rchardet (1.8.0) rexml (3.2.5) ruby-ll (2.1.2) ansi ast - sawyer (0.8.2) + ruby2_keywords (0.0.5) + sawyer (0.9.2) addressable (>= 2.3.5) - faraday (> 0.8, < 2.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - unicode-display_width (1.7.0) + faraday (>= 0.17.3, < 3) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.3.0) PLATFORMS ruby @@ -76,4 +98,4 @@ DEPENDENCIES danger-kotlin_detekt BUNDLED WITH - 2.1.4 + 2.3.11 \ No newline at end of file From 85eff8211019769011bf12422d47f59125c22540 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Tue, 15 Aug 2023 11:42:29 +0200 Subject: [PATCH 19/20] - [release] v9.0.2 --- README.md | 2 +- build.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ccd52745..d616e543 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ ## Latest releases 🛠 -- Kotlin && Material 3 | [v9.0.1](https://github.com/mikepenz/MaterialDrawer/tree/v9.0.1) +- Kotlin && Material 3 | [v9.0.2](https://github.com/mikepenz/MaterialDrawer/tree/v9.0.2) - Kotlin | [v8.4.5](https://github.com/mikepenz/MaterialDrawer/tree/v8.4.5) (Provided as-is only) - Java && AndroidX | [v6.1.2](https://github.com/mikepenz/MaterialDrawer/tree/v6.1.2) (Provided as-is only) - Java && AppCompat | [v6.0.9](https://github.com/mikepenz/MaterialDrawer/tree/v6.0.9) (Provided as-is only) diff --git a/build.gradle b/build.gradle index 374e2937..f0978bf0 100644 --- a/build.gradle +++ b/build.gradle @@ -3,8 +3,8 @@ buildscript { ext { release = [ - versionName: "9.0.1", - versionCode: 9001 + versionName: "9.0.2", + versionCode: 9002 ] setup = [ From 76c583bb5b509e135d7d6c6baa3a7e2fe9a30f20 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Tue, 15 Aug 2023 11:51:50 +0200 Subject: [PATCH 20/20] - update ci to hava java 17 --- .github/workflows/gradle-dependency-submission.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle-dependency-submission.yml b/.github/workflows/gradle-dependency-submission.yml index a4914ce3..b95fdf25 100644 --- a/.github/workflows/gradle-dependency-submission.yml +++ b/.github/workflows/gradle-dependency-submission.yml @@ -16,8 +16,11 @@ jobs: - uses: actions/setup-java@v3 with: - java-version: '11' - distribution: 'temurin' + distribution: 'zulu' + java-version: | + 11 + 15 + 17 - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties