Skip to content
Closed
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
37 changes: 26 additions & 11 deletions boat-maven-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,17 +165,32 @@ Available parameters:
showIgnoredRules (Default: false)
Set this to true to show the list of ignored rules..

writeLintReport (Default: true)
Set this to true to generate lint report.

Example:

<configuration>
<inputSpec>${unversioned-filename-spec-dir}/</inputSpec>
<output>${project.build.directory}/boat-lint-reports</output>
<writeLintReport>true</writeLintReport>
<ignoreRules>${ignored-lint-rules}</ignoreRules>
<showIgnoredRules>true</showIgnoredRules>
writeLintReport (Default: true)
Set this to true to generate lint report.

sourceKey
Required: false
Set this to the SourceKey for the spec being
linted. This should be set to upload spec and lint via BoatBay.
To find out how to set up a source go to BoatBay project.

boatBayUrl
Required: false
Set to url for boat bay server, options for this are, "http://localhost:8080" to run locally for testing
purposes and https://boat-bay.proto.backbasecloud.com/ for deployment
Optionally this can be set as an enviroment variable under the key BOAT_BAY_SERVER_URL. To set this as an
enviroment variable use the command export BOAT_BAY_SERVER_URL=http://localhost:8080, or the property
may be added to the config setting of boat-maven-plugin (in the run configuration options).

Example:

```
<configuration>
<inputSpec>${unversioned-filename-spec-dir}/</inputSpec>
<output>${project.build.directory}/boat-lint-reports</output>
<writeLintReport>true</writeLintReport>
<ignoreRules>${ignored-lint-rules}</ignoreRules>
<showIgnoredRules>true</showIgnoredRules>
</configuration>

To see details and an example of inputMavenArtifact:
Expand Down
169 changes: 167 additions & 2 deletions boat-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,20 @@
<description>Open API Converter</description>

<properties>
<!-- boat bay client-->
<boat-maven-plugin.supportingFilesToGenerate>ApiClient.java,BeanValidationException.java,RFC3339DateFormat.java,ServerConfiguration.java,ServerVariable.java,StringUtil.java,Authentication.java,HttpBasicAuth.java,HttpBearerAuth.java,ApiKeyAuth.java,ApiException.java,Pair.java</boat-maven-plugin.supportingFilesToGenerate>
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
<swagger-annotations.version>1.6.2</swagger-annotations.version>
<!-- boat bay client-->
<maven.api.version>3.6.0</maven.api.version>
<sonar.coverage.exclusions>
src/main/java/com/backbase/oss/boat/GenerateMojo.java,
src/main/java/com/backbase/oss/codegen/*.java
</sonar.coverage.exclusions>
<sonar.coverage.jacoco.xmlReportPaths>${basedir}/../${aggregate.report.dir}
</sonar.coverage.jacoco.xmlReportPaths>
<org.mapstruct.version>1.4.2.Final</org.mapstruct.version>

<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.itReportPath>${project.basedir}/target/jacoco-it.exec</sonar.jacoco.itReportPath>
</properties>
Expand Down Expand Up @@ -57,7 +64,17 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>

<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
<scope>compile</scope>
</dependency>
<!-- Maven Dependencies -->
<dependency>
<groupId>org.apache.maven</groupId>
Expand All @@ -76,12 +93,17 @@
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-common-artifact-filters</artifactId>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-build-api</artifactId>
<version>0.0.7</version>
</dependency>

<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
Expand Down Expand Up @@ -136,6 +158,103 @@
<scope>test</scope>
</dependency>

<!-- temorary depemdancied for boat bay client-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger-annotations.version}</version>
</dependency>

<!-- JSON processing: jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>${jackson-databind-nullable-version}</version>
</dependency>

<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.2</version>
</dependency>
<dependency>
<groupId>io.gsonfire</groupId>
<artifactId>gson-fire</artifactId>
<version>1.8.5</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-netty</artifactId>
<version>5.11.1</version>
</dependency>
<!-- abouve okhttp below feign-->

<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
<version>10.11</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-gson</artifactId>
<version>10.11</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-slf4j</artifactId>
<version>10.11</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-jackson</artifactId>
<version>9.3.1</version>
</dependency>

</dependencies>

Expand All @@ -150,6 +269,50 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>5.0.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/boat-bay-api-client-temp/boat-bay-client-api.yaml</inputSpec>
<generatorName>java</generatorName>
<configOptions>
<java8>true</java8>
<supportingFilesToGenerate>${boat-maven-plugin.supportingFilesToGenerate}</supportingFilesToGenerate>
<modelPackage>com.backbase.oss.boat.bay.client.model</modelPackage>
<apiPackage>com.backbase.oss.boat.bay.client.api</apiPackage>
<output>${project.basedir}/target/generated-sources</output>
<generateApiTests>false</generateApiTests>
<library>feign</library>
<generateModelTests>false</generateModelTests>
<generateModelDocumentation>false</generateModelDocumentation>
<generateApiDocumentation>false</generateApiDocumentation>
<generateSupportingFiles>true</generateSupportingFiles>
<dateLibrary>java8-localdatetime</dateLibrary>
<sourceFolder>src/gen/java/main</sourceFolder>
</configOptions>
<typeMappings>
<typeMapping>JsonPointer = com.fasterxml.jackson.core.JsonPointer</typeMapping>
<typeMapping>LocalDateTime = java.time.LocalDateTime</typeMapping>
<typeMapping>org.joda.time = java.time.LocalDateTime</typeMapping>
<!-- <typeMapping>IntRange = kotlin.ranges.IntRange</typeMapping>-->
</typeMappings>
<importMappings>
<importMapping>JsonPointer = com.fasterxml.jackson.core.JsonPointer</importMapping>
<importMapping>LocalDateTime = java.time.LocalDateTime</importMapping>
<importMapping>Pageable = org.springframework.data.domain.Pageable</importMapping>
<!-- <importMapping>IntRange = kotlin.ranges.IntRange</importMapping>-->
</importMappings>
</configuration>
</execution>
</executions>
</plugin>


<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down Expand Up @@ -224,6 +387,8 @@
</executions>
</plugin>



<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.backbase.oss.boat.example</groupId>
<artifactId>boat-bay</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>

<artifactId>lint-petstore-breaking</artifactId>

<name>BOAT :: Boat Bay :: Lint Spec Breaking</name>

<description>

</description>

<packaging>pom</packaging>

<build>
<plugins>
<plugin>
<groupId>com.backbase.oss</groupId>
<artifactId>boat-maven-plugin</artifactId>
<executions>
<execution>
<id>lint</id>
<phase>validate</phase>
<goals>
<goal>lint</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/petstore-new-breaking.yaml</inputSpec>
<output>${project.basedir}/src/main/resources/output</output>
<sourceKey>repo-petstore</sourceKey>
<boatBayUrl>http://localhost:8080</boatBayUrl>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>




</project>
Loading