diff --git a/docs/annotations/index.md b/docs/annotations/index.md index fc6d693..419c0b2 100644 --- a/docs/annotations/index.md +++ b/docs/annotations/index.md @@ -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. diff --git a/docs/core/index.md b/docs/core/index.md index fea1787..ceaf186 100644 --- a/docs/core/index.md +++ b/docs/core/index.md @@ -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() }} diff --git a/main.py b/main.py index 613a5d2..0307fa5 100644 --- a/main.py +++ b/main.py @@ -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 + + + + org.apache.maven.plugins + maven-shade-plugin + 3.6.0 + + + package + + shade + + + + + org.incendo.cloud + com.yourpackage.libs.cloud + + + + + + + + + ``` + +=== "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 + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + -parameters + + + + + + + org.jetbrains.kotlin + kotlin-maven-plugin + 1.9.0 + + + compile + + compile + + + + -java-parameters + + + + + + + + ``` + +=== "Gradle (Kotlin)" + + ```kotlin + tasks.withType { + options.compilerArgs.add("-parameters") + } + + // only needed if your project uses Kotlin + tasks.withType { + 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: