/**
 *  Copyright 2014 Wordnik, Inc.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

import com.wordnik.swagger.codegen.BasicCSharpGenerator

object CSharpPetstoreCodegen extends BasicCSharpGenerator {
  def main(args: Array[String]) = generateClient(args)

  // location of templates
  override def templateDir = "csharp"

  // where to write generated code
  override def destinationDir = "samples/client/petstore/csharp/src"

  // package for api invoker, error files
  override def invokerPackage = Some("Com.Wordnik.Petstore")

  // package for models
  override def modelPackage = Some("Com.Wordnik.Petstore.Model")

  // package for api classes
  override def apiPackage = Some("Com.Wordnik.Petstore.Api")

  // supporting classes
  override def supportingFiles =
    List(
      ("apiInvoker.mustache", destinationDir + java.io.File.separator + invokerPackage.get.replace(".", java.io.File.separator) + java.io.File.separator, "ApiInvoker.cs"),
      ("apiException.mustache", destinationDir + java.io.File.separator + invokerPackage.get.replace(".", java.io.File.separator) + java.io.File.separator, "ApiException.cs"),
      ("Newtonsoft.Json.dll", "samples/client/petstore/csharp/bin", "Newtonsoft.Json.dll"),
      ("compile.mustache", "samples/client/petstore/csharp", "compile.bat"))
}

