Release candidate 1.0.0.0
This commit is contained in:
1 parent
51ae06d7cd
commit
339ac366e9
284 files changed
+361
-2784
No files matched your search
@@ -1,3 +0,0 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands
|
||||
|
||||
open class CommandBase{}
|
||||
@@ -1,3 +0,0 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
|
||||
annotation class Aliases(val aliases: Array<String>)
|
||||
@@ -1,4 +0,0 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Default()
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Optional()
|
||||
@@ -0,0 +1,43 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl
|
||||
|
||||
import org.bukkit.command.CommandSender
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.MessagesService
|
||||
|
||||
/**
|
||||
* Interface for SubCommand and Command
|
||||
* @author itzRedTea
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
||||
interface Command {
|
||||
/**
|
||||
* Context of this command
|
||||
* @author itzRedTea
|
||||
* @since 1.0.0
|
||||
*/
|
||||
val context: CommandContext
|
||||
/**
|
||||
* Invokes when command must be executed
|
||||
* @author itzRedTea
|
||||
* @since 1.0.0
|
||||
*/
|
||||
fun execute(invoker: ExecutorContext)
|
||||
/**
|
||||
* Invokes when command must be executed
|
||||
* @param sender who executes this command
|
||||
* @param args arguments that sender typed in chat
|
||||
* (if this is subcommand args did not contains
|
||||
* name of sub command)
|
||||
* @author itzRedTea
|
||||
* @since 1.0.0
|
||||
*/
|
||||
fun tabComplete(sender: CommandSender, args: Array<String>): List<String>
|
||||
|
||||
|
||||
fun hasNotPermission(sender: CommandSender): Boolean =
|
||||
context.permission != "" && !sender.hasPermission(context.permission).also {
|
||||
if(it) MessagesService.byTag("#no-perm")(sender)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl
|
||||
|
||||
/**
|
||||
* Class that contains command data
|
||||
* @param name name of command
|
||||
* @param aliases array of aliases of this command (includes name of command)
|
||||
* @param usage usage message of command
|
||||
* @param description description message of command
|
||||
* @param permission permission that requires to use this command (set empty string if
|
||||
* command did not requires any permissions)
|
||||
*
|
||||
* @author itzRedTea
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class CommandContext(val name: String,
|
||||
var aliases: Array<String> = arrayOf(name),
|
||||
var usage: String = "",
|
||||
var description: String = "",
|
||||
var permission: String = "")
|
||||
@@ -0,0 +1,7 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl
|
||||
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.Command
|
||||
|
||||
interface CommandNode : Command {
|
||||
fun add(command: Command)
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl
|
||||
|
||||
import org.bukkit.command.CommandSender
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.ArgumentNotFoundException
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.TypeParseException
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.MessagesService
|
||||
|
||||
class ExecutorContext(var sender: CommandSender, val args: Array<String>) {
|
||||
fun argument(index: Int): String? = if (args.size <= index) null else args[index]
|
||||
fun string(index: Int): String = argument(index) ?: throw ArgumentNotFoundException(index)
|
||||
fun stringOrNull(index: Int): String? = argument(index)
|
||||
fun integer(index: Int): Int = try {
|
||||
argument(index)?.toInt()
|
||||
} catch (e: NumberFormatException) {
|
||||
MessagesService.byTag("#not-a-number")(sender)
|
||||
throw TypeParseException()
|
||||
} ?: throw ArgumentNotFoundException(index)
|
||||
fun integerOrNull(index: Int): Int? = argument(index)?.toIntOrNull()
|
||||
}
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl.builder
|
||||
|
||||
import org.bukkit.plugin.Plugin
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.Command
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.CommandContext
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.ExecutorContext
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.leaf.CommandLeaf
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.node.CommandNodeImpl
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.LeafCommandHasNotExecutorException
|
||||
import tech.carcadex.kotlinbukkitkit.commands.register.CommandRegister
|
||||
|
||||
class CommandBuilder(
|
||||
val context: CommandContext,
|
||||
var tabComplete: Collection<String> = emptyList(),
|
||||
val subs: MutableMap<String, Command> = mutableMapOf(),
|
||||
var executor: (ExecutorContext.() -> Unit)? = null
|
||||
) {
|
||||
var aliases by context::aliases
|
||||
var usage by context::usage
|
||||
var description by context::description
|
||||
var permission by context::permission
|
||||
}
|
||||
|
||||
fun CommandBuilder.subCommand(name: String, permission: String, tabComplete: Collection<String>, invoke: CommandBuilder.() -> Unit) {
|
||||
subs[name.lowercase()] = createCommand(name, permission, tabComplete, invoke)
|
||||
}
|
||||
|
||||
fun CommandBuilder.executor(executor: ExecutorContext.() -> Unit) {
|
||||
this.executor = executor
|
||||
}
|
||||
|
||||
|
||||
private fun createCommand(name: String, permission: String, tabComplete: Collection<String>, invoke: CommandBuilder.() -> Unit): Command {
|
||||
val builder = CommandBuilder(CommandContext(name))
|
||||
builder.permission = permission
|
||||
builder.tabComplete = tabComplete
|
||||
builder.invoke()
|
||||
return createCommand(builder)
|
||||
}
|
||||
private fun createCommand(builder: CommandBuilder): Command {
|
||||
return if (builder.subs.isEmpty()) {
|
||||
if (builder.executor == null) throw LeafCommandHasNotExecutorException(builder.context.name)
|
||||
CommandLeaf(builder.context, builder.executor!!, builder.tabComplete.toList())
|
||||
} else {
|
||||
CommandNodeImpl(builder.context, builder.subs)
|
||||
}
|
||||
}
|
||||
|
||||
fun Plugin.simpleCommand(name: String, permission: String, tabComplete: Collection<String>, executor: ExecutorContext.() -> Unit) {
|
||||
val command = createCommand(CommandBuilder(CommandContext(name),
|
||||
executor = executor).apply {
|
||||
this.permission = permission
|
||||
this.tabComplete = tabComplete
|
||||
})
|
||||
CommandRegister.register(this, { sender, _, _, args -> command.execute(ExecutorContext(sender, args)); true },
|
||||
command.context.aliases, command.context.description, command.context.usage, { sender, _, _, args ->
|
||||
command.tabComplete(sender, args)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun Plugin.command(name: String, permission: String, tabComplete: Collection<String>, invoke: CommandBuilder.() -> Unit) {
|
||||
val command = createCommand(name, permission, tabComplete, invoke)
|
||||
CommandRegister.register(this, { sender, _, _, args -> command.execute(ExecutorContext(sender, args)); true },
|
||||
command.context.aliases, command.context.description, command.context.usage, { sender, _, _, args ->
|
||||
command.tabComplete(sender, args)
|
||||
}
|
||||
)
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl.builder
|
||||
|
||||
import org.bukkit.plugin.Plugin
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.ExecutorContext
|
||||
import tech.carcadex.kotlinbukkitkit.commands.register.CommandRegister
|
||||
|
||||
|
||||
fun Plugin.command(name: String, invoke: CommandBuilder.() -> Unit) {
|
||||
command(name, "", listOf(), invoke)
|
||||
}
|
||||
|
||||
fun Plugin.command(name: String, permission: String, invoke: CommandBuilder.() -> Unit) {
|
||||
command(name, permission, listOf(), invoke)
|
||||
}
|
||||
|
||||
fun Plugin.command(name: String, tabComplete: Collection<String>, invoke: CommandBuilder.() -> Unit) {
|
||||
command(name, "", tabComplete, invoke)
|
||||
}
|
||||
|
||||
fun CommandBuilder.subCommand(name: String, invoke: CommandBuilder.() -> Unit) {
|
||||
subCommand(name, "", listOf(), invoke)
|
||||
}
|
||||
|
||||
fun CommandBuilder.subCommand(name: String, permission: String, invoke: CommandBuilder.() -> Unit) {
|
||||
subCommand(name, permission, listOf(), invoke)
|
||||
}
|
||||
|
||||
fun CommandBuilder.subCommand(name: String, tabComplete: Collection<String>, invoke: CommandBuilder.() -> Unit) {
|
||||
subCommand(name, "", tabComplete, invoke)
|
||||
}
|
||||
|
||||
fun Plugin.simpleCommand(name: String, executor: ExecutorContext.() -> Unit) {
|
||||
simpleCommand(name, "", listOf(), executor)
|
||||
}
|
||||
|
||||
fun Plugin.simpleCommand(name: String, permission: String, executor: ExecutorContext.() -> Unit) {
|
||||
simpleCommand(name, permission, listOf(), executor)
|
||||
}
|
||||
|
||||
fun Plugin.simpleCommand(name: String, tabComplete: Collection<String>, executor: ExecutorContext.() -> Unit) {
|
||||
simpleCommand(name, "", tabComplete, executor)
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl.leaf
|
||||
|
||||
import org.bukkit.command.CommandSender
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.Command
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.CommandContext
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.ExecutorContext
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.ArgumentNotFoundException
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.MessagesService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.TabCompleteService
|
||||
|
||||
class CommandLeaf(
|
||||
override val context: CommandContext,
|
||||
private val executor: (ExecutorContext.() -> Unit),
|
||||
completeTags: List<String> = emptyList()
|
||||
) : Command {
|
||||
private val completer = TabCompleteService.parseTags(completeTags)
|
||||
override fun execute(context: ExecutorContext) {
|
||||
if(hasNotPermission(context.sender)) return
|
||||
try {
|
||||
executor(context)
|
||||
} catch (e: ArgumentNotFoundException) {
|
||||
MessagesService.byTag("#wrong-usage")(context.sender)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun tabComplete(sender: CommandSender, args: Array<String>): List<String> {
|
||||
if(args.isEmpty() || completer.size < args.size || hasNotPermission(sender)) return emptyList()
|
||||
return completer[args.size-1](sender)
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.dsl.node
|
||||
|
||||
import org.bukkit.command.CommandSender
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.Command
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.CommandContext
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.CommandNode
|
||||
import tech.carcadex.kotlinbukkitkit.commands.dsl.ExecutorContext
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.MessagesService
|
||||
|
||||
class CommandNodeImpl(
|
||||
override val context: CommandContext,
|
||||
private val subs: MutableMap<String, Command> = mutableMapOf()
|
||||
) : CommandNode {
|
||||
private var default: Command? = null
|
||||
override fun execute(context: ExecutorContext) {
|
||||
if(hasNotPermission(context.sender)) return
|
||||
if(context.args.isNotEmpty() && context.args[0].lowercase() in subs) subs[context.args[0].lowercase()]?.execute(
|
||||
ExecutorContext(context.sender, context.args.copyOfRange(1, context.args.size)))
|
||||
else {
|
||||
if(default != null) {
|
||||
default!!.execute(ExecutorContext(context.sender, context.args))
|
||||
} else MessagesService.byTag("#wrong-usage")(context.sender)
|
||||
}
|
||||
}
|
||||
|
||||
override fun tabComplete(sender: CommandSender, args: Array<String>): List<String> {
|
||||
if(hasNotPermission(sender)) return emptyList()
|
||||
return if(args.isNotEmpty() && args[0].lowercase() in subs) subs[args[0].lowercase()]?.tabComplete(sender, args.copyOfRange(1, args.size)) ?: emptyList()
|
||||
else subs.keys.toList()
|
||||
}
|
||||
|
||||
override fun add(command: Command) {
|
||||
subs[command.context.name] = command
|
||||
}
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.exceptions
|
||||
|
||||
class ArgumentNotFoundException(index: Int) : NoSuchElementException("Argument with index $index not found! Args array out of bounds") {
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.exceptions
|
||||
|
||||
class LeafCommandHasNotExecutorException(commandName: String)
|
||||
: IllegalArgumentException("Command $commandName has not subcommands or default executor!") {
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.manager
|
||||
|
||||
import org.bukkit.command.CommandSender
|
||||
import org.bukkit.plugin.Plugin
|
||||
import kotlin.reflect.KFunction
|
||||
|
||||
|
||||
interface CommandManager {
|
||||
fun register(commandClass: Any)
|
||||
fun register(func: KFunction<Unit>)
|
||||
fun tabComplete(tag: String, func: (CommandSender) -> List<String>)
|
||||
fun message(tag: String, func: (CommandSender) -> Unit)
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun get(plugin: Plugin): CommandManager = CommandManagerImpl(plugin)
|
||||
}
|
||||
}
|
||||
|
||||
fun Plugin.commandManager(): CommandManager = CommandManagerImpl(this)
|
||||
+15
-10
@@ -4,14 +4,14 @@ import org.bukkit.command.CommandExecutor
|
||||
import org.bukkit.command.CommandSender
|
||||
import org.bukkit.command.TabCompleter
|
||||
import org.bukkit.plugin.Plugin
|
||||
import tech.carcadex.kotlinbukkitkit.commands.CommandParams
|
||||
import tech.carcadex.kotlinbukkitkit.commands.Parser
|
||||
import tech.carcadex.kotlinbukkitkit.commands.Parser.paramsFromAnnotations
|
||||
import tech.carcadex.kotlinbukkitkit.commands.annotations.Command
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.CommandParams
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.Parser
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.Parser.paramsFromAnnotations
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.annotations.Command
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.TypeParseException
|
||||
import tech.carcadex.kotlinbukkitkit.commands.register.CommandRegister
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.MessagesService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.SubCommandsService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.service.SubCommandsService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.TabCompleteService
|
||||
import kotlin.reflect.KFunction
|
||||
import kotlin.reflect.full.createType
|
||||
@@ -19,7 +19,9 @@ import kotlin.reflect.full.hasAnnotation
|
||||
import kotlin.reflect.full.isSubtypeOf
|
||||
import kotlin.reflect.jvm.javaType
|
||||
|
||||
class ReflectionCommandManager(private val plugin: Plugin) {
|
||||
|
||||
|
||||
class CommandManagerImpl(private val plugin: Plugin) : CommandManager {
|
||||
|
||||
private fun register(
|
||||
commandExecutor: CommandExecutor, commandParams: CommandParams, tabCompleter: TabCompleter =
|
||||
@@ -35,7 +37,10 @@ class ReflectionCommandManager(private val plugin: Plugin) {
|
||||
);
|
||||
}
|
||||
|
||||
fun register(commandClass: Any) {
|
||||
override fun register(commandClass: Any) {
|
||||
if(commandClass::class.objectInstance == null) {
|
||||
throw IllegalArgumentException("commandClass is not a object!")
|
||||
}
|
||||
val (name, subs) = SubCommandsService.registerRootCommand(commandClass)
|
||||
val subsNames = mutableListOf<String>()
|
||||
subs.forEach {
|
||||
@@ -65,7 +70,7 @@ class ReflectionCommandManager(private val plugin: Plugin) {
|
||||
})
|
||||
}
|
||||
|
||||
fun register(func: KFunction<Unit>) {
|
||||
override fun register(func: KFunction<Unit>) {
|
||||
if (func.hasAnnotation<Command>()) {
|
||||
val cmd = paramsFromAnnotations(func)
|
||||
var argsSize = func.parameters.size
|
||||
@@ -108,12 +113,12 @@ class ReflectionCommandManager(private val plugin: Plugin) {
|
||||
} else throw IllegalArgumentException("It must be a command!")
|
||||
}
|
||||
|
||||
fun tabComplete(tag: String, func: (CommandSender) -> List<String>) {
|
||||
override fun tabComplete(tag: String, func: (CommandSender) -> List<String>) {
|
||||
TabCompleteService.register(tag, func)
|
||||
}
|
||||
|
||||
|
||||
fun message(tag: String, func: (CommandSender) -> Unit) {
|
||||
override fun message(tag: String, func: (CommandSender) -> Unit) {
|
||||
MessagesService.register(tag, func)
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection
|
||||
|
||||
data class CommandParams(
|
||||
val name: String,
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection
|
||||
|
||||
import org.bukkit.command.CommandSender
|
||||
import tech.carcadex.kotlinbukkitkit.commands.annotations.*
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.TypeParseException
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.UnsupportedTypeException
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.annotations.*
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.MessagesService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.TypeService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.service.TypeService
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.KFunction
|
||||
import kotlin.reflect.KParameter
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
annotation class Aliases(val aliases: Array<String>)
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Command(val name: String)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Default()
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Description(val desc: String)
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Optional()
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Permission(val perm: String)
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class SubCommand(val name: String)
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class TabComplete(val complete: Array<String>)
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.annotations
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.annotations
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class Usage(val usage: String)
|
||||
+14
-10
@@ -1,21 +1,21 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.service
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.service
|
||||
|
||||
import org.bukkit.command.CommandSender
|
||||
import org.bukkit.command.TabCompleter
|
||||
import tech.carcadex.kotlinbukkitkit.commands.CommandParams
|
||||
import tech.carcadex.kotlinbukkitkit.commands.Parser
|
||||
import tech.carcadex.kotlinbukkitkit.commands.annotations.Command
|
||||
import tech.carcadex.kotlinbukkitkit.commands.annotations.Default
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.MessagesService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.service.TabCompleteService
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.CommandParams
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.Parser
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.annotations.Command
|
||||
import tech.carcadex.kotlinbukkitkit.commands.reflection.annotations.Default
|
||||
import tech.carcadex.kotlinbukkitkit.commands.exceptions.TypeParseException
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.KFunction
|
||||
import kotlin.reflect.KParameter
|
||||
import kotlin.reflect.full.*
|
||||
import kotlin.reflect.jvm.javaType
|
||||
|
||||
object SubCommandsService {
|
||||
data class SubCommand(val name: String, val context: CommandParams,
|
||||
val executor: (sender: CommandSender, args: Array<String>) -> Boolean, val tabCompleter: TabCompleter)
|
||||
val executor: (sender: CommandSender, args: Array<String>) -> Boolean, val tabCompleter: TabCompleter)
|
||||
|
||||
|
||||
private val subs = mutableMapOf<String, List<SubCommand>>()
|
||||
@@ -28,7 +28,7 @@ object SubCommandsService {
|
||||
|
||||
val res = mutableListOf<SubCommand>()
|
||||
for(func in clazz.functions) {
|
||||
if(func.hasAnnotation<tech.carcadex.kotlinbukkitkit.commands.annotations.SubCommand>()) {
|
||||
if(func.hasAnnotation<tech.carcadex.kotlinbukkitkit.commands.reflection.annotations.SubCommand>()) {
|
||||
res.add(parseSubCommand(func, command))
|
||||
} else if(func.hasAnnotation<Default>()) {
|
||||
defaults[name] = parseSubCommand(func, command)
|
||||
@@ -42,6 +42,10 @@ object SubCommandsService {
|
||||
if(rootCommand.lowercase() in subs) {
|
||||
if(args.isNotEmpty()) for(sub in subs[rootCommand.lowercase()]!!) {
|
||||
if(sub.name == args[0]) {
|
||||
if (sub.context.perm != null && sub.context.perm != "" && !sender.hasPermission(sub.context.perm)) {
|
||||
MessagesService.byTag("#no-perm")(sender)
|
||||
return
|
||||
}
|
||||
sub.executor(sender, args.copyOfRange(1, args.size))
|
||||
return
|
||||
}
|
||||
@@ -53,7 +57,7 @@ object SubCommandsService {
|
||||
|
||||
private fun parseSubCommand(func: KFunction<*>, rootCommand: Any): SubCommand {
|
||||
|
||||
val name = if(func.hasAnnotation<Default>()) "default" else func.findAnnotations(tech.carcadex.kotlinbukkitkit.commands.annotations.SubCommand::class).first().name
|
||||
val name = if(func.hasAnnotation<Default>()) "default" else func.findAnnotations(tech.carcadex.kotlinbukkitkit.commands.reflection.annotations.SubCommand::class).first().name
|
||||
val context = Parser.paramsFromAnnotations(func)
|
||||
val argsParsers = Parser.parseParam(func.parameters.toTypedArray().copyOfRange(1, func.parameters.size).toList())
|
||||
var argsSize = func.parameters.size
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package tech.carcadex.kotlinbukkitkit.commands.service
|
||||
package tech.carcadex.kotlinbukkitkit.commands.reflection.service
|
||||
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.Material
|
||||
+10
-12
@@ -9,8 +9,8 @@ class CommandRegister(
|
||||
aliases: Array<String>,
|
||||
desc: String?,
|
||||
usage: String?,
|
||||
private val executor: CommandExecutor,
|
||||
private val tabCompleter: TabCompleter,
|
||||
var executor: CommandExecutor,
|
||||
var tabCompleter: TabCompleter,
|
||||
private val pl: Plugin
|
||||
) : Command(aliases[0], desc!!, usage!!, listOf(*aliases)), PluginIdentifiableCommand {
|
||||
|
||||
@@ -28,17 +28,15 @@ class CommandRegister(
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun register(plugin: Plugin, executor: CommandExecutor, aliases: Array<String>, desc: String?, usage: String?, tabCompleter: TabCompleter) {
|
||||
fun register(plugin: Plugin, executor: CommandExecutor, aliases: Array<String>,
|
||||
desc: String?, usage: String?, tabCompleter: TabCompleter): CommandRegister {
|
||||
if(aliases.size < 1) throw IllegalArgumentException("Could not found name")
|
||||
try {
|
||||
val reg = CommandRegister(aliases, desc, usage, executor, tabCompleter, plugin)
|
||||
val field = Bukkit.getServer().javaClass.getDeclaredField("commandMap")
|
||||
field.isAccessible = true
|
||||
val map = field[Bukkit.getServer()] as CommandMap
|
||||
map.register(plugin.description.name, reg)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
val reg = CommandRegister(aliases, desc, usage, executor, tabCompleter, plugin)
|
||||
val field = Bukkit.getServer().javaClass.getDeclaredField("commandMap")
|
||||
field.isAccessible = true
|
||||
val map = field[Bukkit.getServer()] as CommandMap
|
||||
map.register(plugin.description.name, reg)
|
||||
return reg
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
@@ -28,6 +28,12 @@ object TabCompleteService {
|
||||
return createTabCompleter(complete)
|
||||
}
|
||||
|
||||
fun completer(list: List<String>): TabCompleter {
|
||||
return createTabCompleter(parseTags(list))
|
||||
}
|
||||
|
||||
fun parseTags(list: List<String>): List<(CommandSender) -> List<String>> = list.map { defaultCompleteParse(it) }
|
||||
|
||||
private fun createTabCompleter(completes: List<(CommandSender) -> List<String>>): TabCompleter =
|
||||
TabCompleter { sender, _, _, args ->
|
||||
if(args.size <= completes.size)
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
.gradle
|
||||
build/
|
||||
!gradle/wrapper/gradle-wrapper.jar
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea/modules.xml
|
||||
.idea/jarRepositories.xml
|
||||
.idea/compiler.xml
|
||||
.idea/libraries/
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
out/
|
||||
!**/src/main/**/out/
|
||||
!**/src/test/**/out/
|
||||
|
||||
### Eclipse ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
bin/
|
||||
!**/src/main/**/bin/
|
||||
!**/src/test/**/bin/
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
||||
@@ -1,89 +0,0 @@
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
plugins {
|
||||
kotlin("jvm") version "1.9.0"
|
||||
id("com.google.devtools.ksp") version "1.9.0-1.0.11"
|
||||
id("java")
|
||||
id("net.minecrell.plugin-yml.bukkit") version "0.6.0"
|
||||
id("org.jetbrains.kotlin.plugin.serialization") version "1.8.21"
|
||||
id("com.github.johnrengelman.shadow") version "7.1.2"
|
||||
id("xyz.jpenilla.run-paper") version "2.1.0"
|
||||
}
|
||||
|
||||
group = "me.redtea"
|
||||
version = "1.0.0-SNAPSHOT"
|
||||
|
||||
val carcadeXVersion = project.findProperty("carcadexversion").toString()
|
||||
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
name = "spigotmc-repo"
|
||||
url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
|
||||
}
|
||||
maven {
|
||||
name = "sonatype"
|
||||
url = uri("https://oss.sonatype.org/content/groups/public/")
|
||||
}
|
||||
maven {
|
||||
name = "kotlinminecraft"
|
||||
url = uri("https://raw.githubusercontent.com/KotlinMinecraft/KotlinBukkitAPI-Repository/main")
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
//Spigot 1.16.5 API
|
||||
compileOnly("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT")
|
||||
|
||||
|
||||
implementation(parent!!)
|
||||
|
||||
//Kotlin modubles
|
||||
library("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
|
||||
library("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.2")
|
||||
library("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1")
|
||||
library("org.jetbrains.kotlin:kotlin-reflect:1.9.0")
|
||||
library("org.jetbrains:annotations:24.0.0")
|
||||
|
||||
//XSeries
|
||||
library("com.github.cryptomorin:XSeries:9.2.0")
|
||||
|
||||
//CarcadeX modules
|
||||
implementation(project(":architecture"))
|
||||
compileOnly(project(":genref"))
|
||||
ksp(project(":genref"))
|
||||
//implementation files('libs/MiniMessages-0.1.0.jar')
|
||||
}
|
||||
|
||||
|
||||
bukkit {
|
||||
main = "me.redtea.test.TestPlugin"
|
||||
author = "itzRedTea"
|
||||
apiVersion = "1.13"
|
||||
}
|
||||
|
||||
tasks {
|
||||
runServer {
|
||||
minecraftVersion("1.16.5")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tasks {
|
||||
shadowJar {
|
||||
dependencies {
|
||||
exclude {
|
||||
it.moduleGroup.startsWith("org.jetbrains")
|
||||
}
|
||||
exclude(dependency("io.github.iredtea:carcadex:*"))
|
||||
exclude(dependency("com.github.cryptomorin:XSeries:9.2.0"))
|
||||
exclude(dependency("net.kyori:adventure-api:4.14.0"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions.jvmTarget = "1.8"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
[]
|
||||
@@ -1 +0,0 @@
|
||||
[]
|
||||
@@ -1,41 +0,0 @@
|
||||
# This is the main configuration file for Bukkit.
|
||||
# As you can see, there's actually not that much to configure without any plugins.
|
||||
# For a reference for any variable inside this file, check out the Bukkit Wiki at
|
||||
# https://www.spigotmc.org/go/bukkit-yml
|
||||
#
|
||||
# If you need help on this file, feel free to join us on irc or leave a message
|
||||
# on the forums asking for advice.
|
||||
#
|
||||
# IRC: #spigot @ irc.spi.gt
|
||||
# (If this means nothing to you, just go to https://www.spigotmc.org/go/irc )
|
||||
# Forums: https://www.spigotmc.org/
|
||||
# Bug tracker: https://www.spigotmc.org/go/bugs
|
||||
|
||||
|
||||
settings:
|
||||
allow-end: true
|
||||
warn-on-overload: true
|
||||
permissions-file: permissions.yml
|
||||
update-folder: update
|
||||
plugin-profiling: false
|
||||
connection-throttle: 4000
|
||||
query-plugins: true
|
||||
deprecated-verbose: default
|
||||
shutdown-message: Server closed
|
||||
minimum-api: none
|
||||
spawn-limits:
|
||||
monsters: 70
|
||||
animals: 10
|
||||
water-animals: 5
|
||||
water-ambient: 20
|
||||
ambient: 15
|
||||
chunk-gc:
|
||||
period-in-ticks: 600
|
||||
ticks-per:
|
||||
animal-spawns: 400
|
||||
monster-spawns: 1
|
||||
water-spawns: 1
|
||||
water-ambient-spawns: 1
|
||||
ambient-spawns: 1
|
||||
autosave: 6000
|
||||
aliases: now-in-commands.yml
|
||||
BIN
Binary file not shown.
@@ -1,17 +0,0 @@
|
||||
# This is the commands configuration file for Bukkit.
|
||||
# For documentation on how to make use of this file, check out the Bukkit Wiki at
|
||||
# https://www.spigotmc.org/go/commands-yml
|
||||
#
|
||||
# If you need help on this file, feel free to join us on irc or leave a message
|
||||
# on the forums asking for advice.
|
||||
#
|
||||
# IRC: #spigot @ irc.spi.gt
|
||||
# (If this means nothing to you, just go to https://www.spigotmc.org/go/irc )
|
||||
# Forums: https://www.spigotmc.org/
|
||||
# Bug tracker: https://www.spigotmc.org/go/bugs
|
||||
|
||||
command-block-overrides: []
|
||||
ignore-vanilla-permissions: false
|
||||
aliases:
|
||||
icanhasbukkit:
|
||||
- version $1-
|
||||
@@ -1,4 +0,0 @@
|
||||
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
|
||||
#You also agree that tacos are tasty, and the best food in the world.
|
||||
#Tue Aug 22 13:05:52 MSK 2023
|
||||
eula=true
|
||||
@@ -1,56 +0,0 @@
|
||||
# This is the help configuration file for Bukkit.
|
||||
#
|
||||
# By default you do not need to modify this file. Help topics for all plugin commands are automatically provided by
|
||||
# or extracted from your installed plugins. You only need to modify this file if you wish to add new help pages to
|
||||
# your server or override the help pages of existing plugin commands.
|
||||
#
|
||||
# This file is divided up into the following parts:
|
||||
# -- general-topics: lists admin defined help topics
|
||||
# -- index-topics: lists admin defined index topics
|
||||
# -- amend-topics: lists topic amendments to apply to existing help topics
|
||||
# -- ignore-plugins: lists any plugins that should be excluded from help
|
||||
#
|
||||
# Examples are given below. When amending command topic, the string <text> will be replaced with the existing value
|
||||
# in the help topic. Color codes can be used in topic text. The color code character is & followed by 0-F.
|
||||
# ================================================================
|
||||
#
|
||||
# Set this to true to list the individual command help topics in the master help.
|
||||
# command-topics-in-master-index: true
|
||||
#
|
||||
# Each general topic will show up as a separate topic in the help index along with all the plugin command topics.
|
||||
# general-topics:
|
||||
# Rules:
|
||||
# shortText: Rules of the server
|
||||
# fullText: |
|
||||
# &61. Be kind to your fellow players.
|
||||
# &B2. No griefing.
|
||||
# &D3. No swearing.
|
||||
# permission: topics.rules
|
||||
#
|
||||
# Each index topic will show up as a separate sub-index in the help index along with all the plugin command topics.
|
||||
# To override the default help index (displayed when the user executes /help), name the index topic "Default".
|
||||
# index-topics:
|
||||
# Ban Commands:
|
||||
# shortText: Player banning commands
|
||||
# preamble: Moderator - do not abuse these commands
|
||||
# permission: op
|
||||
# commands:
|
||||
# - /ban
|
||||
# - /ban-ip
|
||||
# - /banlist
|
||||
#
|
||||
# Topic amendments are used to change the content of automatically generated plugin command topics.
|
||||
# amended-topics:
|
||||
# /stop:
|
||||
# shortText: Stops the server cold....in its tracks!
|
||||
# fullText: <text> - This kills the server.
|
||||
# permission: you.dont.have
|
||||
#
|
||||
# Any plugin in the ignored plugins list will be excluded from help. The name must match the name displayed by
|
||||
# the /plugins command. Ignore "Bukkit" to remove the standard bukkit commands from the index. Ignore "All"
|
||||
# to completely disable automatic help topic generation.
|
||||
# ignore-plugins:
|
||||
# - PluginNameOne
|
||||
# - PluginNameTwo
|
||||
# - PluginNameThree
|
||||
|
||||
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
aa3d386edc9fd5d223103ad1170c941a9b794fa3
|
||||
@@ -1,272 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.github.cryptomorin</groupId>
|
||||
<artifactId>XSeries</artifactId>
|
||||
<version>9.2.0</version>
|
||||
|
||||
<name>XSeries</name>
|
||||
<description>A set of utilities for Minecraft plugins</description>
|
||||
<url>https://www.spigotmc.org/threads/378136/</url>
|
||||
|
||||
<issueManagement>
|
||||
<system>GitHub Issues</system>
|
||||
<url>https://github.com/CryptoMorin/XSeries/issues</url>
|
||||
</issueManagement>
|
||||
|
||||
<inceptionYear>2019</inceptionYear>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<id>CryptoMorin</id>
|
||||
<name>Crypto Morin</name>
|
||||
<roles>
|
||||
<role>Owner</role>
|
||||
</roles>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>MIT License</name>
|
||||
<url>https://opensource.org/licenses/MIT</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<parent>
|
||||
<groupId>org.sonatype.oss</groupId>
|
||||
<artifactId>oss-parent</artifactId>
|
||||
<version>9</version>
|
||||
</parent>
|
||||
|
||||
<distributionManagement>
|
||||
<snapshotRepository>
|
||||
<id>ossrh</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||
</snapshotRepository>
|
||||
<repository>
|
||||
<id>ossrh</id>
|
||||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>nms-repo</id>
|
||||
<url>https://repo.codemc.org/repository/nms/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<properties>
|
||||
<!-- Latest version -->
|
||||
<spigotVersion>1.19.3-R0.1-SNAPSHOT</spigotVersion>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot</artifactId>
|
||||
<version>${spigotVersion}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>5.8.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<configuration>
|
||||
<!--all,-missing-->
|
||||
<doclint>none</doclint>
|
||||
<release>8</release>
|
||||
<excludePackageNames>com.cryptomorin.xseries.unused:com.cryptomorin.xseries.particles</excludePackageNames>
|
||||
<!-- Apparently this is needed because it's a bug with maven JavaDoc plugin not being able to find the exe by itself. -->
|
||||
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>1.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.sonatype.plugins</groupId>
|
||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
||||
<version>1.6.8</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<serverId>ossrh</serverId>
|
||||
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
|
||||
<autoReleaseAfterClose>true</autoReleaseAfterClose>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<proc>none</proc>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
<compilerArgs>
|
||||
<!-- Fails to build the JAR if one of the excluded classes are being used inside an included class. -->
|
||||
<arg>-sourcepath</arg>
|
||||
<arg>doesnotexist</arg>
|
||||
</compilerArgs>
|
||||
<excludes>
|
||||
<exclude>com/cryptomorin/xseries/unused/</exclude>
|
||||
<exclude>com/cryptomorin/xseries/SkullCacheListener.java</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<phase>test-compile</phase>
|
||||
<goals>
|
||||
<goal>testCompile</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.0.0-M5</version>
|
||||
<configuration>
|
||||
<!--<failIfNoTests>true</failIfNoTests>-->
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
<workingDirectory>${basedir}/target/tests</workingDirectory>
|
||||
<!-- <dependenciesToScan>-->
|
||||
<!-- <dependency>*:spigot:*:*:1.16.5-R0.1-SNAPSHOT</dependency>-->
|
||||
<!-- </dependenciesToScan>-->
|
||||
<includes>
|
||||
<include>**/DummySpigot.java</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
<testSourceDirectory>src/test</testSourceDirectory>
|
||||
<testResources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</testResource>
|
||||
</testResources>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>tester</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot</artifactId>
|
||||
<version>${spigotVersion}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>17</source>
|
||||
<target>17</target>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
<phase>test-compile</phase>
|
||||
<goals>
|
||||
<goal>testCompile</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
<testIncludes>
|
||||
<include>*/**DummySpigot.java</include>
|
||||
</testIncludes>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>latest</id>
|
||||
<properties>
|
||||
<nms>19_R0</nms>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>18</id>
|
||||
<properties>
|
||||
<nms>18_R1</nms>
|
||||
<spigotVersion>1.18.1-R0.1-SNAPSHOT</spigotVersion>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>17</id>
|
||||
<properties>
|
||||
<nms>17_R1</nms>
|
||||
<spigotVersion>1.17.1-R0.1-SNAPSHOT</spigotVersion>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<!-- Doens't seem to work. I can't find a way to compile with one dependency and test with another -->
|
||||
<id>16</id>
|
||||
<properties>
|
||||
<nms>16_R3</nms>
|
||||
<spigotVersion>1.16.5-R0.1-SNAPSHOT</spigotVersion>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
b3a48024a3315906810a4f5c81cc26da5d1abc07
|
||||
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:54 MSK 2023
|
||||
XSeries-9.2.0.jar>central=
|
||||
XSeries-9.2.0.pom>central=
|
||||
@@ -1,3 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:50 MSK 2023
|
||||
annotations-13.0.pom>central=
|
||||
@@ -1,139 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>org.jetbrains</groupId>
|
||||
<artifactId>annotations</artifactId>
|
||||
<version>13.0</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>IntelliJ IDEA Annotations</name>
|
||||
<description>A set of annotations used for code inspection support and code documentation.</description>
|
||||
<url>http://www.jetbrains.org</url>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache Software License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
<distribution>repo</distribution>
|
||||
<comments>A business-friendly OSS license</comments>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<scm>
|
||||
<url>https://github.com/JetBrains/intellij-community</url>
|
||||
<connection>scm:git:https://github.com/JetBrains/intellij-community.git</connection>
|
||||
</scm>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<id>JetBrains</id>
|
||||
<name>JetBrains Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>http://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.7</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>generate-sources</phase>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<delete dir="${basedir}/src/main/java" />
|
||||
<mkdir dir="${basedir}/src/main/java" />
|
||||
<copy todir="${basedir}/src/main/java">
|
||||
<fileset dir="${basedir}/../../../community/platform/annotations/src" />
|
||||
</copy>
|
||||
</tasks>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>2.1.2</version>
|
||||
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.1</version>
|
||||
<configuration>
|
||||
<source>1.5</source>
|
||||
<target>1.5</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>2.9.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>1.4</version>
|
||||
<configuration>
|
||||
<keyname>66770193</keyname>
|
||||
<homedir>${basedir}/.gnupg</homedir>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>sonatype-nexus-staging</id>
|
||||
<url>http://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>sonatype-nexus-snapshots</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
|
||||
</project>
|
||||
@@ -1 +0,0 @@
|
||||
fa7d3d07cc80547e2d15bf4839d3267c637c642f
|
||||
@@ -1,3 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:50 MSK 2023
|
||||
annotations-23.0.0.pom>central=
|
||||
@@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains</groupId>
|
||||
<artifactId>annotations</artifactId>
|
||||
<version>23.0.0</version>
|
||||
<name>JetBrains Java Annotations</name>
|
||||
<description>A set of annotations used for code inspection support and code documentation.</description>
|
||||
<url>https://github.com/JetBrains/java-annotations</url>
|
||||
<scm>
|
||||
<url>https://github.com/JetBrains/java-annotations</url>
|
||||
<connection>scm:git:git://github.com/JetBrains/java-annotations.git</connection>
|
||||
<developerConnection>scm:git:ssh://github.com:JetBrains/java-annotations.git</developerConnection>
|
||||
</scm>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache Software License, Version 2.0</name>
|
||||
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<id>JetBrains</id>
|
||||
<name>JetBrains Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
deb853be3c9e05ed99fbbf83e49d349d08a6d10e
|
||||
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:54 MSK 2023
|
||||
annotations-24.0.0.jar>central=
|
||||
annotations-24.0.0.pom>central=
|
||||
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
69b8b443c437fdeefa8d20c18d257b94836a92b9
|
||||
@@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains</groupId>
|
||||
<artifactId>annotations</artifactId>
|
||||
<version>24.0.0</version>
|
||||
<name>JetBrains Java Annotations</name>
|
||||
<description>A set of annotations used for code inspection support and code documentation.</description>
|
||||
<url>https://github.com/JetBrains/java-annotations</url>
|
||||
<scm>
|
||||
<url>https://github.com/JetBrains/java-annotations</url>
|
||||
<connection>scm:git:git://github.com/JetBrains/java-annotations.git</connection>
|
||||
<developerConnection>scm:git:ssh://github.com:JetBrains/java-annotations.git</developerConnection>
|
||||
</scm>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache Software License, Version 2.0</name>
|
||||
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<id>JetBrains</id>
|
||||
<name>JetBrains Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
bfce1521c40f705e9fe25e1b86301035fb72d129
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:54 MSK 2023
|
||||
kotlin-reflect-1.8.21.pom>central=
|
||||
kotlin-reflect-1.8.21.jar>central=
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
662838019bc1141f8a311180d93b9e13765c7f55
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-reflect</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<name>Kotlin Reflect</name>
|
||||
<description>Kotlin Full Reflection Library</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
988a6739315c721d0fa76a517ee314e4b6e29cfb
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 23:22:39 MSK 2023
|
||||
kotlin-reflect-1.9.0.pom>central=
|
||||
kotlin-reflect-1.9.0.jar>central=
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
2891f552979d4bf4d4ec516acb9df769fb62dbe9
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-reflect</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<name>Kotlin Reflect</name>
|
||||
<description>Kotlin Full Reflection Library</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
eb198069ed7e9e8458d900c47325475ec581507a
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:51 MSK 2023
|
||||
kotlin-stdlib-common-1.8.20.pom>central=
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-common</artifactId>
|
||||
<version>1.8.20</version>
|
||||
<name>Kotlin Stdlib Common</name>
|
||||
<description>Kotlin Common Standard Library</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
c8bc98db3b7220e49408922137dbd44fc458708c
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:54 MSK 2023
|
||||
kotlin-stdlib-common-1.8.21.jar>central=
|
||||
kotlin-stdlib-common-1.8.21.pom>central=
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
d749cd5ae25da36d06e5028785038e24f9d37976
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-common</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<name>Kotlin Stdlib Common</name>
|
||||
<description>Kotlin Common Standard Library</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
8f1a58d8fd44b0f34359325b9b47c95df2c7ea9e
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 23:22:39 MSK 2023
|
||||
kotlin-stdlib-common-1.9.0.pom>central=
|
||||
kotlin-stdlib-common-1.9.0.jar>central=
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
cd65c21cfd1eec4d44ef09f9f52b6d9f8a720636
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-common</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<name>Kotlin Stdlib Common</name>
|
||||
<description>Kotlin Common Standard Library</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
0a865a0c5a64618fd1dcca13d05dea4cba44c832
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:51 MSK 2023
|
||||
kotlin-stdlib-jdk7-1.8.20.pom>central=
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk7</artifactId>
|
||||
<version>1.8.20</version>
|
||||
<name>Kotlin Stdlib Jdk7</name>
|
||||
<description>Kotlin Standard Library JDK 7 extension</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>1.8.20</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
e613a7635e90125d25b100b636a85639b4487ac4
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:54 MSK 2023
|
||||
kotlin-stdlib-jdk7-1.8.21.jar>central=
|
||||
kotlin-stdlib-jdk7-1.8.21.pom>central=
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
7473b8cd3c0ef9932345baf569bc398e8a717046
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk7</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<name>Kotlin Stdlib Jdk7</name>
|
||||
<description>Kotlin Standard Library JDK 7 extension</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
d23a31049e8289c21e78078e888f3968c82ad0ac
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 23:22:39 MSK 2023
|
||||
kotlin-stdlib-jdk7-1.9.0.jar>central=
|
||||
kotlin-stdlib-jdk7-1.9.0.pom>central=
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
f320478990d05e0cfaadd74f9619fd6027adbf37
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk7</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<name>Kotlin Stdlib Jdk7</name>
|
||||
<description>Kotlin Standard Library JDK 7 extension</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
5ce6c5278ef6e342507a96372ee534ed0b830e54
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:51 MSK 2023
|
||||
kotlin-stdlib-jdk8-1.8.20.pom>central=
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
||||
<version>1.8.20</version>
|
||||
<name>Kotlin Stdlib Jdk8</name>
|
||||
<description>Kotlin Standard Library JDK 8 extension</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>1.8.20</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk7</artifactId>
|
||||
<version>1.8.20</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
f9dac9f21106bd224ea78c78b56f4e401d7df56f
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Tue Aug 22 13:06:54 MSK 2023
|
||||
kotlin-stdlib-jdk8-1.8.21.jar>central=
|
||||
kotlin-stdlib-jdk8-1.8.21.pom>central=
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
67f57e154437cd9e6e9cf368394b95814836ff88
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<name>Kotlin Stdlib Jdk8</name>
|
||||
<description>Kotlin Standard Library JDK 8 extension</description>
|
||||
<url>https://kotlinlang.org/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Kotlin Team</name>
|
||||
<organization>JetBrains</organization>
|
||||
<organizationUrl>https://www.jetbrains.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
|
||||
<url>https://github.com/JetBrains/kotlin</url>
|
||||
</scm>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk7</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
3e5d957c0d7c874093cdf22483d4fc024476479a
|
||||
Loaded 100 of 284 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user