Commit Graph

37 Commits

Author SHA1 Message Date
William Cheng
b7b009082a Update csharp-netcore dependencies to the latest stable version (#7194)
* update csharp-netcore dependencies

* update test sdk version

* set tests.sdk version to 15.9.2

* rearrange test

* vs 2019 image

* rollback to v4.61.0

* update Microsoft.NET.Test.Sdk version

* Revert "update Microsoft.NET.Test.Sdk version"

This reverts commit 7a86bfc415.

* rollback Microsoft.NET.Test.Sdk
2020-08-17 14:51:31 +08:00
HenningWaack
e4c858cd25 [gradle] Enabling up-to-date checks and gradle caching for openapigenerator tasks (#6716) 2020-08-09 21:40:19 -04:00
Jim Schubert
60ceded171 [ci][cli] Moving ensures script to config-based batch generation of samples (#6509)
* Ensure CLI-level generator settings are available in additional properties

* Initial conversion to yaml configs

Configs prefix with 1- need to be manually evaluated.

* Add "other" configs not in ensure-up-to-date

* Add other/openapi3 files

* Cleanup all generation scripts

* Clean up: add missed configs and fix some openapi 3 diffs

* Move generate-samples script, error on batch failures

* Temporarily disable elm which requires skip validation of spec

* CI updates (todo: run all generators through appveyor or move to github workflows)

* Add success count to batch generation command output

* [samples] Regenerate

* Remove bin/windows

* Generate swift5 samples in bitrise

* Expand user input glob pattern

* Regenerate samples

* Update PR template

* Support config based generateAliasAsModel

* [samples] Regenerate

* [rust] Generate as alias for all samples configs

* [csharp] Move test staged file changes to in-directory

* Include "live" test files and ignore test cache files from samples.ci

* Remove concept of samples.ci staging

Generators support .openapi-generator-ignore, allowing maintainers to
explicitly ignore the regeneration of files which have been modified.

Note that the tooling does not overwrite test files whenever those files
exist, and it's not entirely necessary to add test files to the ignore
file.

* Re-add meta generator scripts

* Modify ensure-up-to-date to log stdout, so script does not look like it hangs on slower machines

* [csharp] Regenerate sample

* Set generateAliasAsModel CodegenConfigurator#toContext

This ensures the property (which is effectively a thread-local) gets set
as expected if the caller resets GlobalSettings as is done in the
GenerateBatch command.

* [rust] Regenerate samples

* Re-enable elm

* [java] Support OffsetDateTime example, fail ensures script on any generation error

* [samples] Regenerate

* Fix jersey2-java8 ignore file

* Fix elm spec validation

* Force UTC in sample generation to avoid timezone conflicts during generation (user vs ci)

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-09 18:28:58 +08:00
William Cheng
859e7f7228 update pester to 5.x (#6536) 2020-06-04 15:05:08 +08:00
Jim Schubert
a47e522fae [core] Refactor templating management (#6357)
* [core] Refactor templating management

This refactors template management to get logic out of DefaultGenerator
and to provide a cleaner API to template search and read/compile.

Deprecates MockDefaultGenerator, which is not a mock and causes
in-memory retention of file contents. Maintainers should prefer
executing a "dryRun" with new DefaultGenerator(true) or do true
mock/spies if evaluating template intermediaries is truly necessary.
Tests may read written files with lower overhead than the in-process
retention of those bytes.

This attempts to maintain some compatibility with existing templating
adapter interfaces. Any breaking change here would be unintentional but
minimal effort to retarget the new interface.

* Tests for dry run file outputs

* Update API usage in Meta, test TemplateManager

* Wait on lastModified, lookup by filename in SpringCodegenTest

* Test DefaultGenerator + ignore file

* Move config.processOpenAPI in DefaultGenerator

* Fix wrong use of libraries templateDirector (java)

The samples scripts for Java incorrectly referenced the libraries
directories directly rather than the upper-level Java directory. This
was incorrect usage of template directories, because the generator
expects to be given the "language" directory and perform a lookup for
missing templates in the order:

* user defined libraries directory
* user defined language root
* embedded libraries directory
* embedded language root
* _common directory

This is incorrect in our samples scripts because a user or maintainer
has the expectation that any template change to files at the Java/ root
should also be honored on generation if the script specifies a custom
template directory.

* Fix handlebars extension usage, clean up Meta tasks

HandlebarseEngineAdapter previously didn't handle files without
extensions in the same was as the MustacheEngineAdapter. This now allows
for files without extension (or dotfiles) to lookup in the same
location.

Meta tasks are cleaned up to use template manager only, rather than
attempting to create an "empty" generator to use the previous templating
specific methods.

* Update kotlin-multiplatform gradle wrapper

* Rename GraphQL .gitignore template

The .gitignore file is unable to load via classpath resource from the
graphql node server resource directory (for unknown reasons). Before
this change, the missing template would fail silently.

A .gitignore file may exist in other directories and load as expected.
Added a default .gitignore to _common as a fallback so as not to break
any custom generators which may also be failing silently.

* Log entire stacktrace in go sdk built by gradle in AppVeyor

* Rename PHP .gitignore to gitignore

Java resources may not load .gitignore, this follows suit with other
generators and uses "gitignore" (some use "gitignore.mustache").

* [php] Rename .gitignore templates to gitignore

* Use same classpath lookup in common locator

* [rust] Properly escape empty triple-braces

* [samples] Regenerate
2020-05-30 00:19:03 -04:00
William Cheng
92a350ed72 set pester version (#6448) 2020-05-27 17:22:50 +08:00
Jim Schubert
fb57b602c2 [ci] Execute maven and verify with no-snapshot-updates (#6415) 2020-05-25 14:30:12 -04:00
William Cheng
f327f01c19 Replace powershell generator with powershell-experimental generator (#6213)
* replace powershell generator with powershell-experimental generator

* add back samples

* add back scripts

* remove outdated script

* update doc
2020-05-08 20:13:01 +08:00
William Cheng
63c8f5f965 [PowerShell] Test powershell petstore client in Appveyor (#5674)
* remove scala version in parent pom

* test ps petstore in appveyor

* fix command

* build and import

* fix import module

* fix import

* skip module import

* run multiple commands

* move to test script

* test ps exit

* fix exit

* check last status code

* clean tests

* exit last code

* add import

* change dir

* skip build failure

* fix check

* trigger build failure

* fail fast

* restore c# test

* new line comment

* add powershell exp to ensure up to date script
2020-03-24 13:39:15 +08:00
Jim Schubert
1ac0f141a6 [feature] Default CI log level for slf4j-simple to error to prevent noise (#5118)
* [feature] Log "debounce" filter to remove spam.

* [log] slf4j-simple should be optional

This also sets the default log level to ERROR during CI builds for many
mvn invocations. This should reduce noise in the logs.

* [log] Rely only on mvn loglevel=error for now

* [cli] Clean up unused dependency

* [log] Change level to error/warn in more CI
2020-01-29 16:28:42 +08:00
Jim Schubert
ea55968737 Evaluating https issues in CircleCI (on top of CiscoM31-maven-h… (#5034)
* replace http with https. Replace http://central.maven.org with https://repo1.maven.org

* replace http://www.apache.org/licenses/LICENSE-2.0 with https://www.apache.org/licenses/LICENSE-2.0

* Force HTTPS for mavenCentral gradle DSL

Co-authored-by: Sebastien Rosset <serosset@cisco.com>
2020-01-18 18:53:05 -05:00
Jérémie Bresson
89d0c01764 Use 4.0.2-SNAPSHOT version in gradle samples (#3085) 2019-06-04 06:54:25 -04:00
William Cheng
e06a408141 Update C# client dependency (#2678)
* update csharp dependency

* fix appveyor test

* skip build error

* update nunit version

* fix nunit path

* update petstore test

* various fix
2019-06-03 21:17:17 +08:00
Jérémie Bresson
dc81574f2b Update version to 4.0.2-SNAPSHOT (#3047)
* Update version to 4.0.2-SNAPSHOT

* Update samples

* Change AppVeyor script (test of gradle sample)

* Fix release version bump script (gradle plugin, sample poms)

* Include sonatype snapshots in maven examples which reference 4.0.2-SNAPSHOT
2019-06-01 21:32:44 -04:00
Richard Whitehouse
a4be2c0bb4 Remove -XX:MaxPermSize (#2712)
This was removed in JDK 8 and produces a warning
2019-04-23 11:34:01 +08:00
William Cheng
5fbb812d65 Test Gradle plugin in Appveyor CI (#2651)
* update travis to test gradle plugin

* update gradle version

* show gradle version

* test gradle plugin in circleci

* test appveyor in gradle

* use direct link

* revert other ci config
2019-04-13 00:36:52 +08:00
William Cheng
d2ce584a3a Rename generator: csharp-refactor => csharp-netcore (#2348)
* renmae csharp-refactor to csharp-netcore

* update appveyor config

* update config

* update doc
2019-03-12 09:04:25 +08:00
Jim Schubert
f39e200e5d C# refactor improvements: .NET Standard and .NET Core (#2187)
* [csharp-refactor] limit available target framework

This removes .NET 3.x, .NET 4.0, UWP, and the "5.0" option (which
referred to PCL 5.0). This gives us a smaller footprint for maintenance,
and doesn't necessarily block consumers from creating custom templates
to support those target frameworks. A workaround for users wanting these
options is to build against openapi-generator 3.3.4.

This moves logic for applying additional properties to strategies per
target framework, as a means to reduce maintenance overhead at the cost
of maybe a little redundancy between strategies.

* [csharp-refactor] Fixing .netstandard support

* [csharp-refactor] Fixing netcoreapp2.0 support

* [csharp-refactor] Regenerate samples

* Fix toLowerCase missing Local.ROOT

* [csharp-refactor] Remove unnecessary bash/batch scripts, update appveyor.

* Update appveyor.yml to test for dotnet/xunit

* Update appveyor.yml

Wrap xunit console environment variables in quotes, to prevent yaml syntax error.

* Update appveyor.yml

Try to use dos-style switches, attempting to remove yaml parse error in appveyor. Previous command matched appveyor docs, but resulted in the parser error.

* Update appveyor.yml

Wrap full commands for netstandard tests in quotes

* Fix linux style slashes in dotnet build, use dotnet test over appveyor xunit

* [csharp-refactor] Update generator docs
2019-03-10 12:33:49 +08:00
William Cheng
2ccfdc8e5d Add C# client (refactor) to Appveyor CI (#1738)
* add c# client (refactor) to CI

* fix typo
2018-12-23 08:08:05 +08:00
William Cheng
b64864f47d Fix float/double default value in C# generator (#791)
* fix float/double default value

* better code format

* better CI for openapi3 batch files (C# client)

* update nancyfx samples

* pipe output to /dev/null to reduce log size

* fix windows batch file

* add C# API client generated by OAS3 spec
2018-08-13 13:28:22 +08:00
William Cheng
d863c3e5f4 Add travis.yml to test java6 option (#568)
Add travis.yml to test java6 option, update Java (Jersey2) dependencies
2018-07-15 16:00:07 +08:00
Ben Mordue
866dc03f4f Reduce CI logging (#119) 2018-05-21 23:15:51 +08:00
William Cheng
f0234b8ab4 Test Go petstore client in Travis CI (#41)
* test go in travis

* test go in shippable

* upgrade stack version

* fix shippable badge

* show stack version

* install go

* set go path

* install go 1.10

* remove go installation

* remove go test

* install haskell in travis

* reenable caching in appveyor

* comment out perl test
2018-05-15 14:34:53 +08:00
Jérémie Bresson
9247cd01e7 Changes for Docker (#400) 2018-05-11 11:41:42 +08:00
William Cheng
751d09b162 Update CI files (#296)
* update ci files

* add apt-update at start
2018-05-03 09:46:39 +08:00
wing328
51f9874da6 update appveyor to use java-jersey-jaxrs-ci 2017-05-30 16:11:01 +08:00
wing328
7acd0cfa4d add csharp batch files 2017-04-23 15:42:42 +08:00
wing328
6debbdb652 [C#] Add C# v5.0 Petstore sample (.NET Standard 1.3 compatible) (#5249)
* add csharp .net standard petstore client, update appveyor to build the
client as part of ci

* add new files
2017-03-29 18:43:30 +08:00
wing328
562ff1a4e1 Minor fix to issue with Appveyor (#4365)
* show current folder in appveyor ci

* remove cache

* comment out folder delete
2016-12-12 17:13:20 +08:00
wing328
c2a4c558c8 add delete cmd for appveyor 2016-12-12 15:44:15 +08:00
wing328
8cd881f6a8 disable appveyor cache (which seems broken) (#4260) 2016-11-25 23:26:56 +08:00
wing328
1dd9ee39af [C#] Add CI tests to cover C# Petstore client with "PropertyChanged" (#3796)
* add c# api client with proeprty changed to CI

* add shell script to update all C# petstore sample
2016-09-14 18:43:13 +08:00
wing328
f9d1f24726 Fix appveyor maven environment variable (#3769)
* fix maven env variable in appveyor

* fix maven home
2016-09-11 14:52:46 +08:00
wing328
3d7ff26c67 [C#] Add C# Petstore test to AppVeyor (#3489)
* update appveyor.yml to test c# petstore client

* update csproj file

* add docker version test

* add docker version

* add docker

* add cpuid.ps1

* comment out cpuid

* use start process

* remove mvn test

* remove comments related to docker

* fix appveyor to run local petstore, shippable caching turned on

* add comments to ci config

* remove cpuid.ps1

* update C# petstore sample
2016-07-31 22:37:06 +08:00
wing328
d4951bbf3c Leverage Shipable.io to validate mustache templates (#3333)
* add run all petstore shell script

* add run all petstore batch file for windows tests

* better output for travis and appveyor

* add shippable config to test all petstore

* show log after test script

* remo all-petstore, update travis build

* update shiippable config

* add run-all-petstore

* failure test using ruby model

* use bash script for run-all-petstore

* update script permission

* fix html batch script

* fix missing doc in jaxrs spec generator

* fix missing api, model test in jaxrs spec generator

* rename licenseInfo for lumen

* remove ruby model failure (for CI test)

* fix "the input line is too long"

* update windows batch file to shorten the commands

* update appveyor config

* update shippable config

* add build script

* update batch file to remove args option

* fix window batch file for spring mvc/boot

* remove logging output to file
2016-07-11 13:54:18 +08:00
wing328
e013747535 add comments 2016-07-02 15:10:38 +08:00
wing328
4401e1bf8e build test 2016-07-02 14:32:41 +08:00