Skip to content

Commit 9ada0af

Browse files
authored
Minor tweaks (#1536)
* Tweak comments * Revert "Update dependency com.pinterest.ktlint:ktlint-cli to v1.7.0 (#1516)" This reverts commit e6afa8e * Rearrange * Tweak hasTransformedResource styles * Tweak AppendingTransformer styles * Cleanups
1 parent 81bb2ab commit 9ada0af

11 files changed

Lines changed: 49 additions & 63 deletions

File tree

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@ class PublishingTest : BasePluginTest() {
6565
archiveClassifier = ''
6666
archiveBaseName = 'maven-all'
6767
""".trimIndent(),
68-
) +
69-
System.lineSeparator(),
68+
) + System.lineSeparator(),
7069
)
7170

7271
publish()
@@ -555,11 +554,10 @@ class PublishingTest : BasePluginTest() {
555554
TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE.name to JavaVersion.current().majorVersion,
556555
)
557556

558-
val shadowVariantAttrs = commonVariantAttrs +
559-
arrayOf(
560-
Bundling.BUNDLING_ATTRIBUTE.name to Bundling.SHADOWED,
561-
Usage.USAGE_ATTRIBUTE.name to Usage.JAVA_RUNTIME,
562-
)
557+
val shadowVariantAttrs = commonVariantAttrs + arrayOf(
558+
Bundling.BUNDLING_ATTRIBUTE.name to Bundling.SHADOWED,
559+
Usage.USAGE_ATTRIBUTE.name to Usage.JAVA_RUNTIME,
560+
)
563561

564562
fun MavenXpp3Reader.read(path: Path): Model = path.inputStream().use { read(it) }
565563

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/GradleCompat.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,8 @@ import org.gradle.jvm.toolchain.JavaToolchainService
2222
* Return `runtimeClasspath` or `runtime` configuration.
2323
*/
2424
internal inline val Project.runtimeConfiguration: Configuration
25-
get() {
26-
return configurations.findByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME)
27-
?: configurations.getByName("runtime")
28-
}
25+
get() = configurations.findByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME)
26+
?: configurations.getByName("runtime")
2927

3028
internal inline val Project.sourceSets: SourceSetContainer
3129
get() = extensions.getByType(SourceSetContainer::class.java)

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/RelocatorRemapper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ internal class RelocatorRemapper(
4949
}
5050

5151
fun mapPath(path: String): String {
52-
return map(path.substring(0, path.indexOf('.')))
52+
return map(path.substringBefore('.'))
5353
}
5454
}

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocator.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ public open class SimpleRelocator @JvmOverloads constructor(
212212
// Actually, class patterns should just use 'foo.bar.*' ending with a single asterisk, but some users
213213
// mistake them for path patterns like 'my/path/**', so let us be a bit more lenient here.
214214
if (filePattern.endsWith("/*") || filePattern.endsWith("/**")) {
215-
val packagePattern = filePattern.substring(0, filePattern.lastIndexOf('/'))
215+
val packagePattern = filePattern.take(filePattern.lastIndexOf('/'))
216216
add(packagePattern)
217217
}
218218
}

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/tasks/ShadowCopyAction.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ public open class ShadowCopyAction(
8787
}
8888
}
8989

90-
/**
91-
* Handles cases like [issue 53](https://github.com/GradleUp/shadow/issues/53).
92-
*/
9390
private fun addDirs(zos: ZipOutputStream) {
9491
@Suppress("UNCHECKED_CAST")
9592
val entries = zos::class.java.getDeclaredField("entries").apply { isAccessible = true }
@@ -173,8 +170,6 @@ public open class ShadowCopyAction(
173170
/**
174171
* Applies remapping to the given class with the specified relocation path. The remapped class is then written
175172
* to the zip file.
176-
*
177-
* See [issue 364](https://github.com/GradleUp/shadow/issues/364) and [issue 408](https://github.com/GradleUp/shadow/issues/408).
178173
*/
179174
private fun FileCopyDetails.remapClass() = file.inputStream().use { inputStream ->
180175
// We don't pass the ClassReader here. This forces the ClassWriter to rebuild the constant pool.

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/AppendingTransformer.kt

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,11 @@ import org.gradle.api.tasks.Optional
1919
* @author John Engelman
2020
*/
2121
@CacheableTransformer
22-
@Suppress("ktlint:standard:backing-property-naming")
2322
public open class AppendingTransformer @Inject constructor(
2423
final override val objectFactory: ObjectFactory,
2524
) : ResourceTransformer {
26-
/**
27-
* Defer initialization, see [issue 763](https://github.com/GradleUp/shadow/issues/763).
28-
*/
29-
private var _data: ByteArrayOutputStream? = null
25+
@Suppress("ktlint:standard:backing-property-naming")
26+
private var _data: ByteArrayOutputStream? = null // It's nullable to allow lazy initialization to support CC.
3027
private inline val data get() = _data ?: ByteArrayOutputStream().also { _data = it }
3128

3229
@get:Optional
@@ -41,23 +38,24 @@ public open class AppendingTransformer @Inject constructor(
4138
}
4239

4340
override fun transform(context: TransformerContext) {
44-
if (data.size() > 0) {
45-
// Append the separator before the new content to ensure the separator is not at the end of the file.
46-
data.write(separator.get().toByteArray())
41+
data.let {
42+
if (it.size() > 0) {
43+
// Append the separator before the new content to ensure the separator is not at the end of the file.
44+
it.write(separator.get().toByteArray())
45+
}
46+
context.inputStream.copyTo(it)
4747
}
48-
context.inputStream.copyTo(data)
4948
}
5049

51-
override fun hasTransformedResource(): Boolean {
52-
return data.size() > 0
53-
}
50+
override fun hasTransformedResource(): Boolean = data.size() > 0
5451

5552
override fun modifyOutputStream(os: ZipOutputStream, preserveFileTimestamps: Boolean) {
5653
os.putNextEntry(zipEntry(resource.get(), preserveFileTimestamps))
57-
58-
// Closing a ByteArrayOutputStream has no effect, so we don't use a use block here.
59-
data.toByteArray().inputStream().copyTo(os)
60-
data.reset()
54+
data.let {
55+
// Closing a ByteArrayOutputStream has no effect, so we don't use a use block here.
56+
it.toByteArray().inputStream().copyTo(os)
57+
it.reset()
58+
}
6159
}
6260

6361
public companion object {

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/ComponentsXmlResourceTransformer.kt

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,22 @@ import org.gradle.api.tasks.Internal
2525
public open class ComponentsXmlResourceTransformer : ResourceTransformer {
2626
private val components = mutableMapOf<String, Xpp3Dom>()
2727

28+
@get:Internal
29+
internal val transformedResource: ByteArray
30+
get() {
31+
val os = ByteArrayOutputStream(1024 * 4)
32+
XmlStreamWriter(os).use { writer ->
33+
val dom = Xpp3Dom("component-set")
34+
val componentDom = Xpp3Dom("components")
35+
dom.addChild(componentDom)
36+
for (component in components.values) {
37+
componentDom.addChild(component)
38+
}
39+
Xpp3DomWriter.write(writer, dom)
40+
}
41+
return os.toByteArray()
42+
}
43+
2844
override fun canTransformResource(element: FileTreeElement): Boolean {
2945
return COMPONENTS_XML_PATH == element.path
3046
}
@@ -85,22 +101,6 @@ public open class ComponentsXmlResourceTransformer : ResourceTransformer {
85101

86102
override fun hasTransformedResource(): Boolean = components.isNotEmpty()
87103

88-
@get:Internal
89-
internal val transformedResource: ByteArray
90-
get() {
91-
val os = ByteArrayOutputStream(1024 * 4)
92-
XmlStreamWriter(os).use { writer ->
93-
val dom = Xpp3Dom("component-set")
94-
val componentDom = Xpp3Dom("components")
95-
dom.addChild(componentDom)
96-
for (component in components.values) {
97-
componentDom.addChild(component)
98-
}
99-
Xpp3DomWriter.write(writer, dom)
100-
}
101-
return os.toByteArray()
102-
}
103-
104104
public companion object {
105105
public const val COMPONENTS_XML_PATH: String = "META-INF/plexus/components.xml"
106106

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/GroovyExtensionModuleTransformer.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public open class GroovyExtensionModuleTransformer : ResourceTransformer {
4646
override fun transform(context: TransformerContext) {
4747
val props = Properties()
4848
props.load(context.inputStream)
49+
@Suppress("JavaMapForEach")
4950
props.forEach { key, value ->
5051
when (key as String) {
5152
KEY_MODULE_NAME -> handle(key, value as String) {

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/Log4j2PluginsCacheFileTransformer.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ public open class Log4j2PluginsCacheFileTransformer : ResourceTransformer {
4848
/**
4949
* @return `true` if any dat file collected.
5050
*/
51-
override fun hasTransformedResource(): Boolean {
52-
return tempFiles.isNotEmpty()
53-
}
51+
override fun hasTransformedResource(): Boolean = tempFiles.isNotEmpty()
5452

5553
override fun modifyOutputStream(os: ZipOutputStream, preserveFileTimestamps: Boolean) {
5654
try {

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/PropertiesFileTransformer.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,7 @@ public open class PropertiesFileTransformer @Inject constructor(
212212
return mergeSeparator
213213
}
214214

215-
override fun hasTransformedResource(): Boolean {
216-
return propertiesEntries.isNotEmpty()
217-
}
215+
override fun hasTransformedResource(): Boolean = propertiesEntries.isNotEmpty()
218216

219217
override fun modifyOutputStream(os: ZipOutputStream, preserveFileTimestamps: Boolean) {
220218
// Cannot close the writer as the OutputStream needs to remain open.

0 commit comments

Comments
 (0)