Skip to content

Commit eb6c795

Browse files
committed
sort BCVTargets
1 parent 402a3f4 commit eb6c795

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

modules/bcv-gradle-plugin/api/bcv-gradle-plugin.api

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ public abstract interface annotation class dev/adamko/kotlin/binary_compatibilit
8383
public abstract class dev/adamko/kotlin/binary_compatibility_validator/targets/BCVJvmTarget : dev/adamko/kotlin/binary_compatibility_validator/targets/BCVTarget, org/gradle/api/Named {
8484
public abstract fun getInputClasses ()Lorg/gradle/api/file/ConfigurableFileCollection;
8585
public abstract fun getInputJar ()Lorg/gradle/api/file/RegularFileProperty;
86-
public final fun getObjects ()Lorg/gradle/api/model/ObjectFactory;
8786
public final fun getPlatformType ()Ljava/lang/String;
8887
}
8988

@@ -95,8 +94,11 @@ public abstract class dev/adamko/kotlin/binary_compatibility_validator/targets/B
9594
public final fun getTargetName ()Ljava/lang/String;
9695
}
9796

98-
public abstract class dev/adamko/kotlin/binary_compatibility_validator/targets/BCVTarget : dev/adamko/kotlin/binary_compatibility_validator/targets/BCVTargetBaseSpec, java/io/Serializable, org/gradle/api/Named, org/gradle/api/plugins/ExtensionAware {
97+
public abstract class dev/adamko/kotlin/binary_compatibility_validator/targets/BCVTarget : dev/adamko/kotlin/binary_compatibility_validator/targets/BCVTargetBaseSpec, java/io/Serializable, java/lang/Comparable, org/gradle/api/Named, org/gradle/api/plugins/ExtensionAware {
98+
public static final field Companion Ldev/adamko/kotlin/binary_compatibility_validator/targets/BCVTarget$Companion;
9999
public synthetic fun <init> (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
100+
public fun compareTo (Ldev/adamko/kotlin/binary_compatibility_validator/targets/BCVTarget;)I
101+
public synthetic fun compareTo (Ljava/lang/Object;)I
100102
public abstract fun getEnabled ()Lorg/gradle/api/provider/Property;
101103
public abstract fun getIgnoredClasses ()Lorg/gradle/api/provider/SetProperty;
102104
public abstract fun getIgnoredMarkers ()Lorg/gradle/api/provider/SetProperty;
@@ -107,6 +109,9 @@ public abstract class dev/adamko/kotlin/binary_compatibility_validator/targets/B
107109
public abstract fun getPublicPackages ()Lorg/gradle/api/provider/SetProperty;
108110
}
109111

112+
public final class dev/adamko/kotlin/binary_compatibility_validator/targets/BCVTarget$Companion {
113+
}
114+
110115
public abstract interface class dev/adamko/kotlin/binary_compatibility_validator/targets/BCVTargetBaseSpec : java/io/Serializable {
111116
public abstract fun getEnabled ()Lorg/gradle/api/provider/Property;
112117
public abstract fun getIgnoredClasses ()Lorg/gradle/api/provider/SetProperty;
@@ -171,3 +176,4 @@ public final class org/gradle/kotlin/dsl/BcvGradleDslAccessorsKt {
171176
public static final fun binaryCompatibilityValidator (Lorg/gradle/api/initialization/Settings;Lkotlin/jvm/functions/Function1;)V
172177
public static final fun getBinaryCompatibilityValidator (Lorg/gradle/api/initialization/Settings;)Ldev/adamko/kotlin/binary_compatibility_validator/BCVSettingsPlugin$Extension;
173178
}
179+

modules/bcv-gradle-plugin/src/main/kotlin/targets/BCVJvmTarget.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ constructor(
2323
@get:Internal
2424
val platformType: String,
2525
@get:Internal
26-
val objects: ObjectFactory
26+
internal val objects: ObjectFactory
2727
) : BCVTarget(platformType), Named {
2828

2929
@get:Classpath

modules/bcv-gradle-plugin/src/main/kotlin/targets/BCVTarget.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ sealed class BCVTarget
1515
@Inject
1616
constructor(
1717
private val named: String,
18-
) : BCVTargetBaseSpec, Serializable, Named, ExtensionAware {
18+
) : BCVTargetBaseSpec, Serializable, Named, ExtensionAware, Comparable<BCVTarget> {
1919

2020
@get:Input
2121
@get:Optional
@@ -60,6 +60,16 @@ constructor(
6060
@get:Optional
6161
abstract override val ignoredClasses: SetProperty<String>
6262

63+
override fun compareTo(other: BCVTarget): Int =
64+
this.string().compareTo(other.string())
65+
6366
@Input
6467
override fun getName(): String = named
68+
69+
companion object {
70+
private fun BCVTarget.string(): String = when (this) {
71+
is BCVJvmTarget -> "BCVJvmTarget(${named})"
72+
is BCVKLibTarget -> "BCVKLibTarget(${named})"
73+
}
74+
}
6575
}

modules/bcv-gradle-plugin/src/main/kotlin/tasks/BCVApiGenerateTask.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,15 @@ constructor(
7878

7979
generateJvmTargets(
8080
workQueue = workQueue,
81-
jvmTargets = enabledTargets.withType<BCVJvmTarget>(),
81+
jvmTargets = enabledTargets.withType<BCVJvmTarget>().sorted(),
8282
outputApiBuildDir = outputApiBuildDir.get().asFile,
8383
)
8484

8585
// TODO log when klib file doesn't exist
8686
// TODO log warning when klibFile has >1 file
8787
val klibTargets = enabledTargets.withType<BCVKLibTarget>()
8888
.filter { it.klibFile.singleOrNull()?.exists() == true }
89-
.sortedBy { it.targetName }
89+
.sorted()
9090

9191
generateKLibTargets(
9292
workQueue = workQueue,

0 commit comments

Comments
 (0)