Skip to content

Commit cfa109c

Browse files
authored
Tweak manifest attr size checks (#1262)
`Jar.manifest.mainAttributes` should never be empty.
1 parent 0bd4d62 commit cfa109c

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/JavaPluginTest.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import assertk.all
44
import assertk.assertThat
55
import assertk.assertions.contains
66
import assertk.assertions.isEqualTo
7+
import assertk.assertions.isGreaterThan
78
import assertk.assertions.isNotEmpty
89
import assertk.assertions.isNotNull
910
import assertk.assertions.isNull
@@ -209,7 +210,7 @@ class JavaPluginTest : BasePluginTest() {
209210
run(serverShadowJarTask)
210211

211212
assertThat(outputServerShadowJar).useAll {
212-
transform { it.manifest.mainAttributes }.isNotEmpty()
213+
transform { it.mainAttrSize }.isGreaterThan(1)
213214
getMainAttr(multiReleaseAttributeKey).isEqualTo("true")
214215
}
215216
}
@@ -481,7 +482,7 @@ class JavaPluginTest : BasePluginTest() {
481482
assertThat(outputShadowJar).useAll {
482483
transform { actual -> actual.entries().toList().map { it.name }.filter { it.endsWith(".class") } }
483484
.single().isEqualTo("my/plugin/MyPlugin.class")
484-
transform { it.manifest.mainAttributes }.isNotEmpty()
485+
transform { it.mainAttrSize }.isGreaterThan(0)
485486
// Doesn't contain Gradle classes.
486487
getMainAttr(classPathAttributeKey).isNull()
487488

@@ -643,7 +644,7 @@ class JavaPluginTest : BasePluginTest() {
643644
run(shadowJarTask)
644645

645646
assertThat(outputShadowJar).useAll {
646-
transform { it.manifest.mainAttributes }.isNotEmpty()
647+
transform { it.mainAttrSize }.isGreaterThan(2)
647648
getMainAttr("Foo-Attr").isEqualTo("Foo-Value")
648649
getMainAttr("Bar-Attr").isEqualTo("Bar-Value")
649650
}

src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/JarPath.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ class JarPath(val path: Path) :
1717
JarFile(path.toFile()),
1818
Path by path {
1919

20+
val mainAttrSize: Int get() = manifest.mainAttributes.size
21+
2022
fun getMainAttr(name: String): String? {
2123
return manifest.mainAttributes.getValue(name)
2224
}

0 commit comments

Comments
 (0)