By default, RepreZen Projects will have three dependencies, like the ones shown here:


<dependencies>
  <dependency>
    <groupId>com.reprezen.genflow</groupId>
    <artifactId>standard-gentemplates</artifactId>
    <version>[1.4.2,2.0-alpha)</version>
    <type>pom</type>
  </dependency>
  <dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen</artifactId>
    <version>[2.4.4,3.0-alpha)</version>
  </dependency>
  <dependency>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator</artifactId>
    <version>[3.3.4,4.0-alpha)</version>
  </dependency>
</dependencies>


com.reprezen.genflow/standard-gentemplates is the top-level dependency on GenFlow, including all of the supported GenTemplates. In fact, this dependency by itself is sufficient to generate code, documentation, or other artifacts. If the GenTarget is Swagger Codegen, OpenAPI Generator, or another supported third-party code generation library, GenFlow will pull in a fixed version of that library that has been tested with the GenFlow release. 
 


com.reprezen.genflow/standard-gentemplatesand 
org.openapitools/openapi-generator
 dependencies are included to make it easy to override GenFlow's included dependencies on those libraries, as described below. 

Specifying a Codegen Library Version

The version ranges specified in the default project POM will not override GenFlow's version-specific dependencies on Swagger-Codegen and OpenAPI Generator. But you can override the dependency by changing the 
<version>
 element to specify a fixed version, like this:


  <dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen</artifactId>
    <version>[2.4.12,3.0-alpha)</version>
  </dependency>


Optimizing GenFlow Dependencies

The genflow/standard-gentemplates dependency includes all of GenFlow's supported codegen libraries, and all of their dependencies. Maven will cache these dependencies in your local repository, so each dependency normally has to be retrieved from Maven Central (or your internal Maven server) one time. 


However, in some environments, such as a CI/CD build server without a persistent Maven cache, the overhead of retrieving the full dependency graph can be problematic. In these scenarios, you can limit GenFlow dependencies to include only the GenTemplates you need for your project. 


The following GenFlow dependencies are available:


Maven Artifact IDIncluded GenTemplates
  • standard-gentemplates
All available GenTemplates.
  • openapi-gentemplates
All GenTemplates that take OpenAPI 2.0 (Swagger) or 3.0 as input.
  • openapi-generator
GenTemplates from the OpenAPI Generator library.
  • swagger-codegen
GenTemplates from the Swagger Codegen library
  • reprezen-openapi-gentemplates
    • openapi3-doc
    • openapi-diagram
    • swagger-doc
    • openapi-normalizer
    • swagger-ui
GenTemplates from RepreZen that take OpenAPI 2.0 or 3.0 as input.

You can specify the artifactID as reprezen-openapi-gentemplates to include all dependencies for all of these GenTemplates; or use the individual GenTemplate artifactID values to further limit dependencies.
  • reprezen-rapidml-gentemplates:
    • rapidml-doc
    • rapidml-diagram
    • rapidml-xsd
    • rapidml-wadl
    • rapidml-jsonschema
    • rapidml-swagger
    • rapidml-csharp
    • rapidml-nodejs
    • rapidml-jaxrs
GenTemplates from RepreZen that take RAPID‑ML as input.

You can specify the artifactID as reprezen-rapidml-gentemplates to include all dependencies for all of these GenTemplates; or use the individual GenTemplate artifactID values to further limit dependencies.