Skip to content

Commit

Permalink
Add SimpleRelocatorParent
Browse files Browse the repository at this point in the history
  • Loading branch information
Goooler committed Nov 27, 2024
1 parent 94f673b commit 11f67a3
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 29 deletions.
14 changes: 10 additions & 4 deletions api/shadow.api
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ public final class com/github/jengelman/gradle/plugins/shadow/relocation/Relocat
public final fun getROLE ()Ljava/lang/String;
}

public class com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocator : com/github/jengelman/gradle/plugins/shadow/relocation/Relocator {
public class com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocator : com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocatorParent, com/github/jengelman/gradle/plugins/shadow/relocation/Relocator {
public fun <init> (Lorg/gradle/api/model/ObjectFactory;Ljava/lang/String;Ljava/lang/String;)V
public fun <init> (Lorg/gradle/api/model/ObjectFactory;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
public fun <init> (Lorg/gradle/api/model/ObjectFactory;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
Expand All @@ -190,16 +190,22 @@ public class com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocat
public fun canRelocateClass (Ljava/lang/String;)Z
public fun canRelocatePath (Ljava/lang/String;)Z
public fun exclude (Ljava/lang/String;)Lcom/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocator;
protected fun getObjectFactory ()Lorg/gradle/api/model/ObjectFactory;
public fun include (Ljava/lang/String;)Lcom/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocator;
public fun relocateClass (Lcom/github/jengelman/gradle/plugins/shadow/relocation/RelocateClassContext;)Ljava/lang/String;
public fun relocatePath (Lcom/github/jengelman/gradle/plugins/shadow/relocation/RelocatePathContext;)Ljava/lang/String;
}

public abstract class com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocatorParent {
public fun <init> ()V
public fun getExcludes ()Lorg/gradle/api/provider/SetProperty;
public fun getIncludes ()Lorg/gradle/api/provider/SetProperty;
protected abstract fun getObjectFactory ()Lorg/gradle/api/model/ObjectFactory;
public fun getPathPattern ()Lorg/gradle/api/provider/Property;
public fun getPattern ()Lorg/gradle/api/provider/Property;
public fun getRawString ()Lorg/gradle/api/provider/Property;
public fun getShadedPathPattern ()Lorg/gradle/api/provider/Property;
public fun getShadedPattern ()Lorg/gradle/api/provider/Property;
public fun include (Ljava/lang/String;)Lcom/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocator;
public fun relocateClass (Lcom/github/jengelman/gradle/plugins/shadow/relocation/RelocateClassContext;)Ljava/lang/String;
public fun relocatePath (Lcom/github/jengelman/gradle/plugins/shadow/relocation/RelocatePathContext;)Ljava/lang/String;
}

public class com/github/jengelman/gradle/plugins/shadow/tasks/DefaultInheritManifest : com/github/jengelman/gradle/plugins/shadow/tasks/InheritManifest, org/gradle/api/java/archives/Manifest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,38 +18,17 @@ import org.gradle.api.tasks.Optional
*/
@CacheableRelocator
public open class SimpleRelocator @JvmOverloads constructor(
objectFactory: ObjectFactory,
override val objectFactory: ObjectFactory,
pattern: String?,
shadedPattern: String?,
includes: List<String>? = null,
excludes: List<String>? = null,
rawString: Boolean = false,
) : Relocator {

@get:Input
@get:Optional
public open val pattern: Property<String> = objectFactory.property()

@get:Input
public open val pathPattern: Property<String> = objectFactory.property()

@get:Input
@get:Optional
public open val shadedPattern: Property<String> = objectFactory.property()

@get:Input
public open val shadedPathPattern: Property<String> = objectFactory.property()

@get:Input
public open val rawString: Property<Boolean> = objectFactory.property(rawString)

@get:Input
public open val includes: SetProperty<String> = objectFactory.setProperty(String::class.java)

@get:Input
public open val excludes: SetProperty<String> = objectFactory.setProperty(String::class.java)
) : SimpleRelocatorParent(),
Relocator {

init {
this.rawString.set(rawString)
if (rawString) {
pathPattern.set(pattern.orEmpty())
shadedPathPattern.set(shadedPattern.orEmpty())
Expand Down Expand Up @@ -153,3 +132,30 @@ public open class SimpleRelocator @JvmOverloads constructor(
return excludes.get().any { SelectorUtils.matchPath(it, path, "/", true) }
}
}

public abstract class SimpleRelocatorParent {
protected abstract val objectFactory: ObjectFactory

@get:Input
@get:Optional
public open val pattern: Property<String> = objectFactory.property()

@get:Input
public open val pathPattern: Property<String> = objectFactory.property()

@get:Input
@get:Optional
public open val shadedPattern: Property<String> = objectFactory.property()

@get:Input
public open val shadedPathPattern: Property<String> = objectFactory.property()

@get:Input
public open val rawString: Property<Boolean> = objectFactory.property()

@get:Input
public open val includes: SetProperty<String> = objectFactory.setProperty(String::class.java)

@get:Input
public open val excludes: SetProperty<String> = objectFactory.setProperty(String::class.java)
}

0 comments on commit 11f67a3

Please sign in to comment.