Skip to content

Commit 4397a27

Browse files
authored
Enable Explicit API mode (#1031)
1 parent 4cf33b1 commit 4397a27

39 files changed

+209
-210
lines changed

api/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ java {
1313
}
1414

1515
kotlin {
16+
explicitApi()
1617
compilerOptions {
1718
// https://docs.gradle.org/current/userguide/compatibility.html#kotlin
1819
apiVersion = KotlinVersion.KOTLIN_1_8

api/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowApplicationPlugin.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import org.gradle.api.tasks.application.CreateStartScripts
1616
import org.gradle.jvm.application.scripts.TemplateBasedScriptGenerator
1717
import org.gradle.jvm.toolchain.JavaToolchainService
1818

19-
abstract class ShadowApplicationPlugin : Plugin<Project> {
19+
public abstract class ShadowApplicationPlugin : Plugin<Project> {
2020
private lateinit var project: Project
2121
private lateinit var javaApplication: JavaApplication
2222

@@ -127,9 +127,9 @@ abstract class ShadowApplicationPlugin : Plugin<Project> {
127127
protected val shadowJar: TaskProvider<ShadowJar>
128128
get() = project.tasks.named(ShadowJavaPlugin.SHADOW_JAR_TASK_NAME, ShadowJar::class.java)
129129

130-
companion object {
131-
const val SHADOW_RUN_TASK_NAME: String = "runShadow"
132-
const val SHADOW_SCRIPTS_TASK_NAME: String = "startShadowScripts"
133-
const val SHADOW_INSTALL_TASK_NAME: String = "installShadowDist"
130+
public companion object {
131+
public const val SHADOW_RUN_TASK_NAME: String = "runShadow"
132+
public const val SHADOW_SCRIPTS_TASK_NAME: String = "startShadowScripts"
133+
public const val SHADOW_INSTALL_TASK_NAME: String = "installShadowDist"
134134
}
135135
}

api/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowBasePlugin.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import org.gradle.api.Plugin
66
import org.gradle.api.Project
77
import org.gradle.util.GradleVersion
88

9-
abstract class ShadowBasePlugin : Plugin<Project> {
9+
public abstract class ShadowBasePlugin : Plugin<Project> {
1010

1111
override fun apply(project: Project) {
1212
if (GradleVersion.current() < GradleVersion.version("8.3")) {
@@ -20,12 +20,12 @@ abstract class ShadowBasePlugin : Plugin<Project> {
2020
}
2121
}
2222

23-
companion object {
24-
const val SHADOW: String = "shadow"
25-
const val GROUP_NAME: String = SHADOW
26-
const val EXTENSION_NAME: String = SHADOW
27-
const val CONFIGURATION_NAME: String = SHADOW
28-
const val COMPONENT_NAME: String = SHADOW
29-
const val DISTRIBUTION_NAME: String = SHADOW
23+
public companion object {
24+
public const val SHADOW: String = "shadow"
25+
public const val GROUP_NAME: String = SHADOW
26+
public const val EXTENSION_NAME: String = SHADOW
27+
public const val CONFIGURATION_NAME: String = SHADOW
28+
public const val COMPONENT_NAME: String = SHADOW
29+
public const val DISTRIBUTION_NAME: String = SHADOW
3030
}
3131
}

api/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowExtension.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import org.gradle.api.Project
44
import org.gradle.api.publish.maven.MavenPublication
55

66
@Deprecated("This is deprecated since 8.3.2")
7-
abstract class ShadowExtension(project: Project) {
7+
public abstract class ShadowExtension(project: Project) {
88
private val components = project.components
99

1010
@Deprecated("configure publication using component.shadow directly.")
11-
fun component(publication: MavenPublication) {
11+
public fun component(publication: MavenPublication) {
1212
publication.from(components.findByName(ShadowBasePlugin.COMPONENT_NAME))
1313
}
1414
}

api/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowJavaPlugin.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import org.gradle.api.tasks.TaskProvider
1717
import org.gradle.jvm.tasks.Jar
1818
import org.gradle.plugin.devel.plugins.JavaGradlePluginPlugin
1919

20-
abstract class ShadowJavaPlugin @Inject constructor(
20+
public abstract class ShadowJavaPlugin @Inject constructor(
2121
private val softwareComponentFactory: SoftwareComponentFactory,
2222
) : Plugin<Project> {
2323

@@ -104,8 +104,8 @@ abstract class ShadowJavaPlugin @Inject constructor(
104104
return taskProvider
105105
}
106106

107-
companion object {
108-
const val SHADOW_JAR_TASK_NAME: String = "shadowJar"
109-
const val SHADOW_RUNTIME_ELEMENTS_CONFIGURATION_NAME: String = "shadowRuntimeElements"
107+
public companion object {
108+
public const val SHADOW_JAR_TASK_NAME: String = "shadowJar"
109+
public const val SHADOW_RUNTIME_ELEMENTS_CONFIGURATION_NAME: String = "shadowRuntimeElements"
110110
}
111111
}

api/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import org.gradle.api.Project
66
import org.gradle.api.plugins.ApplicationPlugin
77
import org.gradle.api.plugins.JavaPlugin
88

9-
abstract class ShadowPlugin : Plugin<Project> {
9+
public abstract class ShadowPlugin : Plugin<Project> {
1010

1111
override fun apply(project: Project) {
1212
project.run {

api/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowStats.kt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,50 @@ package com.github.jengelman.gradle.plugins.shadow
22

33
import org.gradle.api.GradleException
44

5-
open class ShadowStats {
6-
open var totalTime: Long = 0
7-
open var jarStartTime: Long = 0
8-
open var jarEndTime: Long = 0
9-
open var jarCount: Int = 1
10-
open var processingJar: Boolean = false
11-
open val relocations: MutableMap<String, String> = mutableMapOf()
5+
public open class ShadowStats {
6+
public open var totalTime: Long = 0
7+
public open var jarStartTime: Long = 0
8+
public open var jarEndTime: Long = 0
9+
public open var jarCount: Int = 1
10+
public open var processingJar: Boolean = false
11+
public open val relocations: MutableMap<String, String> = mutableMapOf()
1212

13-
open val relocationString: String
13+
public open val relocationString: String
1414
get() {
1515
return relocations.map { (k, v) -> "$k$v" }
1616
.sorted()
1717
.joinToString("\n")
1818
}
1919

20-
open val jarTiming: Long
20+
public open val jarTiming: Long
2121
get() = jarEndTime - jarStartTime
2222

23-
open val totalTimeSecs: Double
23+
public open val totalTimeSecs: Double
2424
get() = totalTime / 1000.0
2525

26-
open val averageTimePerJar: Double
26+
public open val averageTimePerJar: Double
2727
get() = totalTime / jarCount.toDouble()
2828

29-
open val averageTimeSecsPerJar: Double
29+
public open val averageTimeSecsPerJar: Double
3030
get() = averageTimePerJar / 1000.0
3131

32-
open val buildScanData: Map<String, String>
32+
public open val buildScanData: Map<String, String>
3333
get() = mapOf(
3434
"dependencies" to jarCount.toString(),
3535
"relocations" to relocationString,
3636
)
3737

38-
open fun relocate(src: String, dst: String) {
38+
public open fun relocate(src: String, dst: String) {
3939
relocations[src] = dst
4040
}
4141

42-
open fun startJar() {
42+
public open fun startJar() {
4343
if (processingJar) throw GradleException("Can only time one entry at a time")
4444
processingJar = true
4545
jarStartTime = System.currentTimeMillis()
4646
}
4747

48-
open fun finishJar() {
48+
public open fun finishJar() {
4949
if (processingJar) {
5050
jarEndTime = System.currentTimeMillis()
5151
jarCount++
@@ -54,7 +54,7 @@ open class ShadowStats {
5454
}
5555
}
5656

57-
open fun printStats() {
57+
public open fun printStats() {
5858
println(this)
5959
}
6060

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import org.objectweb.asm.commons.Remapper
1313
*
1414
* @author John Engelman
1515
*/
16-
open class RelocatorRemapper(
16+
public open class RelocatorRemapper(
1717
private val relocators: List<Relocator>,
1818
private val stats: ShadowStats,
1919
) : Remapper() {
2020
private val classPattern: Pattern = Pattern.compile("(\\[*)?L(.+)")
2121

22-
open fun hasRelocators(): Boolean = relocators.isNotEmpty()
22+
public open fun hasRelocators(): Boolean = relocators.isNotEmpty()
2323

2424
override fun mapValue(value: Any): Any {
2525
return if (value is String) {
@@ -54,11 +54,11 @@ open class RelocatorRemapper(
5454
return name
5555
}
5656

57-
open fun mapPath(path: String): String {
57+
public open fun mapPath(path: String): String {
5858
return map(path.substring(0, path.indexOf('.')))
5959
}
6060

61-
open fun mapPath(path: ShadowCopyAction.RelativeArchivePath): String {
61+
public open fun mapPath(path: ShadowCopyAction.RelativeArchivePath): String {
6262
return mapPath(path.pathString)
6363
}
6464
}

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,49 @@ import org.gradle.api.artifacts.ResolvedDependency
66
import org.gradle.api.file.FileCollection
77
import org.gradle.api.specs.Spec
88

9-
interface DependencyFilter {
9+
public interface DependencyFilter {
1010
/**
1111
* Resolve a FileCollection against the include/exclude rules in the filter.
1212
*/
13-
fun resolve(configuration: FileCollection): FileCollection
13+
public fun resolve(configuration: FileCollection): FileCollection
1414

1515
/**
1616
* Resolve all FileCollections against the include/exclude rules in the filter and combine the results.
1717
*/
18-
fun resolve(configurations: Collection<FileCollection>): FileCollection
18+
public fun resolve(configurations: Collection<FileCollection>): FileCollection
1919

2020
/**
2121
* Exclude dependencies that match the provided spec.
2222
*/
23-
fun exclude(spec: Spec<ResolvedDependency>): DependencyFilter
23+
public fun exclude(spec: Spec<ResolvedDependency>): DependencyFilter
2424

2525
/**
2626
* Include dependencies that match the provided spec.
2727
*/
28-
fun include(spec: Spec<ResolvedDependency>): DependencyFilter
28+
public fun include(spec: Spec<ResolvedDependency>): DependencyFilter
2929

3030
/**
3131
* Create a spec that matches the provided project notation on group, name, and version.
3232
*/
33-
fun project(notation: Map<String, *>): Spec<ResolvedDependency>
33+
public fun project(notation: Map<String, *>): Spec<ResolvedDependency>
3434

3535
/**
3636
* Create a spec that matches the default configuration for the provided project path on group, name, and version.
3737
*/
38-
fun project(notation: String): Spec<ResolvedDependency>
38+
public fun project(notation: String): Spec<ResolvedDependency>
3939

4040
/**
4141
* Create a spec that matches dependencies using the provided notation on group, name, and version.
4242
*/
43-
fun dependency(notation: Any): Spec<ResolvedDependency>
43+
public fun dependency(notation: Any): Spec<ResolvedDependency>
4444

4545
/**
4646
* Create a spec that matches the provided dependency on group, name, and version.
4747
*/
48-
fun dependency(dependency: Dependency): Spec<ResolvedDependency>
48+
public fun dependency(dependency: Dependency): Spec<ResolvedDependency>
4949

5050
/**
5151
* Create a spec that matches the provided closure.
5252
*/
53-
fun dependency(closure: Closure<*>): Spec<ResolvedDependency>
53+
public fun dependency(closure: Closure<*>): Spec<ResolvedDependency>
5454
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ internal class UnusedTracker private constructor(
4343
}
4444

4545
companion object {
46-
@JvmStatic
4746
fun forProject(
4847
apiJars: FileCollection,
4948
sourceSetsClassesDirs: Iterable<File>,
@@ -52,7 +51,6 @@ internal class UnusedTracker private constructor(
5251
return UnusedTracker(sourceSetsClassesDirs, apiJars, toMinimize)
5352
}
5453

55-
@JvmStatic
5654
fun getApiJarsFromProject(project: Project): FileCollection {
5755
val apiDependencies = project.configurations.findByName("api")?.dependencies
5856
?: return project.files()

0 commit comments

Comments
 (0)