diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index bd0ce05..ea7e0e9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,10 +1,26 @@
name: Build
-on: [pull_request, push]
+
+on:
+ push:
+ pull_request:
+
jobs:
build:
runs-on: ubuntu-latest
+
steps:
- - name: Checkout the code
- uses: actions/checkout@v2
- - name: Build the app
- run: chmod +x gradlew && ./gradlew build
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Configure JDK
+ uses: actions/setup-java@v4
+ with:
+ distribution: zulu
+ java-version: '17'
+ cache: gradle
+
+ - name: Validate Gradle Wrapper
+ uses: gradle/actions/wrapper-validation@v4
+
+ - name: Build
+ run: ./gradlew build
diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml
new file mode 100644
index 0000000..aa6d490
--- /dev/null
+++ b/.github/workflows/publish-release.yml
@@ -0,0 +1,33 @@
+name: Publish Release
+
+on:
+ push:
+ tags:
+ - '*'
+
+env:
+ RELEASE_SIGNING_ENABLED: true
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ if: github.repository == 'Commit451/ModalBottomSheetDialogFragment'
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install JDK
+ uses: actions/setup-java@v4
+ with:
+ distribution: zulu
+ java-version: '17'
+ cache: gradle
+
+ - name: Release to Maven Central
+ run: ./gradlew publishAndReleaseToMavenCentral -PVERSION_NAME="${GITHUB_REF_NAME}" --no-configuration-cache
+ env:
+ ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
+ ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
+ ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
+ ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
diff --git a/.jitpack.yml b/.jitpack.yml
deleted file mode 100644
index f78f664..0000000
--- a/.jitpack.yml
+++ /dev/null
@@ -1 +0,0 @@
-jdk: openjdk11
\ No newline at end of file
diff --git a/README.md b/README.md
index bcde8ae..360fcde 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,17 @@
# ModalBottomSheetDialogFragment
Modal bottom sheet dialog based on the [Material Guidelines](https://material.io/components/sheets-bottom)
-[](https://jitpack.io/#Commit451/ModalBottomSheetDialogFragment)
+[](https://github.com/Commit451/ModalBottomSheetDialogFragment/actions/workflows/ci.yml) [](https://central.sonatype.com/artifact/com.commit451/modalbottomsheetdialogfragment)
## Dependency
-Add this in your root `build.gradle` file (**not** your module `build.gradle` file):
+Add the library to your project `build.gradle`:
-```gradle
-allprojects {
- repositories {
- ...
- maven { url "https://jitpack.io" }
- }
-}
-```
-
-Then, add the library to your project `build.gradle`
```gradle
dependencies {
- implementation("com.github.Commit451:ModalBottomSheetDialogFragment:latest.version.here")
+ implementation("com.commit451:modalbottomsheetdialogfragment:latest.version.here")
}
```
diff --git a/app/build.gradle b/app/build.gradle
deleted file mode 100644
index ec29013..0000000
--- a/app/build.gradle
+++ /dev/null
@@ -1,29 +0,0 @@
-apply plugin: "com.android.application"
-apply plugin: "kotlin-android"
-
-android {
- compileSdkVersion 33
- defaultConfig {
- applicationId "com.commit451.modalbottomsheetdialogfragment.sample"
- minSdkVersion 21
- targetSdkVersion 33
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- }
- buildFeatures {
- viewBinding true
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
- }
- }
-}
-
-dependencies {
- implementation("androidx.appcompat:appcompat:1.6.0")
-
- implementation(project(":modalbottomsheetdialogfragment"))
-}
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 0000000..561bf9f
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,42 @@
+plugins {
+ id("com.android.application")
+}
+
+android {
+ namespace = "com.commit451.modalbottomsheetdialogfragment.sample"
+ compileSdk = 35
+
+ defaultConfig {
+ applicationId = "com.commit451.modalbottomsheetdialogfragment.sample"
+ minSdk = 21
+ targetSdk = 35
+ versionCode = 1
+ versionName = "1.0"
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildFeatures {
+ viewBinding = true
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+}
+
+dependencies {
+ implementation("androidx.appcompat:appcompat:1.7.1")
+
+ implementation(project(":modalbottomsheetdialogfragment"))
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2423531..02c3b1e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
-
\ No newline at end of file
+
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index dca7d96..0000000
--- a/build.gradle
+++ /dev/null
@@ -1,27 +0,0 @@
-buildscript {
- ext.kotlin_version = "1.8.0"
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- classpath "com.android.tools.build:gradle:7.4.1"
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- classpath "com.vanniktech:gradle-maven-publish-plugin:0.20.0"
- }
-}
-
-plugins {
- id "com.github.ben-manes.versions" version "0.45.0"
-}
-
-allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-task clean(type: Delete) {
- delete rootProject.buildDir
-}
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000..d709a4e
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,9 @@
+plugins {
+ id("com.android.application") version "9.1.0" apply false
+ id("com.android.library") version "9.1.0" apply false
+ id("com.vanniktech.maven.publish") version "0.30.0" apply false
+}
+
+tasks.register("clean") {
+ delete(rootProject.layout.buildDirectory)
+}
diff --git a/gradle.properties b/gradle.properties
index d9bdeee..502207d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,27 +1,11 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
-
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
-GROUP=com.commit451.modalbottomsheetdialogfragment
+GROUP=com.commit451
POM_ARTIFACT_ID=modalbottomsheetdialogfragment
-VERSION_NAME=1.0.0
+VERSION_NAME=1.3.1
-POM_NAME=Aloy
+POM_NAME=ModalBottomSheetDialogFragment
POM_DESCRIPTION=Modal bottom sheet dialog based on the Material Guidelines
POM_INCEPTION_YEAR=2018
POM_URL=https://github.com/Commit451/ModalBottomSheetDialogFragment/
@@ -30,7 +14,7 @@ POM_LICENSE_NAME=The Apache Software License, Version 2.0
POM_LICENSE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENSE_DIST=repo
-POM_SCM_URL=https://github.com/Commit451/Aloy/
+POM_SCM_URL=https://github.com/Commit451/ModalBottomSheetDialogFragment/
POM_SCM_CONNECTION=scm:git:git://github.com/Commit451/ModalBottomSheetDialogFragment.git
POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/Commit451/ModalBottomSheetDialogFragment.git
@@ -38,4 +22,5 @@ POM_DEVELOPER_ID=Commit451
POM_DEVELOPER_NAME=Commit 451
POM_DEVELOPER_URL=https://github.com/Commit451/
-RELEASE_SIGNING_ENABLED=false
+SONATYPE_CONNECT_TIMEOUT_SECONDS=60
+SONATYPE_CLOSE_TIMEOUT_SECONDS=900
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f42e62f..0c65c65 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.6-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
old mode 100644
new mode 100755
diff --git a/modalbottomsheetdialogfragment/build.gradle b/modalbottomsheetdialogfragment/build.gradle
deleted file mode 100644
index 42448b0..0000000
--- a/modalbottomsheetdialogfragment/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-apply plugin: "com.android.library"
-apply plugin: "kotlin-android"
-apply from: "../publish.gradle"
-
-android {
- compileSdkVersion 33
-
- defaultConfig {
- minSdkVersion 21
- targetSdkVersion 33
- versionCode 1
- versionName "1.0"
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
- }
- }
-
-}
-
-dependencies {
- api("androidx.activity:activity-ktx:1.6.1")
-
- api("androidx.recyclerview:recyclerview:1.2.1")
-
- api("com.google.android.material:material:1.8.0")
-}
diff --git a/modalbottomsheetdialogfragment/build.gradle.kts b/modalbottomsheetdialogfragment/build.gradle.kts
new file mode 100644
index 0000000..3c6713d
--- /dev/null
+++ b/modalbottomsheetdialogfragment/build.gradle.kts
@@ -0,0 +1,55 @@
+import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
+import com.vanniktech.maven.publish.SonatypeHost
+
+plugins {
+ id("com.android.library")
+ id("com.vanniktech.maven.publish")
+}
+
+group = findProperty("GROUP") as String
+version = findProperty("VERSION_NAME") as String
+
+android {
+ namespace = "com.commit451.modalbottomsheetdialogfragment"
+ compileSdk = 35
+
+ defaultConfig {
+ minSdk = 21
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+}
+
+dependencies {
+ api("androidx.activity:activity-ktx:1.10.1")
+ api("androidx.recyclerview:recyclerview:1.4.0")
+ api("com.google.android.material:material:1.13.0")
+}
+
+mavenPublishing {
+ configure(
+ AndroidSingleVariantLibrary(
+ variant = "release",
+ sourcesJar = true,
+ publishJavadocJar = true,
+ )
+ )
+ coordinates("com.commit451", "modalbottomsheetdialogfragment", version.toString())
+ publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
+ if (System.getenv("RELEASE_SIGNING_ENABLED") == "true") {
+ signAllPublications()
+ }
+}
diff --git a/modalbottomsheetdialogfragment/src/main/AndroidManifest.xml b/modalbottomsheetdialogfragment/src/main/AndroidManifest.xml
index 9fbb82f..cc947c5 100644
--- a/modalbottomsheetdialogfragment/src/main/AndroidManifest.xml
+++ b/modalbottomsheetdialogfragment/src/main/AndroidManifest.xml
@@ -1 +1 @@
-
+
diff --git a/publish.gradle b/publish.gradle
deleted file mode 100644
index 4a2c1b9..0000000
--- a/publish.gradle
+++ /dev/null
@@ -1,5 +0,0 @@
-apply plugin: "com.vanniktech.maven.publish"
-
-mavenPublish {
- androidVariantToPublish = "release"
-}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
deleted file mode 100644
index e682e0d..0000000
--- a/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include ':app', ':modalbottomsheetdialogfragment'
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644
index 0000000..4f836ef
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1,18 @@
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+
+rootProject.name = "ModalBottomSheetDialogFragment"
+include(":app", ":modalbottomsheetdialogfragment")