diff --git a/README.md b/README.md
index 5ee887576..7cfea68e8 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,11 @@ The project is very much Work In Progress and will be published on maven central
# Release Notes
BOAT is still under development and subject to change.
+## 0.15.6
+* *Maven Plugin*
+ * Add example of use the additional properties like createApiComponent
+* Boat Angular generator
+ * Generate an `ng-package.json` file for use with the `ng-package` CLI
## 0.15.5
* *Boat Lint*
* Bumped version of Zally Linting Libraries that contain several vulnerability fixes
diff --git a/boat-engine/pom.xml b/boat-engine/pom.xml
index 85b0aafe3..c00856c3f 100644
--- a/boat-engine/pom.xml
+++ b/boat-engine/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
boat-engine
jar
diff --git a/boat-maven-plugin/README.md b/boat-maven-plugin/README.md
index f8d287957..980e0b6e9 100644
--- a/boat-maven-plugin/README.md
+++ b/boat-maven-plugin/README.md
@@ -87,6 +87,15 @@ Same with `generate` but with opinionated defaults for Rest Template Client
+### Sample usage with additional feature
+
+
+ ...
+
+ createApiComponent=false
+
+
+
## boat:generate-webclient-embedded
Same with `generate` but with opinionated defaults for Web Client
diff --git a/boat-maven-plugin/pom.xml b/boat-maven-plugin/pom.xml
index be1f5b224..1223cfab1 100644
--- a/boat-maven-plugin/pom.xml
+++ b/boat-maven-plugin/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
boat-maven-plugin
diff --git a/boat-quay/boat-quay-lint/pom.xml b/boat-quay/boat-quay-lint/pom.xml
index 026c1a399..be8753698 100644
--- a/boat-quay/boat-quay-lint/pom.xml
+++ b/boat-quay/boat-quay-lint/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
boat-quay
- 0.15.5
+ 0.15.6-SNAPSHOT
boat-quay-lint
diff --git a/boat-quay/boat-quay-rules/pom.xml b/boat-quay/boat-quay-rules/pom.xml
index b3d097ac4..7416604e4 100644
--- a/boat-quay/boat-quay-rules/pom.xml
+++ b/boat-quay/boat-quay-rules/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
boat-quay
- 0.15.5
+ 0.15.6-SNAPSHOT
boat-quay-rules
diff --git a/boat-quay/pom.xml b/boat-quay/pom.xml
index 9c72951e0..b65503b1f 100644
--- a/boat-quay/pom.xml
+++ b/boat-quay/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
diff --git a/boat-scaffold/pom.xml b/boat-scaffold/pom.xml
index e054452a3..39dda3341 100644
--- a/boat-scaffold/pom.xml
+++ b/boat-scaffold/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
boat-scaffold
@@ -87,7 +87,7 @@
com.backbase.oss
boat-trail-resources
- 0.15.5
+ 0.15.6-SNAPSHOT
test
diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java
index 01ed5558b..9304ad587 100644
--- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java
+++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java
@@ -219,6 +219,7 @@ private void applyAngularVersion(String versionRange) {
private void addDependencies(SemVer angularVersion) {
if (additionalProperties.containsKey(NPM_NAME)) {
supportingFiles.add(new SupportingFile("package.mustache", getIndexDirectory(), "package.json"));
+ supportingFiles.add(new SupportingFile("ng-package.mustache", getIndexDirectory(), "ng-package.json"));
supportingFiles.add(new SupportingFile("tsconfig.mustache", getIndexDirectory(), "tsconfig.json"));
additionalProperties.put("zonejsVersion", "0.10.2");
additionalProperties.put("rxjsVersion", "6.6.0");
diff --git a/boat-scaffold/src/main/templates/boat-angular/package.mustache b/boat-scaffold/src/main/templates/boat-angular/package.mustache
index 45fa921e6..b1d2e6429 100644
--- a/boat-scaffold/src/main/templates/boat-angular/package.mustache
+++ b/boat-scaffold/src/main/templates/boat-angular/package.mustache
@@ -12,13 +12,7 @@
],
"license": "Unlicense",
"scripts": {
- "build": "ng-packagr -p package.json"
- },
- "ngPackage": {
- "lib": {
- "entryFile": "public_api.ts"
- },
- "dest": "{{{buildDist}}}"
+ "build": "ng-packagr -p ng-package.json"
},
"peerDependencies": {
"@angular/core": "^{{ngVersion}}",
diff --git a/boat-scaffold/src/main/templates/boat-java/libraries/resttemplate/ApiClient.mustache b/boat-scaffold/src/main/templates/boat-java/libraries/resttemplate/ApiClient.mustache
index cbb9232b3..3142dc70d 100644
--- a/boat-scaffold/src/main/templates/boat-java/libraries/resttemplate/ApiClient.mustache
+++ b/boat-scaffold/src/main/templates/boat-java/libraries/resttemplate/ApiClient.mustache
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;
{{/withXml}}
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.springframework.beans.factory.annotation.Autowired;
{{#restTemplateBeanName}}
import org.springframework.beans.factory.annotation.Qualifier;
{{/restTemplateBeanName}}
@@ -31,7 +30,10 @@ import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter;
{{/withXml}}
+{{#createApiComponent}}
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+{{/createApiComponent}}
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
@@ -88,7 +90,9 @@ import {{invokerPackage}}.auth.OAuth;
{{/authMethods}}
{{>generatedAnnotation}}
+{{#createApiComponent}}
@Component("{{invokerPackage}}.ApiClient")
+{{/createApiComponent}}
public class ApiClient {
public enum CollectionFormat {
CSV(","), TSV("\t"), SSV(" "), PIPES("|"), MULTI(null);
@@ -127,11 +131,15 @@ public class ApiClient {
}
{{/useDefaultApiClient}}
{{#useJacksonConversion}}
+{{#createApiComponent}}
@Autowired
+{{/createApiComponent}}
private ObjectMapper objectMapper;
{{/useJacksonConversion}}
+{{#createApiComponent}}
@Autowired
+{{/createApiComponent}}
public ApiClient({{#restTemplateBeanName}}@Qualifier("{{restTemplateBeanName}}") {{/restTemplateBeanName}}RestTemplate restTemplate) {
this.restTemplate = restTemplate;
init();
diff --git a/boat-scaffold/src/test/java/com/backbase/oss/codegen/angular/BoatAngularTemplatesTests.java b/boat-scaffold/src/test/java/com/backbase/oss/codegen/angular/BoatAngularTemplatesTests.java
index 77f78cf3a..b5f2dee43 100644
--- a/boat-scaffold/src/test/java/com/backbase/oss/codegen/angular/BoatAngularTemplatesTests.java
+++ b/boat-scaffold/src/test/java/com/backbase/oss/codegen/angular/BoatAngularTemplatesTests.java
@@ -1,5 +1,7 @@
package com.backbase.oss.codegen.angular;
+import java.util.Optional;
+import java.util.stream.Collectors;
import lombok.SneakyThrows;
import org.apache.commons.io.FileUtils;
import org.junit.jupiter.api.BeforeAll;
@@ -90,6 +92,22 @@ void generate(Combination param) {
assertThat(this.files.size(), not(equalTo(0)));
}
+ @Check
+ public void ngPackageConfig() throws IOException {
+ var ngPackageFiles = selectFiles("/ng-package\\.json$");
+ if (this.param.npmName) {
+ assertThat(ngPackageFiles, hasSize(1));
+ List content;
+ try (var lines = Files.lines(Paths.get(ngPackageFiles.get(0)))) {
+ content = lines.collect(Collectors.toList());
+ }
+ var dist = Optional.ofNullable(this.param.buildDist).orElse("dist");
+ assertThat(content, hasItem(containsString("\"dest\": \"" + dist + "\"")));
+ } else {
+ assertThat(ngPackageFiles, hasSize(0));
+ }
+ }
+
@Check
public void npmName() {
assertThat(
diff --git a/boat-terminal/pom.xml b/boat-terminal/pom.xml
index afe92c2c4..c3699a455 100644
--- a/boat-terminal/pom.xml
+++ b/boat-terminal/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
boat-terminal
diff --git a/boat-trail-resources/pom.xml b/boat-trail-resources/pom.xml
index 13623d087..af8c6fd74 100644
--- a/boat-trail-resources/pom.xml
+++ b/boat-trail-resources/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
boat-trail-resources
diff --git a/pom.xml b/pom.xml
index a36d54ba7..e1f9a169b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
pom
Backbase Open Api Tools will help you converting RAML to OpenAPI plus many more
@@ -471,7 +471,7 @@
org.apache.maven.plugins
maven-gpg-plugin
- 3.0.1
+ 1.6
sign-artifacts
@@ -542,4 +542,4 @@
-
+
\ No newline at end of file
diff --git a/tests/pom.xml b/tests/pom.xml
index c7784ca14..647bea867 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -5,7 +5,7 @@
com.backbase.oss
backbase-openapi-tools
- 0.15.5
+ 0.15.6-SNAPSHOT
tests