mirror of
https://github.com/plexusorg/plugin-yml.git
synced 2024-12-22 08:15:08 +00:00
Fix permissions generation when using register("...")
It looks like asMap(...) doesn't return lazily registered values. Might be a bug, but using .associateBy { it.name } is at least as simple and does not have that problem.
This commit is contained in:
parent
c60658d745
commit
5fff9cf695
2 changed files with 14 additions and 14 deletions
|
@ -54,10 +54,10 @@ class BukkitPluginDescription(project: Project) : Serializable {
|
|||
@Transient @JsonIgnore val permissions: NamedDomainObjectContainer<Permission> = project.container(Permission::class.java)
|
||||
|
||||
// Java/Jackson serialization for commands and permissions
|
||||
internal val commandMap: Map<String, Command> = commands.asMap
|
||||
@JsonProperty("commands") get() = field.toMap() // Return copy
|
||||
internal val permissionMap: Map<String, Permission> = permissions.asMap
|
||||
@JsonProperty("permissions") get() = field.toMap() // Return copy
|
||||
internal val commandMap: Map<String, Command>
|
||||
@JsonProperty("commands") get() = commands.associateBy { it.name }
|
||||
internal val permissionMap: Map<String, Permission>
|
||||
@JsonProperty("permissions") get() = permissions.associateBy { it.name }
|
||||
|
||||
// For Groovy DSL
|
||||
fun commands(closure: Closure<Unit>) = commands.configure(closure)
|
||||
|
@ -82,7 +82,7 @@ class BukkitPluginDescription(project: Project) : Serializable {
|
|||
var children: List<String>?
|
||||
@JsonIgnore get() = childrenMap?.filterValues { it }?.keys?.toList()
|
||||
set(value) {
|
||||
childrenMap = value?.associate { it to true }
|
||||
childrenMap = value?.associateWith { true }
|
||||
}
|
||||
@JsonProperty("children") var childrenMap: Map<String, Boolean>? = null
|
||||
|
||||
|
|
|
@ -49,17 +49,17 @@ class NukkitPluginDescription(project: Project) : Serializable {
|
|||
|
||||
// DSL provider for commands and permissions (not serialized)
|
||||
@Transient @JsonIgnore
|
||||
val commands: NamedDomainObjectContainer<NukkitPluginDescription.Command> = project.container(NukkitPluginDescription.Command::class.java)
|
||||
val commands: NamedDomainObjectContainer<Command> = project.container(Command::class.java)
|
||||
@Transient @JsonIgnore
|
||||
val permissions: NamedDomainObjectContainer<NukkitPluginDescription.Permission> = project.container(NukkitPluginDescription.Permission::class.java) {
|
||||
val permissions: NamedDomainObjectContainer<Permission> = project.container(Permission::class.java) {
|
||||
Permission(project, it)
|
||||
}
|
||||
|
||||
// Java/Jackson serialization for commands and permissions
|
||||
internal val commandMap: Map<String, NukkitPluginDescription.Command> = commands.asMap
|
||||
@JsonProperty("commands") get() = field.toMap() // Return copy
|
||||
internal val permissionMap: Map<String, NukkitPluginDescription.Permission> = permissions.asMap
|
||||
@JsonProperty("permissions") get() = field.toMap() // Return copy
|
||||
internal val commandMap: Map<String, Command>
|
||||
@JsonProperty("commands") get() = commands.associateBy { it.name }
|
||||
internal val permissionMap: Map<String, Permission>
|
||||
@JsonProperty("permissions") get() = permissions.associateBy { it.name }
|
||||
|
||||
// For Groovy DSL
|
||||
fun commands(closure: Closure<Unit>) = commands.configure(closure)
|
||||
|
@ -85,13 +85,13 @@ class NukkitPluginDescription(project: Project) : Serializable {
|
|||
|
||||
// DSL provider for recursive children (not serialized)
|
||||
@Transient @JsonIgnore
|
||||
val children: NamedDomainObjectContainer<NukkitPluginDescription.Permission> = project.container(NukkitPluginDescription.Permission::class.java) {
|
||||
val children: NamedDomainObjectContainer<Permission> = project.container(Permission::class.java) {
|
||||
Permission(project, it)
|
||||
}
|
||||
|
||||
// Java/Jackson serialization for commands and permissions
|
||||
internal val childrenMap: Map<String, NukkitPluginDescription.Permission> = children.asMap
|
||||
@JsonProperty("children") get() = field.toMap() // Return copy
|
||||
internal val childrenMap: Map<String, Permission>
|
||||
@JsonProperty("children") get() = children.associateBy { it.name }
|
||||
|
||||
// For Groovy DSL
|
||||
fun children(closure: Closure<Unit>) = children.configure(closure)
|
||||
|
|
Loading…
Reference in a new issue