Skip to content

Commit 471b9c1

Browse files
committed
build: add Maven Central release workflows and modernize build
1 parent d423959 commit 471b9c1

23 files changed

Lines changed: 330 additions & 148 deletions

File tree

.github/workflows/ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Configure JDK
16+
uses: actions/setup-java@v4
17+
with:
18+
distribution: zulu
19+
java-version: '17'
20+
cache: gradle
21+
22+
- name: Validate Gradle Wrapper
23+
uses: gradle/actions/wrapper-validation@v4
24+
25+
- name: Build
26+
run: ./gradlew build
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Publish Release
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
env:
9+
RELEASE_SIGNING_ENABLED: true
10+
11+
jobs:
12+
publish:
13+
runs-on: ubuntu-latest
14+
if: github.repository == 'Commit451/Addendum'
15+
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Install JDK
21+
uses: actions/setup-java@v4
22+
with:
23+
distribution: zulu
24+
java-version: '17'
25+
cache: gradle
26+
27+
- name: Set version
28+
run: sed -i "s/VERSION_NAME=1.0.0/VERSION_NAME=$GITHUB_REF_NAME/" gradle.properties
29+
30+
- name: Release to Maven Central
31+
run: ./gradlew publishAndReleaseToMavenCentral --no-configuration-cache
32+
env:
33+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
34+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
35+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
36+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}

.travis.yml

Lines changed: 0 additions & 10 deletions
This file was deleted.

README.md

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,22 @@
11
# Addendum
22
Useful Kotlin Extensions for the Android SDK and popular Android Libraries
33

4-
[![Build Status](https://travis-ci.org/Commit451/Addendum.svg?branch=master)](https://travis-ci.org/Commit451/Addendum) [![](https://jitpack.io/v/Commit451/Addendum.svg)](https://jitpack.io/#Commit451/Addendum)
4+
[![Build](https://github.com/Commit451/Addendum/actions/workflows/ci.yml/badge.svg)](https://github.com/Commit451/Addendum/actions/workflows/ci.yml) [![Maven Central](https://img.shields.io/maven-central/v/com.commit451/addendum.svg?label=Maven%20Central)](https://central.sonatype.com/search?q=g:com.commit451%20AND%20a:addendum)
55

66
## Gradle Dependency
7-
Add the jitpack url to the project:
8-
```groovy
9-
allprojects {
10-
repositories {
11-
...
12-
maven { url "https://jitpack.io" }
13-
}
14-
}
15-
```
16-
then, in your app `build.gradle`
7+
8+
In your app `build.gradle`:
179
```groovy
1810
dependencies {
19-
implementation "com.github.Commit451.Addendum:addendum:latest.version.here"
20-
//for design support library
21-
implementation "com.github.Commit451.Addendum:addendum-design:latest.version.here"
22-
//for RecyclerView support
23-
implementation "com.github.Commit451.Addendum:addendum-recyclerview:latest.version.here"
24-
//for Parceler support
25-
implementation "com.github.Commit451.Addendum:addendum-parceler:latest.version.here"
26-
//for ThreeTenABP support
27-
implementation "com.github.Commit451.Addendum:addendum-threetenabp:latest.version.here"
11+
implementation "com.commit451:addendum:latest.version.here"
12+
// for Material extensions
13+
implementation "com.commit451:addendum-design:latest.version.here"
14+
// for RecyclerView extensions
15+
implementation "com.commit451:addendum-recyclerview:latest.version.here"
16+
// for Parceler extensions
17+
implementation "com.commit451:addendum-parceler:latest.version.here"
18+
// for ThreeTenABP extensions
19+
implementation "com.commit451:addendum-threetenabp:latest.version.here"
2820
}
2921
```
3022

addendum-design/build.gradle

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,44 @@
1-
apply plugin: 'com.android.library'
2-
apply plugin: 'kotlin-android'
1+
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
2+
import com.vanniktech.maven.publish.SonatypeHost
3+
4+
plugins {
5+
id 'com.android.library'
6+
id 'org.jetbrains.kotlin.android'
7+
id 'com.vanniktech.maven.publish'
8+
}
9+
10+
group = findProperty('GROUP')
11+
version = findProperty('VERSION_NAME')
312

413
android {
5-
compileSdkVersion rootProject.ext.compileSdkVersion
14+
namespace 'com.commit451.addendum.design'
15+
compileSdk rootProject.ext.compileSdkVersion
616

717
defaultConfig {
8-
minSdkVersion rootProject.ext.minSdkVersion
9-
targetSdkVersion rootProject.ext.targetSdkVersion
10-
versionCode 1
11-
versionName "1.0"
18+
minSdk rootProject.ext.minSdkVersion
19+
targetSdk rootProject.ext.targetSdkVersion
20+
}
21+
22+
compileOptions {
23+
sourceCompatibility JavaVersion.VERSION_17
24+
targetCompatibility JavaVersion.VERSION_17
25+
}
26+
27+
kotlinOptions {
28+
jvmTarget = '17'
1229
}
1330
}
1431

1532
dependencies {
16-
api "com.google.android.material:material:1.0.0"
33+
api 'com.google.android.material:material:1.12.0'
1734
implementation project(':addendum')
1835
}
1936

20-
apply from: 'https://raw.githubusercontent.com/Commit451/gradle-android-javadocs/1.0.0/gradle-android-javadocs.gradle'
37+
mavenPublishing {
38+
configure(new AndroidSingleVariantLibrary('release', true, true))
39+
coordinates('com.commit451', 'addendum-design', version.toString())
40+
publishToMavenCentral(SonatypeHost.S01)
41+
if (System.getenv('RELEASE_SIGNING_ENABLED') == 'true') {
42+
signAllPublications()
43+
}
44+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<manifest package="com.commit451.addendum.design"/>
1+
<manifest />

addendum-design/src/main/java/com/commit451/addendum/design/Snackbar.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package com.commit451.addendum.design
44

55
import android.widget.TextView
6+
import com.google.android.material.R
67
import com.google.android.material.snackbar.Snackbar
78

89

addendum-parceler/build.gradle

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,44 @@
1-
apply plugin: 'com.android.library'
2-
apply plugin: 'kotlin-android'
1+
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
2+
import com.vanniktech.maven.publish.SonatypeHost
3+
4+
plugins {
5+
id 'com.android.library'
6+
id 'org.jetbrains.kotlin.android'
7+
id 'com.vanniktech.maven.publish'
8+
}
9+
10+
group = findProperty('GROUP')
11+
version = findProperty('VERSION_NAME')
312

413
android {
5-
compileSdkVersion rootProject.ext.compileSdkVersion
14+
namespace 'com.commit451.addendum.parceler'
15+
compileSdk rootProject.ext.compileSdkVersion
616

717
defaultConfig {
8-
minSdkVersion rootProject.ext.minSdkVersion
9-
targetSdkVersion rootProject.ext.targetSdkVersion
10-
versionCode 1
11-
versionName "1.0"
18+
minSdk rootProject.ext.minSdkVersion
19+
targetSdk rootProject.ext.targetSdkVersion
20+
}
21+
22+
compileOptions {
23+
sourceCompatibility JavaVersion.VERSION_17
24+
targetCompatibility JavaVersion.VERSION_17
25+
}
26+
27+
kotlinOptions {
28+
jvmTarget = '17'
1229
}
1330
}
1431

1532
dependencies {
16-
api 'org.parceler:parceler-api:1.1.12'
33+
api 'org.parceler:parceler-api:1.1.13'
1734
implementation project(':addendum')
1835
}
1936

20-
apply from: 'https://raw.githubusercontent.com/Commit451/gradle-android-javadocs/1.0.0/gradle-android-javadocs.gradle'
37+
mavenPublishing {
38+
configure(new AndroidSingleVariantLibrary('release', true, true))
39+
coordinates('com.commit451', 'addendum-parceler', version.toString())
40+
publishToMavenCentral(SonatypeHost.S01)
41+
if (System.getenv('RELEASE_SIGNING_ENABLED') == 'true') {
42+
signAllPublications()
43+
}
44+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<manifest package="com.commit451.addendum.parceler"/>
1+
<manifest />

addendum-recyclerview/build.gradle

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,44 @@
1-
apply plugin: 'com.android.library'
2-
apply plugin: 'kotlin-android'
1+
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
2+
import com.vanniktech.maven.publish.SonatypeHost
3+
4+
plugins {
5+
id 'com.android.library'
6+
id 'org.jetbrains.kotlin.android'
7+
id 'com.vanniktech.maven.publish'
8+
}
9+
10+
group = findProperty('GROUP')
11+
version = findProperty('VERSION_NAME')
312

413
android {
5-
compileSdkVersion rootProject.ext.compileSdkVersion
14+
namespace 'com.commit451.addendum.recyclerview'
15+
compileSdk rootProject.ext.compileSdkVersion
616

717
defaultConfig {
8-
minSdkVersion rootProject.ext.minSdkVersion
9-
targetSdkVersion rootProject.ext.targetSdkVersion
10-
versionCode 1
11-
versionName "1.0"
18+
minSdk rootProject.ext.minSdkVersion
19+
targetSdk rootProject.ext.targetSdkVersion
20+
}
21+
22+
compileOptions {
23+
sourceCompatibility JavaVersion.VERSION_17
24+
targetCompatibility JavaVersion.VERSION_17
25+
}
26+
27+
kotlinOptions {
28+
jvmTarget = '17'
1229
}
1330
}
1431

1532
dependencies {
16-
api "androidx.recyclerview:recyclerview:1.0.0"
33+
api 'androidx.recyclerview:recyclerview:1.3.2'
1734
implementation project(':addendum')
1835
}
1936

20-
apply from: 'https://raw.githubusercontent.com/Commit451/gradle-android-javadocs/1.0.0/gradle-android-javadocs.gradle'
37+
mavenPublishing {
38+
configure(new AndroidSingleVariantLibrary('release', true, true))
39+
coordinates('com.commit451', 'addendum-recyclerview', version.toString())
40+
publishToMavenCentral(SonatypeHost.S01)
41+
if (System.getenv('RELEASE_SIGNING_ENABLED') == 'true') {
42+
signAllPublications()
43+
}
44+
}

0 commit comments

Comments
 (0)