Skip to content

Commit

Permalink
Added readme description and get ready for release
Browse files Browse the repository at this point in the history
  • Loading branch information
Tammo0987 committed Mar 14, 2019
1 parent 69a4b81 commit 53bd009
Showing 1 changed file with 70 additions and 1 deletion.
71 changes: 70 additions & 1 deletion Readme.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,72 @@
# Kommand

A description will be provided.
Kommand is a lightweight, declarative command framework written in Kotlin. You can declare command models vie annotations.
The commands will be executed through reflections.

## Example

Here is an example of a command model.
```kotlin
package de.tammo.kommand.test

import de.tammo.kommand.annotation.Model
import de.tammo.kommand.annotation.Parameter
import de.tammo.kommand.annotation.Parameters
import de.tammo.kommand.annotation.Route

@Model("test", ["alias"], [SubTestCommand::class])
class TestCommand {

@Route(description = "Default route of the test command")
fun default() = true

@Route("parameter", "Route with parameters")
@Parameters([
Parameter("test", String::class),
Parameter("optional", String::class, optional = true)
])
fun parameter(test: String, optional: String?) = true

}
```

And this is how you register and execute them:
```kotlin
package de.tammo.kommand.test.executor

import de.tammo.kommand.executor.CommandExecutor
import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance

class CommandExecutorTest {

fun composeCommand() = CommandExecutor.INSTANCE.register(listOf(TestCommand::class.java))

fun execute() = CommandExecutor.INSTANCE.execute("test")

}
```

Look in the unit tests to see more examples.

## Build with Gradle

You have to add the `jitpack` repository:

```groovy
repository {
maven {
url 'https://jitpack.io'
}
}
```

Add the dependency:

```groovy
dependencies {
implementation("com.github.Tammo0987:Kommand:Version")
}
```

0 comments on commit 53bd009

Please sign in to comment.