Skip to content
Snippets Groups Projects
Commit afae9e67 authored by Christopher Guindon's avatar Christopher Guindon :palm_tree:
Browse files

Generate static documentation website #4


Signed-off-by: Christopher Guindon's avatarChristopher Guindon <chris.guindon@eclipse-foundation.org>
parent 48ba5724
No related branches found
No related tags found
No related merge requests found
Showing
with 55 additions and 928 deletions
# Dir for API portal deploy
web_deploy
node_modules
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Eclipse Marketplace API v2</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.modelsolv.reprezen.zenNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
swaggerUI: false
apiTitle: Eclipse Marketplace Client API v2
splitSpec: false
codeSamples: false
travis: true
oasVersion: 3.0.0
repo: EclipseFdn/marketplace-rest-api-specs
\ No newline at end of file
eclipse.preferences.version=1
encoding/<project>=UTF-8
language: node_js
node_js:
- node
deploy:
- skip_cleanup: true
provider: script
script: npm run build && npm run gh-pages
on:
branch: master
- skip_cleanup: true
provider: script
script: npm run build && npm run gh-pages -- -p "$TRAVIS_BRANCH"
on:
all_branches: true
condition: '"$TRAVIS_BRANCH" != "master" && "$TRAVIS_BRANCH" != "gh-pages"'
email: chris.guindon@eclipse-foundation.org
name: Christopher Guindon
env:
global:
secure: E/Q4/XQu7hFWt+hAQ6B3kS5Rt0yWVZzz0uPNFrVaXyIPET0C49NzWreAn2Hv+asHWOxzyEIa+JiIyI/m7/crp+Hd03ghnVSTrAwSvQ9+1g8Hg+34PbyXBPeQe+wncQWlyFy3aqtB+i357X+qJyQ39+3NBhR4eZacV8MIkRRGljm8gW1PGhwt95ykmP8eqdPQrM9ec+w3fFxMp2jC8M9KWBETVYrOu8TkZYlVgS+lZJQMNAlaYo1iq0QOBYABYGPKqUqoP0E4NLSCtiTlX/6rMMW3Iu0ew0ySbDi9rlB3vaWtS0F7ne11anHunjMeHoPBxOc5rfEifQcFR2H8hWWvrL1T5ggYdwpi35BSYaWeoyMDeQqJRwPAgKtxFu3URUZz1CM7gbUT+43DJv9OwCTCO3SRWyrkfoIUnHQNTlnvw/RGr71nNLz6YNC+GoY0FgGIpXFLhVMJ9VTMc2EV5ymH0zkYbQIzxat2hFEafRmMfGrn0qdgTAlNMX5AIPTNGGfgP3E0Y0whrMUclpLA5tJBMlYQ7VGxY5eNOvRDdjM3yPLYHXJILetaoUujPvFbvP//8L+IwcXubSafPv1mBTNjLyPoM26sCy0VG84dZ7puxPv3V4IXeH5PD+exm3dqRQI9sbVpGLTf1xVYUK8aIy0NdyUQboqIKXqcg6eh6qC6jzY=
......@@ -274,4 +274,4 @@ version(s), and exceptions or additional permissions here}."
file in a relevant directory) where a recipient would be likely to
look for such a notice.
You may add additional accurate notices of copyright ownership.
You may add additional accurate notices of copyright ownership.
\ No newline at end of file
# Eclipse Marketplace REST API Specifications
# Eclipse Marketplace Client API v2 OpenAPI Specification
[![Build Status](https://travis-ci.com/EclipseFdn/marketplace-rest-api-specs.svg?branch=master)](https://travis-ci.com/EclipseFdn/marketplace-rest-api-specs)
This project contains a working prototype of the next-generation REST API for the [Eclipse Marketplace](https://marketplace.eclipse.org). The Eclipse Marketplace provides thousands of plug-ins, solutions, and service offerings for the the Eclipse community. And the new REST API will provide intuitive, flexible access to essential Marketplace listings, metrics, and activity.
This project contains a working prototype of the next-generation REST API for the [Eclipse Marketplace](https://marketplace.eclipse.org). The Eclipse Marketplace provides thousands of plug-ins, solutions, and service offerings for the the Eclipse community. And the new REST API will provide intuitive, flexible access to essential Marketplace listings, metrics, and activity.
# OpenAPI Specification, Documentation, and Client Libraries
## Links
The API is specified in this [OpenAPI 3.0 document](/models/Eclipse%20Marketplace%20API%20Specification.yaml).
- [Reference Documentation (ReDoc)](https://eclipsefdn.github.io/marketplace-rest-api-specs/)
- [SwaggerUI](https://eclipsefdn.github.io/marketplace-rest-api-specs/swagger-ui/)
- OpenAPI Raw Files: [JSON](https://eclipsefdn.github.io/marketplace-rest-api-specs/openapi.json) [YAML](https://eclipsefdn.github.io/marketplace-rest-api-specs/openapi.yaml)
We will be publishing complete API documentation and client libraries on a developer portal, coming soon.
**Warning:** All above links are updated only after Travis CI finishes deployment
# Development Environment
## Working on specification
### Install
The core specification in the [models folder](/models) is in standard OpenAPI 3.0 YAML format, and can be edited with any [avaiable OpenAPI 3.0 editor](https://openapi.tools).
1. Install [Node JS](https://nodejs.org/)
2. Clone repo and run `npm install` in the repo root
Generators in the [gentargets folder](/gentargets) are a representative sample of service implementation scaffolds, client SDK libraries, and documentation formats. These are created using the RepreZen/GenFlow framework with open source generators from RepreZen and OpenAPI-Tools/OpenAPI-Generator. You can use the included Maven and Gradle configuration files to generate these artifacts.
### Usage
The overall project is set up using [RepreZen API Studio for Eclipse](https://marketplace.eclipse.org/content/reprezen-api-studio), available on the Eclipse Marketplace for installation into a standard Eclipse IDE, or [API Studio Desktop](http://RZen.io/InstallOptions), a self-contained Eclipse RCP distribution.
#### `npm start`
Starts the development server.
#### `npm run build`
Bundles the spec and prepares web_deploy folder with static assets.
#### `npm test`
Validates the spec.
#### `npm run gh-pages`
Deploys docs to GitHub Pages. You don't need to run it manually if you have Travis CI configured.
---
name: "Android Client"
genTemplateId: "com.reprezen.genflow.openapi.generator.AndroidClientCodegen"
relativeOutputDir: generated
prerequisites: null
primarySource:
path: "../../../models/Eclipse Marketplace API Specification.yaml"
namedSources: null
# The parameters object contains variables that are processed directly by the GenTemplate.
parameters:
# Sort method arguments to place required parameters before optional parameters.
sortParamsByRequiredFlag: null
# Whether to ensure parameter names are unique in an operation (rename parameters that are not).
ensureUniqueParams: null
# boolean, toggles whether unicode identifiers are allowed in names or not, default is false
allowUnicodeIdentifiers: null
# Add form or body parameters to the beginning of the parameter list.
prependFormOrBodyParameters: null
# package for generated models
modelPackage: null
# package for generated api classes
apiPackage: null
# root package for generated code
invokerPackage: null
# groupId for use in the generated build.gradle and pom.xml
groupId: null
# artifactId for use in the generated build.gradle and pom.xml
artifactId: null
# artifact version for use in the generated build.gradle and pom.xml
artifactVersion: null
# source folder for generated code
sourceFolder: null
# A flag to toggle android-maven gradle plugin.
useAndroidMavenGradlePlugin: null
# gradleVersion version for use in the generated build.gradle
androidGradleVersion: null
# compileSdkVersion version for use in the generated build.gradle
androidSdkVersion: null
# buildToolsVersion version for use in the generated build.gradle
androidBuildToolsVersion: null
# boolean - toggle "implements Serializable" for generated models
serializableModel: null
# library template (sub-template) to use
library: null
# Contents of OpenAPI Generator configuration file.
# This is the file that would be passed with the --config option on the OpenAPI Generator
# command line. The JSON contents of that file should be the value of this parameter.
# This parameter need not be used. If it is absent, all string-valued parameters are collected into
# a map that is then passed to the OpenAPI Generator module. If a map is provided here, then
# string-valued parameters are still copied in, overriding like-named values appearing in the map.
openApiCodegenConfig: null
# System properties to set, as in the -D option of OpenAPI Generator command line.
# Each property should be a JSON object with a name/value pair for each property.
# Example: for '-Dmodels -Dapis=User,Pets' use the following:
# value:
# models: ''
# apis: Users,Pets
openApiCodegenSystemProperties: null
apply plugin: 'java'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile group: 'com.reprezen.genflow', name: 'standard-gentemplates', version: '[1.3.0,2.0-alpha)'
compile group: 'io.swagger', name: 'swagger-codegen', version: '[2.4.0,3.0-alpha)'
compile group: 'org.openapitools', name: 'openapi-generator', version: '[3.3.4,4.0-alpha)'
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2/shared/GenTemplates', include: ['*.jar'])
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\lib', include: ['*.jar'])
}
task(execGenTarget, dependsOn: 'classes', type: JavaExec) {
main = 'com.reprezen.genflow.api.util.GeneratorLauncher'
classpath = sourceSets.main.runtimeClasspath
args 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\gentargets\\Eclipse Marketplace API Specification\\Android Client\\Android Client.gen'
}
defaultTasks 'execGenTarget'
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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.your.company.genflow</groupId>
<artifactId>eclipse-marketplace-api-v2</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>..\..\..\pom.xml</relativePath>
</parent>
<artifactId>android-client</artifactId>
<name>GenTarget Launcher For Android Client</name>
<packaging>pom</packaging>
<properties>
<project.lib.dir>C:/Users/tedep/RepreZen/workspace/Demo2/Eclipse Marketplace API v2/lib</project.lib.dir>
<shared.gentemplates.dir>C:\Users\tedep\RepreZen\workspace\Demo2/shared/GenTemplates</shared.gentemplates.dir>
</properties>
<build>
<defaultGoal>clean generate-sources</defaultGoal>
<plugins>
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${shared.gentemplates.dir}</directory>
</resource>
<resource>
<directory>${project.lib.dir}</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<includeProjectDependencies>true</includeProjectDependencies>
<mainClass>com.reprezen.genflow.api.util.GeneratorLauncher</mainClass>
<classpathScope>compile</classpathScope>
<cleanupDaemonThreads>false</cleanupDaemonThreads>
<arguments>
<argument>Android Client</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
---
name: "C# ASP.Net Core Server"
genTemplateId: "com.reprezen.genflow.openapi.generator.AspNetCoreServerCodegen"
relativeOutputDir: generated
prerequisites: null
primarySource:
path: "../../../models/Eclipse Marketplace API Specification.yaml"
namedSources: null
# The parameters object contains variables that are processed directly by the GenTemplate.
parameters:
# C# package name (convention: Title.Case).
packageName: null
# C# package version.
packageVersion: null
# The GUID that will be associated with the C# project
packageGuid: null
# source folder for generated code
sourceFolder: null
# ASP.NET Core version: 2.1 (default), 2.0 (deprecated)
aspnetCoreVersion: null
# Sort method arguments to place required parameters before optional parameters.
sortParamsByRequiredFlag: null
# Use DateTimeOffset to model date-time properties
useDateTimeOffset: null
# Deserialize array types to Collection<T> instead of List<T>.
useCollection: null
# Return ICollection<T> instead of the concrete type.
returnICollection: null
# Uses the Swashbuckle.AspNetCore NuGet package for documentation.
useSwashbuckle: null
# Contents of OpenAPI Generator configuration file.
# This is the file that would be passed with the --config option on the OpenAPI Generator
# command line. The JSON contents of that file should be the value of this parameter.
# This parameter need not be used. If it is absent, all string-valued parameters are collected into
# a map that is then passed to the OpenAPI Generator module. If a map is provided here, then
# string-valued parameters are still copied in, overriding like-named values appearing in the map.
openApiCodegenConfig: null
# System properties to set, as in the -D option of OpenAPI Generator command line.
# Each property should be a JSON object with a name/value pair for each property.
# Example: for '-Dmodels -Dapis=User,Pets' use the following:
# value:
# models: ''
# apis: Users,Pets
openApiCodegenSystemProperties: null
apply plugin: 'java'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile group: 'com.reprezen.genflow', name: 'standard-gentemplates', version: '[1.3.0,2.0-alpha)'
compile group: 'io.swagger', name: 'swagger-codegen', version: '[2.4.0,3.0-alpha)'
compile group: 'org.openapitools', name: 'openapi-generator', version: '[3.3.4,4.0-alpha)'
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2/shared/GenTemplates', include: ['*.jar'])
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\lib', include: ['*.jar'])
}
task(execGenTarget, dependsOn: 'classes', type: JavaExec) {
main = 'com.reprezen.genflow.api.util.GeneratorLauncher'
classpath = sourceSets.main.runtimeClasspath
args 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\gentargets\\Eclipse Marketplace API Specification\\C# ASP.Net Core Server\\C# ASP.Net Core Server.gen'
}
defaultTasks 'execGenTarget'
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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.your.company.genflow</groupId>
<artifactId>eclipse-marketplace-api-v2</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>..\..\..\pom.xml</relativePath>
</parent>
<artifactId>c--asp-net-core-server</artifactId>
<name>GenTarget Launcher For C# ASP.Net Core Server</name>
<packaging>pom</packaging>
<properties>
<project.lib.dir>C:/Users/tedep/RepreZen/workspace/Demo2/Eclipse Marketplace API v2/lib</project.lib.dir>
<shared.gentemplates.dir>C:\Users\tedep\RepreZen\workspace\Demo2/shared/GenTemplates</shared.gentemplates.dir>
</properties>
<build>
<defaultGoal>clean generate-sources</defaultGoal>
<plugins>
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${shared.gentemplates.dir}</directory>
</resource>
<resource>
<directory>${project.lib.dir}</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<includeProjectDependencies>true</includeProjectDependencies>
<mainClass>com.reprezen.genflow.api.util.GeneratorLauncher</mainClass>
<classpathScope>compile</classpathScope>
<cleanupDaemonThreads>false</cleanupDaemonThreads>
<arguments>
<argument>C# ASP.Net Core Server</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
---
name: "C# Client"
genTemplateId: "com.reprezen.genflow.openapi.generator.CSharpClientCodegen"
relativeOutputDir: generated
prerequisites: null
primarySource:
path: "../../../models/Eclipse Marketplace API Specification.yaml"
namedSources: null
# The parameters object contains variables that are processed directly by the GenTemplate.
parameters:
# C# package name (convention: Title.Case).
packageName: null
# C# package version.
packageVersion: null
# source folder for generated code
sourceFolder: null
# The GUID that will be associated with the C# project
packageGuid: null
# Prefix interfaces with a community standard or widely accepted prefix.
interfacePrefix: null
# The target .NET framework version.
targetFramework: null
# Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name
modelPropertyNaming: null
# Hides the generation timestamp when files are generated.
hideGenerationTimestamp: null
# Sort method arguments to place required parameters before optional parameters.
sortParamsByRequiredFlag: null
# Use DateTimeOffset to model date-time properties
useDateTimeOffset: null
# Deserialize array types to Collection<T> instead of List<T>.
useCollection: null
# Return ICollection<T> instead of the concrete type.
returnICollection: null
# C# Optional method argument, e.g. void square(int x=10) (.net 4.0+ only).
optionalMethodArgument: null
# Generate AssemblyInfo.cs.
optionalAssemblyInfo: null
# Generate {PackageName}.csproj.
optionalProjectFile: null
# Set DataMember's EmitDefaultValue.
optionalEmitDefaultValues: null
# Specifies a AssemblyDescription for the .NET Framework global assembly attributes stored in the AssemblyInfo file.
generatePropertyChanged: null
# Generates code with reduced access modifiers; allows embedding elsewhere without exposing non-public API calls to consumers.
nonPublicApi: null
# boolean, toggles whether unicode identifiers are allowed in names or not, default is false
allowUnicodeIdentifiers: null
# Use the new format (.NET Core) for .NET project files (.csproj).
netCoreProjectFile: null
# Generates self-validatable models.
validatable: null
# Contents of OpenAPI Generator configuration file.
# This is the file that would be passed with the --config option on the OpenAPI Generator
# command line. The JSON contents of that file should be the value of this parameter.
# This parameter need not be used. If it is absent, all string-valued parameters are collected into
# a map that is then passed to the OpenAPI Generator module. If a map is provided here, then
# string-valued parameters are still copied in, overriding like-named values appearing in the map.
openApiCodegenConfig: null
# System properties to set, as in the -D option of OpenAPI Generator command line.
# Each property should be a JSON object with a name/value pair for each property.
# Example: for '-Dmodels -Dapis=User,Pets' use the following:
# value:
# models: ''
# apis: Users,Pets
openApiCodegenSystemProperties: null
apply plugin: 'java'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile group: 'com.reprezen.genflow', name: 'standard-gentemplates', version: '[1.3.0,2.0-alpha)'
compile group: 'io.swagger', name: 'swagger-codegen', version: '[2.4.0,3.0-alpha)'
compile group: 'org.openapitools', name: 'openapi-generator', version: '[3.3.4,4.0-alpha)'
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2/shared/GenTemplates', include: ['*.jar'])
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\lib', include: ['*.jar'])
}
task(execGenTarget, dependsOn: 'classes', type: JavaExec) {
main = 'com.reprezen.genflow.api.util.GeneratorLauncher'
classpath = sourceSets.main.runtimeClasspath
args 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\gentargets\\Eclipse Marketplace API Specification\\C# Client\\C# Client.gen'
}
defaultTasks 'execGenTarget'
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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.your.company.genflow</groupId>
<artifactId>eclipse-marketplace-api-v2</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>..\..\..\pom.xml</relativePath>
</parent>
<artifactId>c--client</artifactId>
<name>GenTarget Launcher For C# Client</name>
<packaging>pom</packaging>
<properties>
<project.lib.dir>C:/Users/tedep/RepreZen/workspace/Demo2/Eclipse Marketplace API v2/lib</project.lib.dir>
<shared.gentemplates.dir>C:\Users\tedep\RepreZen\workspace\Demo2/shared/GenTemplates</shared.gentemplates.dir>
</properties>
<build>
<defaultGoal>clean generate-sources</defaultGoal>
<plugins>
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${shared.gentemplates.dir}</directory>
</resource>
<resource>
<directory>${project.lib.dir}</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<includeProjectDependencies>true</includeProjectDependencies>
<mainClass>com.reprezen.genflow.api.util.GeneratorLauncher</mainClass>
<classpathScope>compile</classpathScope>
<cleanupDaemonThreads>false</cleanupDaemonThreads>
<arguments>
<argument>C# Client</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
---
name: "Java Client"
genTemplateId: "com.reprezen.genflow.openapi.generator.JavaClientCodegen"
relativeOutputDir: generated
prerequisites: null
primarySource:
path: "../../../models/Eclipse Marketplace API Specification.yaml"
namedSources: null
# The parameters object contains variables that are processed directly by the GenTemplate.
parameters:
# Sort method arguments to place required parameters before optional parameters.
sortParamsByRequiredFlag: null
# Whether to ensure parameter names are unique in an operation (rename parameters that are not).
ensureUniqueParams: null
# boolean, toggles whether unicode identifiers are allowed in names or not, default is false
allowUnicodeIdentifiers: null
# Add form or body parameters to the beginning of the parameter list.
prependFormOrBodyParameters: null
# package for generated models
modelPackage: null
# package for generated api classes
apiPackage: null
# root package for generated code
invokerPackage: null
# groupId in generated pom.xml
groupId: null
# artifactId in generated pom.xml
artifactId: null
# artifact version in generated pom.xml
artifactVersion: null
# artifact URL in generated pom.xml
artifactUrl: null
# artifact description in generated pom.xml
artifactDescription: null
# SCM connection in generated pom.xml
scmConnection: null
# SCM developer connection in generated pom.xml
scmDeveloperConnection: null
# SCM URL in generated pom.xml
scmUrl: null
# developer name in generated pom.xml
developerName: null
# developer email in generated pom.xml
developerEmail: null
# developer organization in generated pom.xml
developerOrganization: null
# developer organization URL in generated pom.xml
developerOrganizationUrl: null
# The name of the license
licenseName: null
# The URL of the license
licenseUrl: null
# source folder for generated code
sourceFolder: null
# prefix for generated code members and local variables
localVariablePrefix: null
# boolean - toggle "implements Serializable" for generated models
serializableModel: null
# Treat BigDecimal values as Strings to avoid precision loss.
bigDecimalAsString: null
# whether to use fully qualified name for classes under java.util. This option only works for Java API client
fullJavaUtil: null
# hides the timestamp when files were generated
hideGenerationTimestamp: null
# whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)
withXml: null
# Option. Date library to use
dateLibrary: null
# Option. Use Java8 classes instead of third party equivalents
java8: null
# Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields)
disableHtmlEscaping: null
# Set booleanGetterPrefix (default value 'get')
booleanGetterPrefix: null
# parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentGroupId: null
# parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentArtifactId: null
# parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentVersion: null
# Whether to use the RxJava adapter with the retrofit2 library.
useRxJava: null
# Whether to use the RxJava2 adapter with the retrofit2 library.
useRxJava2: null
# Whether to generate models for Android that implement Parcelable with the okhttp-gson library.
parcelableModel: null
# Use Play! Async HTTP client (Play WS API)
usePlayWS: null
# Version of Play! Framework (possible values "play24", "play25" (default), "play26")
playVersion: null
# Whether to support Java6 with the Jersey1 library.
supportJava6: null
# Use BeanValidation API annotations
useBeanValidation: null
# Perform BeanValidation
performBeanValidation: null
# Send gzip-encoded requests
useGzipFeature: null
# Use RuntimeException instead of Exception
useRuntimeException: null
# Version of OpenFeign: '10.x', '9.x' (default)
feignVersion: null
# library template (sub-template) to use
library: null
# Contents of OpenAPI Generator configuration file.
# This is the file that would be passed with the --config option on the OpenAPI Generator
# command line. The JSON contents of that file should be the value of this parameter.
# This parameter need not be used. If it is absent, all string-valued parameters are collected into
# a map that is then passed to the OpenAPI Generator module. If a map is provided here, then
# string-valued parameters are still copied in, overriding like-named values appearing in the map.
openApiCodegenConfig: null
# System properties to set, as in the -D option of OpenAPI Generator command line.
# Each property should be a JSON object with a name/value pair for each property.
# Example: for '-Dmodels -Dapis=User,Pets' use the following:
# value:
# models: ''
# apis: Users,Pets
openApiCodegenSystemProperties: null
apply plugin: 'java'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile group: 'com.reprezen.genflow', name: 'standard-gentemplates', version: '[1.3.0,2.0-alpha)'
compile group: 'io.swagger', name: 'swagger-codegen', version: '[2.4.0,3.0-alpha)'
compile group: 'org.openapitools', name: 'openapi-generator', version: '[3.3.4,4.0-alpha)'
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2/shared/GenTemplates', include: ['*.jar'])
compile fileTree(dir: 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\lib', include: ['*.jar'])
}
task(execGenTarget, dependsOn: 'classes', type: JavaExec) {
main = 'com.reprezen.genflow.api.util.GeneratorLauncher'
classpath = sourceSets.main.runtimeClasspath
args 'C:\\Users\\tedep\\RepreZen\\workspace\\Demo2\\Eclipse Marketplace API v2\\gentargets\\Eclipse Marketplace API Specification\\Java Client\\Java Client.gen'
}
defaultTasks 'execGenTarget'
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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.your.company.genflow</groupId>
<artifactId>eclipse-marketplace-api-v2</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>..\..\..\pom.xml</relativePath>
</parent>
<artifactId>java-client</artifactId>
<name>GenTarget Launcher For Java Client</name>
<packaging>pom</packaging>
<properties>
<project.lib.dir>C:/Users/tedep/RepreZen/workspace/Demo2/Eclipse Marketplace API v2/lib</project.lib.dir>
<shared.gentemplates.dir>C:\Users\tedep\RepreZen\workspace\Demo2/shared/GenTemplates</shared.gentemplates.dir>
</properties>
<build>
<defaultGoal>clean generate-sources</defaultGoal>
<plugins>
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${shared.gentemplates.dir}</directory>
</resource>
<resource>
<directory>${project.lib.dir}</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<includeProjectDependencies>true</includeProjectDependencies>
<mainClass>com.reprezen.genflow.api.util.GeneratorLauncher</mainClass>
<classpathScope>compile</classpathScope>
<cleanupDaemonThreads>false</cleanupDaemonThreads>
<arguments>
<argument>Java Client</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
---
name: "Java Jersey (JAX-RS) Server"
genTemplateId: "com.reprezen.genflow.openapi.generator.JavaJerseyServerCodegen"
relativeOutputDir: generated
prerequisites: null
primarySource:
path: "../../../models/Eclipse Marketplace API Specification.yaml"
namedSources: null
# The parameters object contains variables that are processed directly by the GenTemplate.
parameters:
# Sort method arguments to place required parameters before optional parameters.
sortParamsByRequiredFlag: null
# Whether to ensure parameter names are unique in an operation (rename parameters that are not).
ensureUniqueParams: null
# boolean, toggles whether unicode identifiers are allowed in names or not, default is false
allowUnicodeIdentifiers: null
# Add form or body parameters to the beginning of the parameter list.
prependFormOrBodyParameters: null
# package for generated models
modelPackage: null
# package for generated api classes
apiPackage: null
# root package for generated code
invokerPackage: null
# groupId in generated pom.xml
groupId: null
# artifactId in generated pom.xml
artifactId: null
# artifact version in generated pom.xml
artifactVersion: null
# artifact URL in generated pom.xml
artifactUrl: null
# artifact description in generated pom.xml
artifactDescription: null
# SCM connection in generated pom.xml
scmConnection: null
# SCM developer connection in generated pom.xml
scmDeveloperConnection: null
# SCM URL in generated pom.xml
scmUrl: null
# developer name in generated pom.xml
developerName: null
# developer email in generated pom.xml
developerEmail: null
# developer organization in generated pom.xml
developerOrganization: null
# developer organization URL in generated pom.xml
developerOrganizationUrl: null
# The name of the license
licenseName: null
# The URL of the license
licenseUrl: null
# source folder for generated code
sourceFolder: null
# prefix for generated code members and local variables
localVariablePrefix: null
# boolean - toggle "implements Serializable" for generated models
serializableModel: null
# Treat BigDecimal values as Strings to avoid precision loss.
bigDecimalAsString: null
# whether to use fully qualified name for classes under java.util. This option only works for Java API client
fullJavaUtil: null
# hides the timestamp when files were generated
hideGenerationTimestamp: null
# whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)
withXml: null
# Option. Date library to use
dateLibrary: null
# Option. Use Java8 classes instead of third party equivalents
java8: null
# Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields)
disableHtmlEscaping: null
# Set booleanGetterPrefix (default value 'get')
booleanGetterPrefix: null
# parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentGroupId: null
# parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentArtifactId: null
# parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentVersion: null
# folder for generated implementation code
implFolder: null
# a title describing the application
title: null
# Use BeanValidation API annotations
useBeanValidation: null
# The port on which the server should be started
serverPort: null
# library template (sub-template) to use
library: null
# Whether to support Java6 with the Jersey1/2 library.
supportJava6: null
# use tags for creating interface and controller classnames
useTags: null
# Contents of OpenAPI Generator configuration file.
# This is the file that would be passed with the --config option on the OpenAPI Generator
# command line. The JSON contents of that file should be the value of this parameter.
# This parameter need not be used. If it is absent, all string-valued parameters are collected into
# a map that is then passed to the OpenAPI Generator module. If a map is provided here, then
# string-valued parameters are still copied in, overriding like-named values appearing in the map.
openApiCodegenConfig: null
# System properties to set, as in the -D option of OpenAPI Generator command line.
# Each property should be a JSON object with a name/value pair for each property.
# Example: for '-Dmodels -Dapis=User,Pets' use the following:
# value:
# models: ''
# apis: Users,Pets
openApiCodegenSystemProperties: null
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment