Skip to content

Commit 40c5875

Browse files
committed
Add publishing to MavenCentral instead of jcenter
Closes #19
1 parent 7ff50d7 commit 40c5875

File tree

10 files changed

+150
-81
lines changed

10 files changed

+150
-81
lines changed

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "gradle"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"

.github/release-drafter.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name-template: 'v$RESOLVED_VERSION'
2+
tag-template: 'v$RESOLVED_VERSION'
3+
categories:
4+
- title: '🚀 Features'
5+
labels:
6+
- 'feature'
7+
- 'enhancement'
8+
- title: '🐛 Bug Fixes'
9+
labels:
10+
- 'fix'
11+
- 'bugfix'
12+
- 'bug'
13+
- title: '🧰 Maintenance'
14+
label: 'chore'
15+
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
16+
version-resolver:
17+
major:
18+
labels:
19+
- 'major'
20+
minor:
21+
labels:
22+
- 'minor'
23+
patch:
24+
labels:
25+
- 'patch'
26+
default: patch
27+
template: |
28+
## Changes
29+
$CHANGES

.github/workflows/build.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Build
2+
on:
3+
pull_request:
4+
paths-ignore:
5+
- '*.md'
6+
push:
7+
jobs:
8+
check:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: checkout
12+
uses: actions/checkout@v2
13+
- name: check
14+
run: ./gradlew check
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Release Drafter
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
jobs:
9+
update_release_draft:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: release-drafter/release-drafter@v5
13+
env:
14+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: "Release Version"
8+
required: true
9+
10+
jobs:
11+
deploy:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v2
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Publish to Maven Central
21+
run: ./gradlew publish
22+
env:
23+
RELEASE_VERSION: ${{ github.event.inputs.version }}
24+
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
25+
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
26+
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
27+
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

.travis.yml

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

README.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,8 @@ This library comes to the rescue of programmers dealing with fixed length files.
1414

1515
## Using with Gradle
1616

17-
This library is published to `Bintray jcenter`, so you'll need to configure that in your repositories:
18-
```kotlin
19-
repositories {
20-
mavenCentral()
21-
jcenter()
22-
}
23-
```
17+
Import it into your dependencies:
2418

25-
And then you can import it into your dependencies:
2619
```kotlin
2720
dependencies {
2821
implementation("br.com.guiabolso:FixedLengthFileHandler:{version}")

build.gradle.kts

Lines changed: 58 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,29 @@
1-
import com.novoda.gradle.release.PublishExtension
2-
import org.jetbrains.dokka.gradle.DokkaTask
31
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
4-
5-
buildscript {
6-
repositories {
7-
mavenCentral()
8-
jcenter()
9-
}
10-
11-
dependencies {
12-
classpath("com.novoda:bintray-release:0.9.1")
13-
}
14-
}
2+
import java.lang.System.getenv
153

164
plugins {
17-
kotlin("jvm") version "1.3.61"
18-
5+
kotlin("jvm") version "1.4.31"
196
`maven-publish`
20-
id("org.jetbrains.dokka") version "0.9.17"
21-
id("io.gitlab.arturbosch.detekt").version("1.1.1")
7+
signing
8+
id("io.gitlab.arturbosch.detekt").version("1.16.0")
229
}
2310

24-
apply(plugin = "com.novoda.bintray-release")
25-
2611
group = "br.com.guiabolso"
27-
version = "0.5.0"
12+
version = getenv("RELEASE_VERSION") ?: "local"
2813

2914
repositories {
30-
mavenCentral()
3115
jcenter()
16+
mavenCentral()
17+
}
18+
19+
repositories {
20+
mavenCentral()
3221
}
3322

3423
dependencies {
3524
// Kotlin
36-
implementation(kotlin("stdlib-jdk8"))
3725
implementation(kotlin("reflect"))
3826

39-
4027
// KotlinTest
4128
testImplementation("io.kotlintest:kotlintest-runner-junit5:3.4.2")
4229
}
@@ -49,65 +36,82 @@ tasks.withType<Test> {
4936
useJUnitPlatform()
5037
}
5138

52-
val sourcesJar by tasks.registering(Jar::class) {
53-
classifier = "sources"
54-
from(sourceSets.getByName("main").allSource)
39+
java {
40+
toolchain {
41+
languageVersion.set(JavaLanguageVersion.of(8))
42+
}
5543
}
5644

57-
val javadocJar by tasks.registering(Jar::class) {
58-
val javadoc = tasks["dokka"] as DokkaTask
59-
javadoc.outputFormat = "javadoc"
60-
javadoc.outputDirectory = "$buildDir/javadoc"
61-
dependsOn(javadoc)
62-
classifier = "javadoc"
63-
from(javadoc.outputDirectory)
45+
val sourcesJar by tasks.registering(Jar::class) {
46+
archiveClassifier.set("sources")
47+
from(sourceSets.getByName("main").allSource)
6448
}
6549

66-
detekt {
67-
toolVersion = "1.1.1"
68-
input = files("src/main/kotlin", "src/test/kotlin")
50+
val javadoc = tasks.named("javadoc")
51+
val javadocsJar by tasks.creating(Jar::class) {
52+
group = JavaBasePlugin.DOCUMENTATION_GROUP
53+
description = "Assembles java doc to jar"
54+
archiveClassifier.set("javadoc")
55+
from(javadoc)
6956
}
7057

7158
publishing {
59+
60+
repositories {
61+
maven {
62+
url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
63+
credentials {
64+
username = getenv("OSSRH_USERNAME")
65+
password = getenv("OSSRH_PASSWORD")
66+
}
67+
}
68+
}
69+
7270
publications {
73-
71+
7472
register("maven", MavenPublication::class) {
7573
from(components["java"])
7674
artifact(sourcesJar.get())
77-
artifact(javadocJar.get())
78-
75+
artifact(javadocsJar)
76+
7977
pom {
8078
name.set("Fixed-Length-File-Handler")
8179
description.set("Fixed-Length-File-Handler")
8280
url.set("https://github.com/GuiaBolso/fixed-length-file-handler")
83-
84-
81+
82+
8583
scm {
8684
connection.set("scm:git:https://github.com/GuiaBolso/fixed-length-file-handler/")
8785
developerConnection.set("scm:git:https://github.com/GuiaBolso/")
8886
url.set("https://github.com/GuiaBolso/fixed-length-file-handler")
8987
}
90-
88+
9189
licenses {
9290
license {
9391
name.set("The Apache 2.0 License")
9492
url.set("https://opensource.org/licenses/Apache-2.0")
9593
}
9694
}
95+
96+
developers {
97+
developer {
98+
id.set("Guiabolso")
99+
name.set("Guiabolso")
100+
}
101+
}
97102
}
98103
}
99104
}
100105
}
101106

102-
configure<PublishExtension> {
103-
artifactId = "fixed-length-file-handler"
104-
autoPublish = true
105-
desc = "Fixed Length File Handler"
106-
groupId = "br.com.guiabolso"
107-
userOrg = "gb-opensource"
108-
setLicences("APACHE-2.0")
109-
publishVersion = version.toString()
110-
uploadName = "Fixed-Length-File-Handler"
111-
website = "https://github.com/GuiaBolso/fixed-length-file-handler"
112-
setPublications("maven")
113-
}
107+
signing {
108+
val signingKey: String? by project
109+
val signingPassword: String? by project
110+
111+
useGpgCmd()
112+
if (signingKey != null && signingPassword != null) {
113+
useInMemoryPgpKeys(signingKey, signingPassword)
114+
}
115+
116+
sign((extensions.getByName("publishing") as PublishingExtension).publications)
117+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

upload-bintray.sh

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

0 commit comments

Comments
 (0)