-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
107 lines (97 loc) · 3.61 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
`java-gradle-plugin`
`maven-publish`
signing
val kotlinVersion = "1.8.22"
kotlin("jvm").version(kotlinVersion)
kotlin("plugin.serialization").version(kotlinVersion)
id("com.github.ben-manes.versions").version("0.47.0") //For finding outdated dependencies
}
allprojects {
version = "1.0.5"
group = "net.justmachinery.futility"
repositories {
mavenCentral()
}
}
subprojects {
apply(plugin = "org.gradle.maven-publish")
apply(plugin = "org.jetbrains.kotlin.jvm")
apply(plugin = "org.jetbrains.kotlin.kapt")
apply(plugin = "org.gradle.signing")
apply(plugin = "org.jetbrains.kotlin.plugin.serialization")
val sourcesJar by tasks.registering(Jar::class){
archiveClassifier.set("sources")
from(sourceSets.main.get().allSource)
}
val javadocJar by tasks.registering(Jar::class){
dependsOn.add(JavaPlugin.JAVADOC_TASK_NAME)
archiveClassifier.set("javadoc")
from(tasks.getByName("javadoc"))
}
artifacts {
archives(sourcesJar)
archives(javadocJar)
}
val projectName = name
publishing {
publications {
create<MavenPublication>("mavenKotlin") {
artifactId = "futility-$projectName"
from(components["kotlin"])
pom {
name.set("Futility $projectName")
description.set("$description")
url.set("https://github.com/ScottPeterJohnson/futility")
licenses {
license {
name.set("The Apache License, Version 2.0")
url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
}
}
developers {
developer {
id.set("scottj")
name.set("Scott Johnson")
email.set("mavenfutility@justmachinery.net")
}
}
scm {
connection.set("scm:git:git://github.com/ScottPeterJohnson/futility.git")
developerConnection.set("scm:git:ssh://github.com/ScottPeterJohnson/futility.git")
url.set("http://github.com/ScottPeterJohnson/futility")
}
}
artifact(sourcesJar)
artifact(javadocJar)
}
}
repositories {
maven {
name = "central"
val releasesRepoUrl = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
val snapshotsRepoUrl = uri("https://oss.sonatype.org/content/repositories/snapshots/")
url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl
credentials {
username = findProperty("ossrhUsername") as? String
password = findProperty("ossrhPassword") as? String
}
}
}
}
signing {
sign(publishing.publications["mavenKotlin"])
}
kotlin {
explicitApi()
jvmToolchain(12)
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation("io.github.microutils:kotlin-logging:3.0.5")
api("org.jetbrains.kotlinx:kotlinx-serialization-core:1.5.1")
implementation("com.squareup.okio:okio:3.0.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")
}
}