From 2e90b340ede9fe5b8eee19dd68630f9496219a26 Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 9 Mar 2024 15:06:56 -0500 Subject: [PATCH] Add CI workflow --- .github/workflows/build.yml | 35 +++++++++++++++++++++++++++++++++++ build.gradle | 22 ---------------------- build.gradle.kts | 8 ++++++++ gradle/libs.versions.toml | 10 ++++++++++ jitpack.yml | 7 +++++++ library/build.gradle.kts | 26 ++++++++++++++++++++++++-- sample/build.gradle.kts | 7 ++++--- settings.gradle.kts | 3 ++- 8 files changed, 90 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100755 build.gradle create mode 100755 build.gradle.kts create mode 100644 gradle/libs.versions.toml create mode 100644 jitpack.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..00215095 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,35 @@ +name: Build + +on: + push: + branches: + - main + paths-ignore: + - "**.md" + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Clone repo + uses: actions/checkout@v4 + + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v2 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: adopt + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Build app + run: ./gradlew assemble diff --git a/build.gradle b/build.gradle deleted file mode 100755 index 5af8f2ec..00000000 --- a/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -allprojects { - repositories { - mavenCentral() - google() - maven { url "https://www.jitpack.io" } - } -} - -buildscript { - ext { - kotlin_version = "1.9.22" - } - repositories { - mavenCentral() - google() - } - dependencies { - classpath "com.android.tools.build:gradle:7.4.2" - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100755 index 00000000..232c3c94 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,8 @@ +plugins { + alias(libs.plugins.android.library) apply false + alias(libs.plugins.kotlin.android) apply false +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..a3cf35ea --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,10 @@ +[plugins] +android-library = { id = "com.android.library", version = "8.3.0" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version = "1.9.23" } + +[libraries] +androidx-annotation = { module = "androidx.annotation:annotation", version = "1.7.1" } +androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.0-alpha03" } +androidx-viewpager = { module = "androidx.viewpager:viewpager", version = "1.1.0-alpha01" } + +image-decoder = { module = "com.github.tachiyomiorg:image-decoder", version = "e08e9be535" } \ No newline at end of file diff --git a/jitpack.yml b/jitpack.yml new file mode 100644 index 00000000..a51e187e --- /dev/null +++ b/jitpack.yml @@ -0,0 +1,7 @@ +jdk: + - openjdk17 +before_install: + - sdk install java 17.0.9-open + - sdk use java 17.0.9-open +install: + - ./gradlew clean :library:assembleRelease :library:publishToMavenLocal \ No newline at end of file diff --git a/library/build.gradle.kts b/library/build.gradle.kts index 3fa8b984..bb9995a3 100755 --- a/library/build.gradle.kts +++ b/library/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.library") kotlin("android") + `maven-publish` } android { @@ -27,6 +28,27 @@ android { } dependencies { - implementation("androidx.annotation:annotation:1.7.1") - implementation("com.github.tachiyomiorg:image-decoder:e08e9be535") + implementation(libs.androidx.annotation) + api(libs.image.decoder) +} + +afterEvaluate { + publishing { + publications { + create("release") { + groupId = "com.github.tachiyomiorg" + artifactId = "subsampling-scale-image-view" + version = "4.0.0" + + from(components["release"]) + } + } + + repositories { + maven { + name = "jitpack" + url = uri("https://jitpack.io") + } + } + } } diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index f635f7a9..e6c6619c 100755 --- a/sample/build.gradle.kts +++ b/sample/build.gradle.kts @@ -9,7 +9,7 @@ android { defaultConfig { applicationId = "com.davemorrissey.labs.subscaleview.test" - minSdk = 21 + minSdk = 24 targetSdk = 34 versionCode = 4 @@ -45,6 +45,7 @@ android { dependencies { implementation(project(":library")) - implementation("androidx.appcompat:appcompat:1.7.0-alpha03") - implementation("androidx.viewpager:viewpager:1.1.0-alpha01") + + implementation(libs.androidx.appcompat) + implementation(libs.androidx.viewpager) } diff --git a/settings.gradle.kts b/settings.gradle.kts index 5215978f..d37227d1 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,10 +16,11 @@ pluginManagement { } dependencyResolutionManagement { -// repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { mavenCentral() google() + maven(url = "https://www.jitpack.io") } }