forked from loafle/openapi-generator-original
* 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>
84 lines
4.2 KiB
YAML
84 lines
4.2 KiB
YAML
version: '{branch}-{build}'
|
|
image: Visual Studio 2017
|
|
hosts:
|
|
petstore.swagger.io: 127.0.0.1
|
|
install:
|
|
- ps: |
|
|
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
|
if (!(Test-Path -Path "C:\maven" )) {
|
|
(new-object System.Net.WebClient).DownloadFile(
|
|
'http://www.us.apache.org/dist/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.zip',
|
|
'C:\maven-bin.zip'
|
|
)
|
|
[System.IO.Compression.ZipFile]::ExtractToDirectory("C:\maven-bin.zip", "C:\maven")
|
|
}
|
|
# install gradle
|
|
- ps: |
|
|
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
|
if (!(Test-Path -Path "C:\gradle" )) {
|
|
(new-object System.Net.WebClient).DownloadFile(
|
|
'https://services.gradle.org/distributions/gradle-5.3.1-bin.zip',
|
|
'C:\gradle-bin.zip'
|
|
)
|
|
[System.IO.Compression.ZipFile]::ExtractToDirectory("C:\gradle-bin.zip", "C:\gradle")
|
|
}
|
|
- cmd: SET PATH=C:\maven\apache-maven-3.2.5\bin;C:\gradle\gradle-5.3.1\bin;%JAVA_HOME%\bin;%PATH%
|
|
- cmd: SET MAVEN_OPTS=-Xmx4g
|
|
- cmd: SET JAVA_OPTS=-Xmx4g
|
|
- cmd: SET M2_HOME=C:\maven\apache-maven-3.2.5
|
|
- cmd: java -version
|
|
- cmd: gradle -v
|
|
- cmd: dir/w
|
|
- git clone https://github.com/wing328/swagger-samples
|
|
- ps: Start-Process -FilePath 'C:\maven\apache-maven-3.2.5\bin\mvn' -ArgumentList 'jetty:run' -WorkingDirectory "$env:appveyor_build_folder\swagger-samples\java\java-jersey-jaxrs-ci"
|
|
- ps: $PSVersionTable.PSVersion
|
|
- ps: Install-Module Pester -Force -Scope CurrentUser
|
|
build_script:
|
|
- dotnet --info
|
|
# build C# API client (netcore)
|
|
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient\Org.OpenAPITools.sln
|
|
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClientCore\Org.OpenAPITools.sln
|
|
# build C# API client
|
|
- nuget restore samples\client\petstore\csharp\OpenAPIClient\Org.OpenAPITools.sln
|
|
- msbuild samples\client\petstore\csharp\OpenAPIClient\Org.OpenAPITools.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
# build C# API client (with PropertyChanged)
|
|
- nuget restore samples\client\petstore\csharp\OpenAPIClientWithPropertyChanged\Org.OpenAPITools.sln
|
|
- msbuild samples\client\petstore\csharp\OpenAPIClientWithPropertyChanged\Org.OpenAPITools.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
# build C# .net standard 1.3+ API client
|
|
- nuget restore samples\client\petstore\csharp\OpenAPIClientNetStandard\Org.OpenAPITools.sln
|
|
- msbuild samples\client\petstore\csharp\OpenAPIClientNetStandard\Org.OpenAPITools.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
# install openapi-generator locally
|
|
- mvn --no-snapshot-updates --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
|
|
# run the locally installed openapi-generator-gradle-plugin
|
|
- gradle -b modules\openapi-generator-gradle-plugin\samples\local-spec\build.gradle buildGoSdk --stacktrace
|
|
test_script:
|
|
# test c# API client (netcore)
|
|
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
|
|
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClientCore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
|
|
# test c# API client
|
|
- nunit3-console samples\client\petstore\csharp\OpenAPIClient\src\Org.OpenAPITools.Test\bin\Debug\Org.OpenAPITools.Test.dll --result=myresults.xml;format=AppVeyor
|
|
# test c# API client (with PropertyChanged)
|
|
- nunit3-console samples\client\petstore\csharp\OpenAPIClientWithPropertyChanged\src\Org.OpenAPITools.Test\bin\Debug\Org.OpenAPITools.Test.dll --result=myresults.xml;format=AppVeyor
|
|
|
|
### TODO: Execute all generators via powershell or other
|
|
# generate all petstore clients
|
|
# - .\bin\windows\run-all-petstore.cmd
|
|
# generate all petstore clients (openapi3)
|
|
# - .\bin\openapi3\windows\run-all-petstore.cmd
|
|
|
|
# test ps pestore
|
|
- ps: |
|
|
$ErrorActionPreference = "Stop"
|
|
cd samples\client\petstore\powershell\
|
|
.\Build.ps1
|
|
Import-Module -Name '.\src\PSPetstore'
|
|
$Result = Invoke-Pester -PassThru
|
|
if ($Result.FailedCount -gt 0) {
|
|
$host.SetShouldExit($Result.FailedCount)
|
|
exit $Result.FailedCount
|
|
}
|
|
cache:
|
|
- C:\maven\
|
|
- C:\gradle\
|
|
- C:\Users\appveyor\.m2
|