165 Commits

Author SHA1 Message Date
William Cheng
e2c458b9ea
Prepare 7.10.0 (#19809)
* Revert "prepare 7.9.0 release (#19808)"

This reverts commit 4145000dfebe7a9edea4555c8515383da7602458.

* prepare 7.10.0 snapshot

* update doc

* update samples
2024-10-08 11:21:54 +08:00
William Cheng
91da2fd240
Prepare 7.9.0 snapshot (#19386)
* Revert "v7.8.0 release (#19385)"

This reverts commit 6bdc452f92d49dcac7ac21dfe8751c8cc4267b98.

* update samples for v7.9.0-snapshot
2024-08-19 16:14:51 +08:00
William Cheng
20cfce0b4a
Prepare v7.8.0 (#19048)
* Revert "v7.7.0 release"

This reverts commit f3dd32385e02065ad298801ca11b8871bcb3a92a.

* prepare v7.8.0

* update readme

* update doc

* update samples
2024-07-02 16:45:53 +08:00
Nate Todd
00f2cd573c
[Elixir] Fix generation issues and compilation warnings in Elixir generator (#18788)
* Format Elixir generator

* Update Elixir reserved words

* Update Elixir generator docs

* Improve typespec generation to avoid double ".t" issues

* Fix compilation warnings by changing reserved words to use suffix instead of underscore prefix

* Include additional reserved words and handle words with leading underscores

* Update samples and docs

* Uses dataType instead of baseType for non-struct types

* Generate elixir samples

* Fixes issue with AnyType in a list

* Generate elixir samples

* Removes normalizeTypeName for arrays as they correct by getTypeDeclaration

* CodeStyle

---------

Co-authored-by: Michael Ramstein <michael@ramste.in>
2024-06-10 14:06:16 +02:00
William Cheng
741bf0c035
Prepare 7.7.0-SNAPSHOT (#18709)
* Revert "7.6.0 release"

This reverts commit d76f9d32d11a03be2b40ebff728ef0ff86332fcb.

* prepare 7.7.0 snapshot in master

* update samples
2024-05-20 17:27:17 +08:00
kiwi-oss
dec8a430df
[Microprofile] Add option to use tags a client keys and server generator (#16673)
* [Java/Microprofile] Add support for Jackson serialization & async interfaces using Mutiny in Java Microprofile library

* Regenerate samples & docs

* Add server generator

* Update client to set configKey by classname

* Remove debug remains and comments

* Adapt method override to upstream changes

* Regenerate samples

* Revert "Regenerate samples"

This reverts commit b5bcbdea90c71a2819a3ea6339c3878f249f97b4.

* Move additional 2xx response to dedicated OpenAPI document

Some other generators than those for Micronaut don't seem to be able to
handle this case, so we don't add it to the general pet store document.

* Make filename consistent with other files in the folder

* Regenerate Microprofile client and server samples

* Generate samples

* Update documentation

* Generate samples

* Remove left-over `*.orig` files from Git merges

* Regenerate samples

* Regenerated samples

* changed generator name to "java-microprofile"

* added the new folder to .github/workflows/samples-java-server-jdk8.yaml so that CI will test it moving forward

* Renamed JavaMicroprofileServerCodegen.java

* regenerated samples

* only enable configKeyFromClassName if configKey is not set

* Updated documentation

* Change samples to use junit 4

* Fix junit 4 test classes

* run ensure up-to-date script

* fix kotlin test errors

---------

Co-authored-by: pravussum <pravussum@users.noreply.github.com>
Co-authored-by: frank <frank.buechel@kiwigrid.com>
Co-authored-by: Oscar <oscar.obrien@kiwigrid.com>
Co-authored-by: oscarobr <133783370+oscarobr@users.noreply.github.com>
2024-05-07 16:24:23 +08:00
William Cheng
807250a430
Prepare 7.6.0 (#18412)
* Revert "v7.5.0 release"

This reverts commit 1eafe2aebf33b13bee0ead66d62a6436e7db059d.

* update master to v7.6.0 snapshot

* update readme

* update samples
2024-04-17 19:05:37 +08:00
William Cheng
4ff7e0ec3f
Prepare 7.5.0 snapshot (#18068)
* Revert "7.4.0 release"

This reverts commit eda049348425171df772a7b9087cc97db718cfda.

* prepare 7.5.0 snapshot version

* update samples

* update doc
2024-03-11 11:10:52 +08:00
Simon Podlipsky
1e9bccca16
feat: generate EOL in VERSION file (#17829)
The EOL is missing so let's add it in order to comply with POSIX standard:

Line
> A sequence of zero or more non- <newline> characters plus a terminating <newline> character.
2024-02-12 15:40:55 +08:00
William Cheng
783e68c7ac
7.4.0 snapshot (#17818)
* Revert "7.3.0-release (#17817)"

This reverts commit d617b46c86b9075c5e0d63fe3798e2982f5259ac.

* update samples, docs, readme
2024-02-08 16:07:22 +08:00
martin-mfg
9afea50cab
use map/array model class only if it is generated (#17612)
* fix

* tests

* generate samples

* refactor
2024-01-29 21:35:21 +08:00
martin-mfg
64f2cad9e8
fix #17258 - use model class only if it is generated (#17490)
* fix  #16797 and #15796 spring child constructor missing parent params

* root cause and update the DefaultCodegen.java to add missing property when with multi inheritance

* rollback SpringCodegen.java

* update samples

* rollback with master cause #16992 fixed this issue too

* still using orignal design

* catchup master

* catchup master

* catchup master

* fix

* add tests

---------

Co-authored-by: dabdirb <dabdirb@gmail.com>
2024-01-05 10:30:28 +08:00
William Cheng
5eab3cef19
Prepare 7.3.0-SNAPSHOT (#17456)
* Revert "v7.2.0 release (#17455)"

This reverts commit fe638d009363c142c246ff089032f243e0b4ee01.

* set version to 7.3.0-SNAPSHOT

* update doc
2023-12-22 16:55:58 +08:00
William Cheng
53289263d9
Prepare v7.2.0 (#17050)
* update version to 7.2.0-SNAPSHOT

* update samples

* update doc
2023-11-13 18:53:20 +08:00
martin-mfg
2ca99bdf8e
use model class for request body with additionalProperties (#16613)
* try out simple fix

* add test case

* generate samples
2023-09-23 13:07:53 +08:00
William Cheng
5e8e2d7f6d
Prepare v7.1.0 in master (#16608)
* prepare v7.1.0 in master

* update
2023-09-18 17:37:36 +08:00
martin-mfg
d6695056fe
add test case for nullable parent property (#16552)
* add nullable case to spring test spec

* generate samples for changed spring input

* add nullable case to general test spec

* generate samples for changed general input

* generate samples again

* generates samples again

* re-build from new sources, generates samples again
2023-09-12 15:59:58 +08:00
Toby Archer
ecb56f1e88
Fix Elixir connection.ex middleware usage and regenerate elixir sample (#16461) 2023-09-05 21:17:37 +02:00
William Cheng
80121aa88f
Prepare v7.0.1 (#16409)
* prepare 7.0.1 in master

* update doc
2023-08-25 16:11:29 +08:00
William Cheng
81c398e530
add model name mappings support to the elixir client generator (#16233) 2023-08-02 17:26:52 +08:00
Bart ten Brinke
4ece8e992a
Elixir: Switch Poison to Jason (#16061)
* Switch Poison to Jason

* generate-samples.sh

* Finalize Poison -> Jason switch

* parse date-time values to Elixir DateTime
* improve formatting in various places, so there's less changes by `mix
  format` later
* fix Java version in flake.nix

* Use List.delete/2 instead of Enum.reject/2 for performance reasons

* mix format test/*

* Install dialyxir and fix reported issues

* Fix RequestBuilder.decode/2 hardcoded module name

* Update docs

* Revert changes to API spec (HTTP -> HTTPS)

* Revert uneeded change to Elixir code generator

* Use HTTP in Elixir tests

HTTPS doesn't work for folks who setup petstore.swagger.io as described
in docs/faq-contributing.md.

---------

Co-authored-by: Wojciech Piekutowski <wojciech@piekutowski.net>
2023-07-20 18:36:50 +02:00
William Cheng
6788f43af0
Better handling of Inline schema (#15682)
* skip allOf inline subschema created as $ref

* add option for fallback

* add back atleastonemodel

* add log

* update java, kotlin, js samples

* update tests

* fix native client test

* fix java client errors by regenerating test files

* clean up python

* clean up powershell

* clean up php

* clean up ruby

* update erlang, elixir

* update dart samples

* update ts samples

* update r, go samples

* update perl

* update swift

* add back files

* add back files

* remove outdated test files

* fix test
2023-06-11 15:35:58 +08:00
martin-mfg
b7f2b723aa
[JAVA] fix toUrlQueryString for BigDecimal (#15764)
* add MyImportTest.java

* fix original issue

* fix same issue for native library

* remove MyImportTest

* add test configs

* generate samples (again?)

* generate samples again

* generate samples again, undo pom.xml mistake [amended to retrigger circliCi]
2023-06-08 09:34:06 +08:00
William Cheng
935146d187 Merge remote-tracking branch 'origin/master' into 7.0.x 2023-04-12 17:51:47 +08:00
William Cheng
5d1e18306a
Prepare 6.6.0-SNAPSHOT (#15100)
* set 6.6.0 snapshot version

* update samples

* update readme
2023-04-01 18:48:01 +08:00
William Cheng
7417432a54
Prepare 6.5.0 release (#15099)
* 6.5.0 release

* update samples
2023-04-01 15:03:35 +08:00
William Cheng
a4dd90c01d
Better allOf handling in fromProperty (#15035)
* fix allOf handling in fromProperty

* add null check, update samples

* update dart generator to handle allof with a single ref
2023-03-26 15:06:27 +08:00
William Cheng
1beec7ef87 Merge remote-tracking branch 'origin' into 7.0.x 2023-03-03 21:52:50 +08:00
William Cheng
c50a775e0c
prepare 6.5.0 release (#14749) 2023-02-19 20:36:23 +08:00
William Cheng
93df0ff444
Prepare 6.4.0 release (#14748)
* prepare 6.4.0 release

* update samples
2023-02-19 18:53:20 +08:00
William Cheng
31a89e35cb
Prepare 6.4.0 (#14582)
* update to 6.4.0 snapshot

* update samples

* update doc
2023-02-01 22:44:40 +08:00
William Cheng
8f2676c5c2
Prepare v6.3.0 release (#14580)
* 6.3.0 release

* fix maven plugin test

* update samples

* update doc

* fix tests in windows
2023-02-01 20:52:29 +08:00
Michael Ramstein
5047273f1e
[elixir] Properly map AnyType (#14497) 2023-01-24 07:48:49 +01:00
tjbdev
82ac92aed6
[elixir] connection.ex typo fix (#14512) 2023-01-24 07:12:32 +01:00
Michael Ramstein
ccbea26390
[elixir] Fixes issue with setting Header parameters (#14511)
* Fixes issue with request not beeing struct of Tesla.Env when setting a header parameter.
2023-01-23 22:03:05 +01:00
Nathan Baulch
9f1fa0e440
Fix another batch of spelling typos (#13915)
* Fix typos

* Remove repeated words

* Minor grammar fixes
2022-11-07 21:30:24 +08:00
Michael Ramstein
d2a9da5061
[Elixir] Fixes issue with maps/dictionary not present in payload (#13874)
* Adds fix to deserialize nullable maps

* Generate Samples
2022-11-03 17:46:24 +08:00
William Cheng
2bac0a8d99 Merge remote-tracking branch 'origin/6.3.x' into 7.0.x 2022-10-16 21:27:53 +08:00
William Cheng
4d03c9272b prepare 6.3.0 snapshot 2022-10-15 15:40:47 +08:00
Austin Ziegler
de745a4c61
Elixir: Improve generated API options docs (#13478)
While working with the Magento 2.4 API definition, there were several
issues found. The easiest to resolve is a documentation naming issue.
(The others will be raised for discussion.)

This is known to be an issue with query parameters, but may not be
limited to *just* query parameters.

In the event that a parameter is a mix of arrays and objects, the
template in the documentation for the API function was expanding out the
parameter name such that `foo[0]` would be turned into
`:foo_left_square_bracket0_right_square_bracket`, but the actual
parameter name was being left as `:foo[0]`, which meant that the
documentation did not reflect the actual parameter.

> Note: there are issues with the way that query parameters are put
> together in this sense, which is going to require substantially more
> work to resolve as well as discussion on how these options should be
> implemented, as what the Magento API requires may not be what is
> expected by a different server, and the nature of the input parameters
> is itself incorrect.
2022-09-26 11:34:44 +02:00
William Cheng
ac7ebf67dd
Prepare 6.2.1 (#13517)
* update to 6.2.1-SNAPSHOT

* update samples

* update doc
2022-09-25 00:10:30 +08:00
William Cheng
24f476a381
prepare 6.2.0 release (#13514)
* set release version to 6.2.0

* update samples

* comment out rust server test in travis
2022-09-24 21:44:42 +08:00
Elton H.Y. Chou
8e66294bfe
[python-experimental] Enhance octet-stream deserialize (#13402)
* [python-experimental] Enhance octet-stream deserialization

When the headers didn't provide the filename, use the url of response to
extract filename.

* [python-experimental] Remove todo comment.

* [python-experimental] Fix test code.

* Update samples

* [python-experimental] Refined the method and the test

+ Early return when the url is empty or `None`.
+ Removed unused f-string prefix.

* [python-experimental] Comapre url is None explicitly.

* Update samples.
2022-09-12 12:04:14 -07:00
Austin Ziegler
194d421d83
Further Elixir Client Improvements (#12775)
* Further Elixir Client Improvements

Resolves #12731 and is the completion of the work that I started with
#12751.

The changes here are extensive and likely resolve an issue that I have
seen with the Ory SDK (ory/sdk#194). I have also been unable to run the
integration suite for Elixir as I am (trying) to run everything in
Docker (`./run-in-docker.sh`) as I *do not* have a suitable Java
development environment set up, and do not do enough Java work to really
justify it.

- Updated the README for Elixir projects. Aside from some improved
  readability of the template by use of link references instead of
  inline links, I have also fixed the examples:

  - The `deps` example should have been putting a version constraint
    related to `appVersion`.

  - The `config` example should have been using `packageName` instead of
    `appName`. This particular issue repeats.

- In all Elixir files:

  - Changed the function `@docs` formatting:

    - changed the ehading level for `Parameters` and `Returns` to h3
      (`###` instead of `##`). This will make somewhat better looking
      documentation that does not over-emphasize these details (which
      are *not* documented in a normal Elixir way, but this is somewhat
      to be expected with a code generator.) It may be desirable, after
      testing, to change this to `h4` instead of `h3`.

    - Put parameter names and most return types in in-line code blocks
      (`` `hello` ``).

    - Put return types, when there are multiple types, in a Markdown
      list.

  - Fixed a lot of the spacing. Most files will be *closer* to Elixir
    standard formatting than they were. Because of the limitations of
    Mustache, it is still recommended that people who generate Elixir
    clients run `mix format` at least once on their codebase.

- `api.mustache`:

  - Removed an awkward function pipeline call. If we specified at least
    Elixir 1.12 (something that I do not recommend as we have recently
    jumped from requiring Elixir 1.6 to Elixir 1.10), there is a better
    way to specify this now with `Kernel.then/2`. In the meantime,
    assigning the constructed request structure to a variable and then
    making a separate pipeline for the request execution and handling
    makes for *much* easier to read generated code.

  - Fixed the extra space issue with `evaluate_response` call tuple
    values; `{{=<% %>=}}` changes the tag types, so this change is
    intentional.

- In `config.exs.mustache`, `runtime.exs.mustache`, `mix.exs.mustache`,
  and `connection.ex.mustache`, use `packageName` instead of `appName`
  for configuration specification. If `packageName` and `appName`
  differed, we would end up with cases like ory/sdk#194.

- `connection.ex.mustache` has been almost entirely rewritten. The
  changes started in order to eliminate a `@doc` compile-time warning,
  but shifted to remove the old way of building Tesla client structs
  with `use Tesla`. It works, but is no longer the recommended way of
  building Tesla clients.

  - The *recommended* way of building a Tesla Client would now be
    `Tesla.client(Connection.middleware(), Connection.adapter())`.

  - Exposed both `Connection.adapter/0` and `Connection.middleware/1`
    for use. `Connection.middleware/1` has special handling for the
    cases where OAuth2 or HTTP Basic Auth are defined in the
    application, but do not currently handle any other auth methods.

- `deserializer.ex.mustache` has mostly been reformatted. There are
  things that I do not like about it (I do not like pipelines with one
  line), and I have expanded one function capture into an anonymous
  function for readability.

- `request_builder.ex.mustache` has been updated with better
  function and parameter descriptions and names. Please note that if
  `request |> method(:delete) |> method(:post)` is supposed to produce
  a `POST` operation, we will need to change from `Map.put_new/3` to
  `Map.put/3`.

  - Reordered `evaluate_response/2` so that it is the function documented,
    and made `decode/2` and `response_mapping/3` private functions. As
    far as I can tell, I have *not* changed the functionality.

* Address issues found in code review

- The example dependency code in the README had dropped the opening
  brace for the tuple. This has been resolved.

- The default formatting of the API pipelines has been adjusted to
  minimize possible changes from `mix format`.

* Update modules/openapi-generator/src/main/resources/elixir/api.mustache

Co-authored-by: Michael Ramstein <633688+mrmstn@users.noreply.github.com>

* Update modules/openapi-generator/src/main/resources/elixir/connection.ex.mustache

Co-authored-by: Michael Ramstein <633688+mrmstn@users.noreply.github.com>

* Update modules/openapi-generator/src/main/resources/elixir/connection.ex.mustache

Co-authored-by: Michael Ramstein <633688+mrmstn@users.noreply.github.com>

* Update templates based on review comments

Co-authored-by: Michael Ramstein <633688+mrmstn@users.noreply.github.com>
2022-09-12 19:00:58 +08:00
William Cheng
928070c57a
Prepare 6.1.1 SNAPSHOT version (#13399)
* prepare v6.1.1

* update samples

* update doc
2022-09-11 19:08:23 +08:00
William Cheng
43dbb5ff9c
6.1.0 release (#13398) 2022-09-11 17:16:07 +08:00
William Cheng
6bfef6c191 Merge remote-tracking branch 'origin/master' into 7.0.x 2022-07-19 11:54:20 +08:00
William Cheng
6cae0fbb78 Merge remote-tracking branch 'origin/6.1.x' 2022-07-04 01:22:51 +08:00
William Cheng
9e412edb64
Prepare 6.0.1 release (#12762)
* update to v6.0.1

* update doc

* update samples
2022-07-03 23:36:46 +08:00
William Cheng
72b4189f76 add back elixir petstore test-related files 2022-07-03 17:34:11 +08:00