Skip to content

Commit a21b913

Browse files
lamba92Lamba92
authored and
Lamba92
committed
moving to bintray, centralized gradle logic with custom plugin
1 parent 1cf9d0c commit a21b913

11 files changed

+188
-530
lines changed

.travis.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ before_cache:
77

88
cache:
99
directories:
10-
- $HOME/.gradle/
11-
- $HOME/.konan/
10+
- $HOME/.gradle/caches
11+
- $HOME/.gradle/wrapper
1212

1313
script: ./gradlew check --scan
1414

@@ -17,7 +17,8 @@ before_install:
1717

1818
deploy:
1919
provider: script
20-
script: ./gradlew publish --continue
20+
script: ./gradlew bintrayUpload
2121
skip_cleanup: true
2222
on:
23-
branch: release
23+
branch: release
24+
tag: true

build.gradle.kts

+8-42
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,24 @@
11
plugins {
2-
kotlin("multiplatform") apply false
2+
id("dragalia-gradle-plugin") apply false
33
}
44

55
allprojects {
6-
group = "com.github.lamba92"
7-
version = "1.0.6"
8-
9-
extensions.findByName("buildScan")?.withGroovyBuilder {
10-
setProperty("termsOfServiceUrl", "https://gradle.com/terms-of-service")
11-
setProperty("termsOfServiceAgree", "yes")
12-
}
13-
}
14-
15-
fun property_(propertyName: String): String? =
16-
project.findProperty(propertyName) as String? ?: System.getenv(propertyName)
176

18-
subprojects {
197
repositories {
208
jcenter()
9+
maven("https://dl.bintray.com/lamba92/com.github.lamba92")
2110
mavenCentral()
22-
maven("https://dl.bintray.com/kotlin/kotlin-eap")
23-
maven("https://maven.pkg.github.com/${property("githubAccount")}/${rootProject.name}") {
24-
name = "GitHubPackages"
25-
credentials {
26-
username = property_("githubAccount")
27-
password = property_("githubToken")
28-
}
29-
}
3011
}
31-
}
3212

33-
tasks.register<Delete>("turboClean") {
34-
group = "clean"
35-
allprojects {
36-
delete(buildDir)
37-
}
38-
}
13+
group = "com.github.lamba92"
14+
version = System.getenv("TRAVIS_TAG") ?: "1.0.7"
3915

40-
//val nodePackagesCopyTask by tasks.register<Copy>("copyNodePackagesFromSubprojects") {
41-
// evaluationDependsOnChildren()
42-
// into(file("$buildDir/nodePackages"))
43-
// subprojects {
44-
// if ("buildNodePackage" in tasks.map { it.name }) {
45-
// val t by tasks.named<Copy>("buildNodePackage")
46-
// dependsOn(t)
47-
// from(t.destinationDir) {
48-
// into("${rootProject.name}-$name")
49-
// }
50-
// }
51-
// }
52-
//}
16+
}
5317

5418
tasks.register<Zip>("zipNodePackages") {
55-
dependsOn(tasks.named("build"))
19+
subprojects {
20+
dependsOn(tasks.named("build"))
21+
}
5622
from("$buildDir/js") {
5723
include("*")
5824
include("**/*")

buildSrc/build.gradle.kts

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
plugins {
2+
`kotlin-dsl`
3+
}
4+
5+
gradlePlugin {
6+
plugins {
7+
create("dragalia-plugin") {
8+
id = "dragalia-gradle-plugin"
9+
implementationClass = "com.github.lamba92.dragalialost.build.DragaliaPlugin"
10+
}
11+
}
12+
}
13+
14+
repositories {
15+
jcenter()
16+
maven("https://plugins.gradle.org/m2/")
17+
}
18+
19+
dependencies {
20+
val kotlinVersion: String by project
21+
val bintrayVersion: String by project
22+
api("org.jetbrains.kotlin", "kotlin-gradle-plugin", kotlinVersion)
23+
api("com.jfrog.bintray.gradle", "gradle-bintray-plugin", bintrayVersion)
24+
}

buildSrc/gradle.properties

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kotlinVersion=1.3.41
2+
bintrayVersion=1.8.4
3+
kotlin.code.style=official

core/build.gradle.kts

+17-92
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,32 @@
1-
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
1+
import com.github.lamba92.dragalialost.build.ktor
22

33
plugins {
4-
kotlin("multiplatform")
5-
`maven-publish`
4+
id("dragalia-gradle-plugin")
65
}
76

87
kotlin {
98

10-
metadata {
11-
mavenPublication {
12-
artifactId = "${rootProject.name}-${project.name}-metadata"
13-
}
14-
}
9+
val ktorVersion: String by project
10+
val textEncodingVersion: String by project
1511

16-
jvm {
17-
compilations.all {
18-
kotlinOptions {
19-
jvmTarget = "1.8"
20-
}
21-
}
22-
mavenPublication {
23-
artifactId = "${rootProject.name}-${project.name}-jvm"
24-
}
12+
sourceSets["commonMain"].dependencies {
13+
api(project(":data"))
14+
api(ktor("client-core", ktorVersion))
2515
}
2616

27-
js {
28-
nodejs()
29-
mavenPublication {
30-
artifactId = "${rootProject.name}-${project.name}-js"
31-
}
17+
sourceSets["jvmMain"].dependencies {
18+
api(project(":data"))
19+
api(ktor("client-core-jvm", ktorVersion))
3220
}
3321

34-
sourceSets {
35-
36-
val ktorVersion: String by project
37-
val textEncodingVersion: String by project
38-
39-
@Suppress("UNUSED_VARIABLE") val commonMain by getting {
40-
dependencies {
41-
api(project(":data"))
42-
api(ktor("client-core", ktorVersion))
43-
}
44-
}
45-
46-
@Suppress("UNUSED_VARIABLE") val jvmMain by getting {
47-
dependencies {
48-
api(project(":data"))
49-
api(ktor("client-core-jvm", ktorVersion))
50-
}
51-
}
52-
53-
@Suppress("UNUSED_VARIABLE") val jvmTest by getting {
54-
dependencies {
55-
api(kotlin("test-junit"))
56-
}
57-
}
58-
59-
@Suppress("UNUSED_VARIABLE") val jsMain by getting {
60-
dependencies {
61-
api(project(":data"))
62-
api(ktor("client-core-js", ktorVersion))
63-
api(npm("text-encoding", textEncodingVersion))
64-
}
65-
}
66-
22+
sourceSets["jvmTest"].dependencies {
23+
api(kotlin("test-junit"))
6724
}
6825

69-
}
70-
71-
fun property(propertyName: String): String? =
72-
project.findProperty(propertyName) as String? ?: System.getenv(propertyName)
73-
74-
publishing {
75-
repositories {
76-
maven("https://maven.pkg.github.com/${property("githubAccount")}/${rootProject.name}") {
77-
name = "GitHubPackages"
78-
credentials {
79-
username = property("githubAccount")
80-
password = property("githubToken")
81-
}
82-
}
26+
sourceSets["jsMain"].dependencies {
27+
api(project(":data"))
28+
api(ktor("client-core-js", ktorVersion))
29+
api(npm("text-encoding", textEncodingVersion))
8330
}
84-
val commonModulePublication = publications["kotlinMultiplatform"] as MavenPublication
85-
commonModulePublication.artifactId = "${rootProject.name}-${project.name}-common"
86-
}
87-
//
88-
//tasks.register<Copy>("buildNodePackage") {
89-
// group = "nodejs"
90-
// val jsJar by tasks.named<Jar>("jsJar")
91-
// val jsPackageJson by tasks.named<org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinPackageJsonTask>("jsPackageJson")
92-
// dependsOn(jsJar, jsPackageJson)
93-
//
94-
// into(file("$buildDir/nodePackage"))
95-
//
96-
// from(jsPackageJson.packageJson)
97-
//
98-
// from(zipTree(jsJar.archiveFile)) {
99-
// include("*.js")
100-
// into("kotlin")
101-
// }
102-
//
103-
//}
10431

105-
@Suppress("unused")
106-
fun KotlinDependencyHandler.ktor(module: String, version: String? = null): Any =
107-
"io.ktor:ktor-$module${version?.let { ":$version" } ?: ""}"
32+
}

0 commit comments

Comments
 (0)