Skip to content
Open
Show file tree
Hide file tree
Changes from 3 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>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very minor nitpick but there's some missing indentation here

</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