Skip to content

Commit 9c537a7

Browse files
committed
Resurrect embedded.gradle
1 parent 056f4e6 commit 9c537a7

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

gradle-plugin/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ plugins {
55
id 'org.jetbrains.kotlin.jvm'
66
}
77

8+
apply from: rootProject.file('gradle/utils/embedded.gradle')
9+
810
gradlePlugin {
911
website = 'https://github.com/ShikaSD/kotlin-object-serialization-fix'
1012
vcsUrl = 'https://github.com/ShikaSD/kotlin-object-serialization-fix.git'
@@ -24,5 +26,5 @@ dependencies {
2426
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
2527
implementation "org.jetbrains.kotlin:kotlin-gradle-plugin-api"
2628

27-
runtimeOnly(project(':kotlin-plugin'))
29+
embedded project(':kotlin-plugin')
2830
}

gradle/utils/embedded.gradle

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
configurations {
2+
embedded {
3+
transitive = false
4+
}
5+
compileOnly.extendsFrom(embedded)
6+
}
7+
8+
def embeddedProjects() {
9+
return project.configurations.findByName('embedded')
10+
.resolvedConfiguration
11+
.resolvedArtifacts
12+
.findAll { it.id.componentIdentifier instanceof ProjectComponentIdentifier }
13+
.collect { project(it.id.componentIdentifier.projectPath) }
14+
}
15+
16+
afterEvaluate {
17+
dependencies {
18+
embeddedProjects().collect { it.configurations.findByName("published") }
19+
.forEach {
20+
it.dependencies.forEach {
21+
runtime "$it.group:$it.name:$it.version"
22+
}
23+
}
24+
}
25+
26+
jar {
27+
from project.configurations.embedded.collect {
28+
zipTree(it)
29+
}
30+
}
31+
32+
tasks.getByName("sourcesJar") {
33+
archiveClassifier = 'sources'
34+
from embeddedProjects().collect { it.sourceSets.main.allSource }
35+
}
36+
37+
artifacts {
38+
archives sourcesJar
39+
}
40+
}

0 commit comments

Comments
 (0)