Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Goutte feat gdscript3 #20122

Closed
wants to merge 57 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
2b6377e
feat(gdscript): sketch implementation of gdscript target language
Goutte Oct 19, 2022
5c436d3
feat: add an exhaustive list of keywords reserved in GDScript
Goutte Oct 19, 2022
a4924ca
refacto(gdscript): start using partials in templates
Goutte Oct 19, 2022
8de37d1
test(gdscript): prepare a demo and integration testing
Goutte Oct 19, 2022
f7366fb
fix(gdscript): do not use subclasses, use plain POGO
Goutte Oct 19, 2022
722b56b
refacto(gdscript): move demo files to their own directory
Goutte Oct 19, 2022
77e3b85
fix(gdscript): sample as a Godot project
Goutte Oct 20, 2022
e3d07b5
feat(gdscript): serialize and send body params
Goutte Oct 20, 2022
ec62d55
feat(gdscript): check request body for required yet missing properties
Goutte Oct 20, 2022
b403056
feat(gdscript): namespace core classes as well with apiPrefixName
Goutte Oct 20, 2022
1b83f57
feat(gdscript): support prefixes and suffixes for class names
Goutte Oct 21, 2022
32dfb4b
feat(gdscript): handle enums, naively
Goutte Oct 21, 2022
90c2962
feat(gdscript): support basic API endpoint param constraints
Goutte Oct 21, 2022
13ea8a9
feat(gdscript): handle header params and header customization
Goutte Oct 21, 2022
4458212
feat(gdscript): handle Date and DateTime like Strings
Goutte Oct 21, 2022
9cb6c52
feat(gdscript): support plain text responses
Goutte Oct 22, 2022
e565add
feat(gdscript): support collections of models
Goutte Oct 22, 2022
afb451a
feat(gdscript): configure default host from OAS
Goutte Oct 22, 2022
5ae755d
feat(gdscript): some documentation and better config
Goutte Oct 22, 2022
04f4d3f
docs(gdscript): document usage a little
Goutte Oct 22, 2022
a7bc60e
feat(gdscript): add more reserved words, skip jsonld models and confi…
Goutte Nov 2, 2022
07a8076
feat(gdscript): improve logging with a configurable log level
Goutte Nov 2, 2022
e131124
feat(gdscript): add support for Basic Bearer and Header ApiKey
Goutte Nov 2, 2022
6cf380f
fix(gdscript)
Goutte Nov 2, 2022
85d3b6e
fix(gdscript)
Goutte Nov 2, 2022
bd5f805
chore(gdscript): clean up a sprint artifact
Goutte Nov 2, 2022
35f2146
fix: don't forget the HTTP error code when relevant
Goutte Nov 29, 2022
96d2db0
feat: use Resource as base class for models
Goutte Nov 29, 2022
004040e
fix. Default string values now with "quotes"
saatsazov Mar 9, 2023
a0c79e4
temporary remove settings as godot api have changed
saatsazov Mar 15, 2023
bae1399
kick ci
saatsazov Mar 16, 2023
fd47ffa
docs: review gdscript java class
Goutte Apr 9, 2023
fdbf5b7
feat: support for TLS, some refacto, some review
Goutte Apr 11, 2023
407489d
feat: experimental support of Request inline objects
Goutte Apr 12, 2023
1b290b9
feat(gdscript): support inline request and response objects
Goutte Apr 13, 2023
6491c91
chore(gdscript): review the templates
Goutte Apr 13, 2023
696dea0
fix(gdscript): unexpected nulls in default values
Goutte Apr 13, 2023
39600e7
refacto(gdscript): replace "bee" prefix by "bzz", use a constructor
Goutte Apr 14, 2023
95e3d58
fix(gdscript): add missing file
Goutte Apr 14, 2023
141c119
test(gdscript): refactor the test project to use the generated lib as…
Goutte Apr 14, 2023
206cef9
docs(gdscript): document petstore server ADR
Goutte Apr 14, 2023
a0b1e4d
test(gdscript): add GUT and an integration test
Goutte Apr 14, 2023
c4fda71
refacto(gdscript, breaking): use an ApiResponse object in success cal…
Goutte Apr 16, 2023
31868ca
test(gdscript): update integration tests
Goutte Apr 16, 2023
edce567
docs(gdscript): explain the new ApiResponse
Goutte Apr 16, 2023
acede28
chore(gdscript): review, document, clean up
Goutte Apr 16, 2023
7074250
test(gdscript): test the delete operation as well
Goutte Apr 16, 2023
0b73f1c
feat(gdscript): update GUT and exit with appropriate code
Goutte Apr 17, 2023
ec7edfc
docs(gdscript): add Gdscript's PI
Goutte Apr 17, 2023
b3a1bed
feat(gdscript): support reserved keywords
Goutte Apr 17, 2023
516e1ab
refacto(gdscript): use "base" instead of "bee"
Goutte May 26, 2023
75f6cad
feat(gdscript): improve descriptions
Goutte May 26, 2023
28efebd
fix(gdscript): await before polling
Goutte Jun 13, 2023
c47b7a1
docs(gdscript): review the template files
Goutte Jul 30, 2024
89f6ab5
docs(gdscript): review and generate docs
Goutte Jul 30, 2024
df20ced
Merge branch 'feat-gdscript' of https://github.com/Goutte/openapi-gen…
wing328 Nov 17, 2024
f834ee4
update
wing328 Nov 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -998,6 +998,7 @@ Here is a list of template creators:
* Groovy: @victorgit
* Go: @wing328 [:heart:](https://www.patreon.com/wing328)
* Go (rewritten in 2.3.0): @antihax
* Godot (GDScript): @Goutte [:heart:](https://liberapay.com/Goutte)
* Haskell (http-client): @jonschoning
* Java (Feign): @davidkiss
* Java (Retrofit): @0legg
Expand Down
35 changes: 35 additions & 0 deletions bin/configs/gdscript-petstore.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Run this configuration to update the sample project used in integration testing:
# bin/generate-samples.sh bin/configs/gdscript-petstore.yaml

generatorName: gdscript

# We output straight into an addon directory. (any addon name will work)
# The addon need not be enabled in Project Settings to be used, for now,
# but that may change, so as best practice you should enable it anyway.
outputDir: samples/client/petstore/gdscript/addons/oas.petstore.client

# We have two test servers available.
# See https://github.com/OpenAPITools/openapi-generator/wiki/Integration-Tests

# A: Newer, recommended echo server OAS, that we're failing for now:
# Exception: Could not process model 'Bird'. Please make sure that your schema is correct!
# Caused by: java.lang.RuntimeException: reserved word color not allowed
# Perhaps try this again later, using another config file like gdscript-echo.yaml
# > Later: this has been solved, we should now be able to use echo as well
#inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml

# B: Older (legacy, deprecated) petstore server OAS
inputSpec: modules/openapi-generator/src/test/resources/3_0/gdscript/petstore.yaml

templateDir: modules/openapi-generator/src/main/resources/gdscript

additionalProperties:
# Timestamping the generated sample project would only add noise to git
hideGenerationTimestamp: "true"
# Since we're polluting the global namespace with class_name (it's really convenient),
# we can use these affixes to namespace the generated classes.
# Best make sure the words you use here are not part of the domain of Godot.
apiNamePrefix: Demo
modelNamePrefix: Demo
modelNameSuffix: Model
coreNamePrefix: Demo
Loading
Loading