Skip to content

Commit

Permalink
feat(core): Ability to store and present custom catalog name before a…
Browse files Browse the repository at this point in the history
…liases and templates #11

- New CLI flag to specify a preferred catalog name for the aliases and templates
  • Loading branch information
nandorholozsnyak committed Apr 24, 2023
1 parent f4080f1 commit 4383d5f
Show file tree
Hide file tree
Showing 11 changed files with 49 additions and 7 deletions.
2 changes: 2 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,8 @@ Generates a documentation for a given jbang-catalog.json file
-o, --output=<outputFile>
The output AsciiDoc file name. Defaults to 'jbang-catalog.
adoc'
-pcn, --preferred-catalog-name=<preferredCatalogName>
Defines the preferred catalog name.
-t, --template=<customTemplatePath>
Custom template path.
-toc, --table-of-contents
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/examples/jbang-catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"application.properties": "aws/application.properties",
"lambda-{basename}.tf": "aws/lambda.tf.qute"
},
"description": "Quarkus AWS Lambda template with Terraform template. Use the -Dnative-function flag to have native image based Terraform resources",
"description": "Quarkus AWS Lambda template with Terraform template. +\nUse the -Dnative-function flag to have native image based Terraform resources",
"properties": {
"mode": {
"description": "Quarkus Lambda mode: simple or funq",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,4 +96,10 @@ public void setIncludeGenerationDate(boolean includeGenerationDate) {
public void setHeaderAndFooterDirectRender(boolean headerAndFooterDirectRender) {
super.setHeaderAndFooterDirectRender(headerAndFooterDirectRender);
}

@Override
@CommandLine.Option(names = {"-pcn", "--preferred-catalog-name"}, description = "Defines the preferred catalog name.")
public void setPreferredCatalogName(String preferredCatalogName) {
super.setPreferredCatalogName(preferredCatalogName);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public class GenerateCommand implements Runnable {
private boolean checkChecksum = true;
private boolean includeGenerationDate = false;
private boolean headerAndFooterDirectRender = false;
private String preferredCatalogName;

public GenerateCommand(DocumentGenerationAction documentGenerationAction) {
this.documentGenerationAction = documentGenerationAction;
Expand All @@ -56,6 +57,7 @@ private DocumentCustomization setupDocumentCustomization() {
documentCustomization.setTocLevels(tocLevels);
documentCustomization.setIncludeGenerationDate(includeGenerationDate);
documentCustomization.setHeaderAndFooterDirectRender(headerAndFooterDirectRender);
documentCustomization.setPreferredCatalogName(preferredCatalogName);
return documentCustomization;
}

Expand Down Expand Up @@ -166,4 +168,12 @@ public boolean isHeaderAndFooterDirectRender() {
public void setHeaderAndFooterDirectRender(boolean headerAndFooterDirectRender) {
this.headerAndFooterDirectRender = headerAndFooterDirectRender;
}

public String getPreferredCatalogName() {
return preferredCatalogName;
}

public void setPreferredCatalogName(String preferredCatalogName) {
this.preferredCatalogName = preferredCatalogName;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,15 @@ public class DocumentCustomization {
*/
private boolean headerAndFooterDirectRender = false;

/**
* Name of the prefered catalog.
* <p>
* It is used to give context for the aliases and templates.
*
* @since 0.2.0
*/
private String preferredCatalogName;

public boolean isEnableTableOfContents() {
return enableTableOfContents;
}
Expand Down Expand Up @@ -148,6 +157,14 @@ public void setHeaderAndFooterDirectRender(boolean headerAndFooterDirectRender)
this.headerAndFooterDirectRender = headerAndFooterDirectRender;
}

public String getPreferredCatalogName() {
return preferredCatalogName;
}

public void setPreferredCatalogName(String preferredCatalogName) {
this.preferredCatalogName = preferredCatalogName;
}

@Override
public String toString() {
return new StringJoiner(", ", DocumentCustomization.class.getSimpleName() + "[", "]")
Expand All @@ -160,6 +177,7 @@ public String toString() {
.add("collapsibleProperties=" + collapsibleProperties)
.add("includeGenerationDate=" + includeGenerationDate)
.add("headerAndFooterDirectRender=" + headerAndFooterDirectRender)
.add("preferredCatalogName='" + preferredCatalogName + "'")
.toString();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
=== {{@key}}
[source, bash]
----
jbang {{@key}}{{#if this.arguments}} -- {{this.arguments}}{{/if}}{{#if this.javaOptions}} --java-options "{{this.javaOptions}}"{{/if}}{{#if this.dependencies}} --deps "{{this.dependencies}}"{{/if}}{{#if this.repositories}} --repos "{{this.repositories}}"{{/if}}{{#if this.classpaths}} --cp "{{this.classpaths}}"{{/if}}{{#if this.properties}} --properties "{{#each this.properties}}{{@key}}={{this}}{{#unless @last}},{{/unless}}{{/each}}"{{/if}}{{#if this.javaVersion}} --java {{this.javaVersion}}{{/if}}{{#if this.mainClass}} --main {{this.mainClass}}{{/if}}
jbang {{@key}}{{#if customization.preferredCatalogName}}@{{customization.preferredCatalogName}}{{/if}} {{#if this.arguments}} -- {{this.arguments}}{{/if}}{{#if this.javaOptions}} --java-options "{{this.javaOptions}}"{{/if}}{{#if this.dependencies}} --deps "{{this.dependencies}}"{{/if}}{{#if this.repositories}} --repos "{{this.repositories}}"{{/if}}{{#if this.classpaths}} --cp "{{this.classpaths}}"{{/if}}{{#if this.properties}} --properties "{{#each this.properties}}{{@key}}={{this}}{{#unless @last}},{{/unless}}{{/each}}"{{/if}}{{#if this.javaVersion}} --java {{this.javaVersion}}{{/if}}{{#if this.mainClass}} --main {{this.mainClass}}{{/if}} <scriptOrFile>
----
{{#if this.description~}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
{{/if~}}
[source, bash]
----
jbang init -t={{@key}} -Dproperty=value scriptOrFile
jbang init -t={{@key}}{{#if customization.preferredCatalogName}}@{{customization.preferredCatalogName}}{{/if}} -Dproperty=value <scriptOrFile>
----
{{#if this.properties~}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{{#each catalog.aliases}}
### {{@key}}
```bash
jbang {{@key}}{{#if this.arguments}} -- {{this.arguments}}{{/if}}{{#if this.javaOptions}} --java-options "{{this.javaOptions}}"{{/if}}{{#if this.dependencies}} --deps "{{this.dependencies}}"{{/if}}{{#if this.repositories}} --repos "{{this.repositories}}"{{/if}}{{#if this.classpaths}} --cp "{{this.classpaths}}"{{/if}}{{#if this.properties}} --properties "{{#each this.properties}}{{@key}}={{this}}{{#unless @last}},{{/unless}}{{/each}}"{{/if}}{{#if this.javaVersion}} --java {{this.javaVersion}}{{/if}}{{#if this.mainClass}} --main {{this.mainClass}}{{/if}}
jbang {{@key}}{{#if customization.preferredCatalogName}}@{{customization.preferredCatalogName}}{{/if}} {{#if this.arguments}} -- {{this.arguments}}{{/if}}{{#if this.javaOptions}} --java-options "{{this.javaOptions}}"{{/if}}{{#if this.dependencies}} --deps "{{this.dependencies}}"{{/if}}{{#if this.repositories}} --repos "{{this.repositories}}"{{/if}}{{#if this.classpaths}} --cp "{{this.classpaths}}"{{/if}}{{#if this.properties}} --properties "{{#each this.properties}}{{@key}}={{this}}{{#unless @last}},{{/unless}}{{/each}}"{{/if}}{{#if this.javaVersion}} --java {{this.javaVersion}}{{/if}}{{#if this.mainClass}} --main {{this.mainClass}}{{/if}} <scriptOrFile>
```
{{#if this.description~}}
{{this.description}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{{this.description}}
{{/if~}}
```bash
jbang init -t={{@key}} -Dproperty=value scriptOrFile
jbang init -t={{@key}}{{#if customization.preferredCatalogName}}@{{customization.preferredCatalogName}}{{/if}} -Dproperty=value <scriptOrFile>
```
{{#if this.properties~}}

Expand Down
6 changes: 6 additions & 0 deletions jbang/src/JbangCatalogDocumenter.java
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ public void setCheckChecksum(boolean checkChecksum) {
public void setIncludeGenerationDate(boolean includeGenerationDate) {
super.setIncludeGenerationDate(includeGenerationDate);
}

@Override
@CommandLine.Option(names = {"-pcn", "--preferred-catalog-name"}, description = "Defines the preferred catalog name.")
public void setPreferredCatalogName(String preferredCatalogName) {
super.setPreferredCatalogName(preferredCatalogName);
}
}


4 changes: 2 additions & 2 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ help-example:

# Runs with AsciiDoc output
adoc-example:
java -jar jbang-catalog-document-generator-cli/target/jbang-catalog-document-generator-cli-999-SNAPSHOT.jar generate docs/modules/ROOT/examples/jbang-catalog.json -ch examples/custom-header.adoc -cf examples/custom-footer.adoc -o target/jbang-catalog.adoc --check-checksum=false -hfdr
java -jar jbang-catalog-document-generator-cli/target/jbang-catalog-document-generator-cli-999-SNAPSHOT.jar generate docs/modules/ROOT/examples/jbang-catalog.json -ch examples/custom-header.adoc -cf examples/custom-footer.adoc -o target/jbang-catalog.adoc --check-checksum=false -hfdr -pcn="personal-rodnan"

# Runs with Markdown output
md-example:
java -jar jbang-catalog-document-generator-cli/target/jbang-catalog-document-generator-cli-999-SNAPSHOT.jar generate -tt MD docs/modules/ROOT/examples/jbang-catalog.json -ch examples/custom-header.md -cf examples/custom-footer.md -o target/jbang-catalog.md --check-checksum=false
java -jar jbang-catalog-document-generator-cli/target/jbang-catalog-document-generator-cli-999-SNAPSHOT.jar generate -tt MD docs/modules/ROOT/examples/jbang-catalog.json -ch examples/custom-header.md -cf examples/custom-footer.md -o target/jbang-catalog.md --check-checksum=false -pcn="personal-rodnan"

0 comments on commit 4383d5f

Please sign in to comment.