Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/annotations/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ Cloud Annotations is available through [Maven Central](https://central.sonatype.

{{ dependency_listing("annotations", "core") }}

In order to for Cloud to obtain the parameter names for arguments you'll need to add the parameter flag to your Java/Kotlin compilation step.

{{ javac_parameters() }}

You then need to create an
{{ javadoc("https://javadoc.io/doc/org.incendo/cloud-annotations/latest/org/incendo/cloud/annotations/AnnotationParser.html", "AnnotationParser") }}
instance.
Expand Down
7 changes: 7 additions & 0 deletions docs/core/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -750,3 +750,10 @@ contains an opinionated implementation of the help system for Minecraft.
You can find examples on GitHub for either
[Builders](https://github.com/Incendo/cloud-minecraft/blob/master/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/builder/feature/HelpExample.java) or
[Annotations](https://github.com/Incendo/cloud-minecraft/blob/master/examples/example-bukkit/src/main/java/cloud/commandframework/examples/bukkit/annotations/feature/HelpExample.java).

### Usage within projects

Cloud will have differing versions between core and the other groups of modules, Cloud Minecraft for example will be updated seperately. If core has a bug fix or feature that is not yet available
inside of the current Cloud Minecraft release you can define cloud-core as it's own dependency force it's use that way. You should also shade Cloud inside of your project, here's an example of doing so:

{{ shade_dependency() }}
143 changes: 143 additions & 0 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,149 @@ def dependency_listing(name: str, version: str = None) -> str:
```
""".format(name=name, version=env.variables.version[version])

@env.macro
def shade_dependency() -> str:
return """
=== "Maven"

```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<relocations>
<relocation>
<pattern>org.incendo.cloud</pattern>
<shadedPattern>com.yourpackage.libs.cloud</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```

=== "Gradle (Kotlin)"

```kotlin
plugins {
id("com.gradleup.shadow") version "8.3.0"
}

tasks {
assemble {
dependsOn(shadowJar)
}

shadowJar {
relocate("org.incendo.cloud", "com.yourpackage.libs.cloud")
}
}
```

=== "Gradle (Groovy)"

```groovy
plugins {
id 'com.gradleup.shadow' version '8.3.0'
}

tasks {
assemble {
dependsOn shadowJar
}

shadowJar {
relocate 'org.incendo.cloud', 'com.yourpackage.libs.cloud'
}
}
```
"""

@env.macro
def javac_parameters() -> str:
return """
=== "Maven"

```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>

<!-- For kotlin plugins -->
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>1.9.0</version> <!-- Replace with your Kotlin version -->
<executions>
<execution>
<id>compile</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<args>
<arg>-java-parameters</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```

=== "Gradle (Kotlin)"

```kotlin
tasks.withType<JavaCompile> {
options.compilerArgs.add("-parameters")
}

// only needed if your project uses Kotlin
tasks.withType<KotlinCompile> {
compilerOptions {
freeCompilerArgs.add("-java-parameters")
}
}
```

=== "Gradle (Groovy)"

```groovy
tasks.withType(JavaCompile) {
options.compilerArgs << "-parameters"
}

// only needed if your project uses Kotlin
tasks.withType(KotlinCompile) {
kotlinOptions {
freeCompilerArgs << "-java-parameters"
}
}
```
"""

@env.macro
def javadoc(link: str, title: str = None) -> str:
if title is None:
Expand Down