* [gradle] Add 4 boolean properties supported by codegenConfigurator
* [gradle] Add Windows workaround for Android Studio
After release 3.0.0, a guava dependency was updated and this exposed an
issue in Windows where Guava's CharMatcher.ASCII is called to validate a
path. The version of Guava referenced by OpenAPI Generator causes a
'NoSuchField' error because the referenced dependency names this static
field CharMatcher.Ascii.
This error is not surfaced on macOS, and appears to be Windows-specific.
This adds a potential workaround to the Gradle plugin's readme.
See #1818 for more details.
* Support Gradle 4.10
Gradle 4.10 is bundled with Kotlin 1.60 and Kotlin DSL 1.0-rc1. The new
Kotlin DSL isn't binary compatible with the `tasks` registration used in
this plugin.
Updating to Kotlin DSL 1.0-rc1 with no other changes would require users
to update to Gradle 4.10.
As a workaround, I've modified the tasks registration being done in
OpenApiGeneratorPlugin.kt, so rather than using the Kotlin DSL's invoke,
it creates tasks manually against the TasksContainer. This works locally
with Gradle 4.7+ for all scenarios in the sample (samples/local-spec).
There may be edge cases that I'm unaware of, and we may want to consider
defining the minimum supported Gradle version of 4.10 in the next major
version of openapi-generator-gradle-plugin if we experience those cases.
* Uncomment snapshots repo (commented it during local testing)
* update pom.xml for exec gradle plugin
* update release version, disabled ensure up to date script
* update release table
* update stable version to 3.2.3
* update samples/meta-codegen/lib/pom.xml and release_version_update.sh
The gradle plugin sets all System properties before generation, then
reverts them back to their original state.
System.getProperty/setProperty return null if the property was not
previously set. The Kotlin map was defined with non-nullable key/value
constraints, so setting something not commonly set (modelDocs: "false")
would result in an runtime exception.
This changes the map to support nullable values, and rather than setting
a null System property at the end, it clears those which previously had
no value.
* Validate spec on generation by default
Adds a validation parameter to CodegenConfigurator, and passes through
options from CLI, Maven Plugin and Gradle Plugin to that property.
Default is to validate the spec during generation. If spec has errors,
we will output errors as well as warnings to the user.
Option can be disabled by passing false to validateSpec (Maven/Gradle)
or --validate-spec (CLI).
* Prepare version 3.1.1-SNAPSHOT
* fix version
* Use last prod version for the sample
* Update README.md
Fix
* [cli] Option parser does not support true/false for boolean options
* add new bash script for release version update
* update version using the bash script
* Fix shippable build
Modify `artifactId` of `CI/pom.xml.shippable` to be `openapi-generator-shippable-pom`
* Comment ensure-up-to-date
* add shippable to the release script
* Updates README based on new release changes (#271)
The release management changes moved from maven-publish (newer plugin)
to maven (older plugin, only one that works currently with signing).
This updates docs in the samples/local-spec project with current
directions.
Also:
* Includes sonatype releases/snapshots on repo lookup
* Adds openApiGeneratorVersion property
* [gradle] Plugin release management
This applies steps necessary for publishing to Sonatype, including
sources, javadoc, jar and signing. Also includes full POM details, per
Sonatype requirements.
* Properties placeholders in gradle plugin (should allow users without these settings to build locally)
* Update build wrapper for install task to be used with new maven plugin, not maven-publish plugin
* Add code signing for gradle and maven
* update release version to 3.0.0
* comment out ensure-up-to-date during the release
* add release note
* clean up
* clean up links
* add release note for 3.0.0
* update release note
* update release note
* update version for gradle plugin before release
* [gradle-plugin] Initial commit
* Clarify comments on file constraints
When a user sets the models, apis, or supportingFiles environment
variables, any one of these being set disables generation for the other
two. This could be confusing to users, so I've added some clarification
text in the comments for these properties.
In addition, I've cleaned up the extension on
Property.ifNotEmpty, to avoid using Suppress annotations where it's not
necessary. The change creates a local variable of type T?, allowing
Kotlin to track the variable's nullable state at compile time.
* Move gradle plugin under modules
* Move kt files under kotlin source set. Add sample.
* [gradle] map-like options as maps
* Add tests for gradle validate task
* Apply gradle plugin to mvn install phase
* [gradle] Testing remaining gradle tasks
* Add gradle plugin to the integration doc
* Update gradle plugin README with task options
* Gradle readme formatting