Skip to content

Commit 2f5651d

Browse files
author
Chris Birchall
committed
Add the API version to the Mustache model when generating supporting files.
This makes it easy to generate a client with version numbering in sync with the server's advertised API version.
1 parent a7afbd1 commit 2f5651d

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

src/main/resources/Java/pom.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<artifactId>api-client</artifactId>
66
<packaging>jar</packaging>
77
<name>api-client</name>
8-
<version>1.0.0</version>
8+
<version>{{apiVersion}}</version>
99
<scm>
1010
<connection>scm:git:[email protected]:wordnik/swagger-mustache.git</connection>
1111
<developerConnection>scm:git:[email protected]:wordnik/swagger-codegen.git</developerConnection>

src/main/scala/com/wordnik/swagger/codegen/BasicGenerator.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ abstract class BasicGenerator extends CodegenConfig with PathUtil {
133133
println("wrote api " + filename)
134134
})
135135

136-
codegen.writeSupportingClasses(operationMap, allModels.toMap)
136+
codegen.writeSupportingClasses(operationMap, allModels.toMap, doc.apiVersion)
137137
}
138138

139139
def extractApiOperations(apiListings: List[ApiListing], allModels: HashMap[String, Model] )(implicit basePath:String) = {

src/main/scala/com/wordnik/swagger/codegen/Codegen.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ class Codegen(config: CodegenConfig) {
529529
write(m)
530530
}
531531

532-
def writeSupportingClasses(apis: Map[(String, String), List[(String, Operation)]], models: Map[String, Model]) = {
532+
def writeSupportingClasses(apis: Map[(String, String), List[(String, Operation)]], models: Map[String, Model], apiVersion: String) = {
533533
val rootDir = new java.io.File(".")
534534
val engine = new TemplateEngine(Some(rootDir))
535535

@@ -568,7 +568,8 @@ class Codegen(config: CodegenConfig) {
568568
"modelPackage" -> config.modelPackage,
569569
"apiPackage" -> config.apiPackage,
570570
"apis" -> apiList,
571-
"models" -> modelList) ++ config.additionalParams
571+
"models" -> modelList,
572+
"apiVersion" -> apiVersion) ++ config.additionalParams
572573

573574
config.supportingFiles.map(file => {
574575
val supportingFile = file._1

src/main/scala/com/wordnik/swagger/codegen/ScalaAsyncClientGenerator.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ object ScalaAsyncClientGenerator extends App {
114114
}
115115

116116
class AsyncClientCodegen(clientName: String, config: CodegenConfig, rootDir: Option[File] = None) extends Codegen(config) {
117-
override def writeSupportingClasses(apis: Map[(String, String), List[(String, Operation)]], models: Map[String, Model]) = {
117+
override def writeSupportingClasses(apis: Map[(String, String), List[(String, Operation)]], models: Map[String, Model], apiVersion: String) = {
118118
val engine = new TemplateEngine(rootDir orElse Some(new File(".")))
119119

120120
val apiList = new ListBuffer[Map[String, AnyRef]]
@@ -377,7 +377,7 @@ class ScalaAsyncClientGenerator(cfg: SwaggerGenConfig) extends BasicGenerator {
377377
println("wrote api " + filename)
378378
})
379379

380-
codegen.writeSupportingClasses(operationMap, allModels.toMap)
380+
codegen.writeSupportingClasses(operationMap, allModels.toMap, doc.apiVersion)
381381
}
382382

383383

0 commit comments

Comments
 (0)