From 36da080b4c72cab6de0fdbabba1da3344dd4b033 Mon Sep 17 00:00:00 2001 From: Jim Schubert Date: Mon, 16 Jan 2017 15:47:11 -0500 Subject: [PATCH 1/2] [csharp] Client nuspec --- .../languages/CSharpClientCodegen.java | 1 + .../src/main/resources/csharp/README.mustache | 14 ++++++ .../src/main/resources/csharp/nuspec.mustache | 45 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java index 526fffeda18..cccc2f23bfe 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java @@ -312,6 +312,7 @@ public void processOpts() { if (optionalProjectFileFlag) { supportingFiles.add(new SupportingFile("Solution.mustache", "", packageName + ".sln")); supportingFiles.add(new SupportingFile("Project.mustache", packageFolder, packageName + ".csproj")); + supportingFiles.add(new SupportingFile("nuspec.mustache", packageFolder, packageName + ".nuspec")); if(Boolean.FALSE.equals(excludeTests)) { // NOTE: This exists here rather than previous excludeTests block because the test project is considered an optional project file. diff --git a/modules/swagger-codegen/src/main/resources/csharp/README.mustache b/modules/swagger-codegen/src/main/resources/csharp/README.mustache index bb228814338..8c08c0e8667 100644 --- a/modules/swagger-codegen/src/main/resources/csharp/README.mustache +++ b/modules/swagger-codegen/src/main/resources/csharp/README.mustache @@ -51,6 +51,20 @@ using {{packageName}}.{{apiPackage}}; using {{packageName}}.Client; using {{packageName}}.{{modelPackage}}; ``` + + +## Packaging + +A `.nuspec` is included with the project. You can follow the Nuget quickstart to [create](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#create-the-package) and [publish](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#publish-the-package) packages. + +This `.nuspec` uses placeholders from the `.csproj`, so build the `.csproj` directly: + +``` +nuget pack -Build -OutputDirectory out {{packageName}}.csproj +``` + +Then, publish to a [local feed](https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds) or [other host](https://docs.microsoft.com/en-us/nuget/hosting-packages/overview) and consume the new package via Nuget as usual. + ## Getting Started diff --git a/modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache b/modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache new file mode 100644 index 00000000000..9b8848ecc83 --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache @@ -0,0 +1,45 @@ + + + + + $id$ + {{packageTitle}} + + + $version$ + + + $author$ + + + $author$ + false + false + + + {{packageDescription}}{{#termsOfService}} + {{termsOfService}}{{/termsOfService}}{{#licenseUrl}} + {{licenseUrl}}{{/licenseUrl}} + + + + + + {{#generatePropertyChanged}} + + {{/generatePropertyChanged}} + + + + + + + + {{#generatePropertyChanged}} + + {{/generatePropertyChanged}} + + + \ No newline at end of file From 30ae5c2592c7965c4ba79a355e81307a1c95b510 Mon Sep 17 00:00:00 2001 From: Jim Schubert Date: Mon, 16 Jan 2017 22:12:50 -0500 Subject: [PATCH 2/2] [csharp] remove carriage returns from nuspec --- .../src/main/resources/csharp/nuspec.mustache | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache b/modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache index 9b8848ecc83..eaf4b0e3381 100644 --- a/modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache +++ b/modules/swagger-codegen/src/main/resources/csharp/nuspec.mustache @@ -1,45 +1,45 @@ - - - - - $id$ - {{packageTitle}} - - - $version$ - - - $author$ - - - $author$ - false - false - - - {{packageDescription}}{{#termsOfService}} - {{termsOfService}}{{/termsOfService}}{{#licenseUrl}} - {{licenseUrl}}{{/licenseUrl}} - - - - - - {{#generatePropertyChanged}} - - {{/generatePropertyChanged}} - - - - - - - - {{#generatePropertyChanged}} - - {{/generatePropertyChanged}} - - + + + + + $id$ + {{packageTitle}} + + + $version$ + + + $author$ + + + $author$ + false + false + + + {{packageDescription}}{{#termsOfService}} + {{termsOfService}}{{/termsOfService}}{{#licenseUrl}} + {{licenseUrl}}{{/licenseUrl}} + + + + + + {{#generatePropertyChanged}} + + {{/generatePropertyChanged}} + + + + + + + + {{#generatePropertyChanged}} + + {{/generatePropertyChanged}} + + \ No newline at end of file