Skip to content

Commit 1aa574d

Browse files
committed
fix: Push OpenaAPI generator client version choice down to the bazel client
1 parent 59f5fcc commit 1aa574d

15 files changed

+2494
-1985
lines changed

.github/workflows/ci.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,8 @@ jobs:
3434
cd internal/test/bcr
3535
bazel mod path
3636
bazel build //...
37+
38+
- name: Integration BCR with older version
39+
run: |
40+
cd internal/test/bcr-custom-version
41+
bazel build //...

MODULE.bazel

-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@ module(
66

77
bazel_dep(name = "rules_pkg", version = "1.0.1")
88
openapi_gen = use_extension("@openapi_tools_generator_bazel//:extension.bzl", "openapi_gen")
9-
openapi_gen.client()
109
use_repo(openapi_gen, "openapi_tools_generator_bazel_cli")
1110

MODULE.bazel.lock

+133-427
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

+13-18
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,23 @@ If you find this project useful, please kindly consider supporting this project
88

99
## Quickstart
1010

11-
To use the Bazel bindings provided by this repo within a Bazel workspace,
12-
you must do the following steps:
11+
As of v0.1.8, this only supports [Bazel Modules](https://bazel.build/external/module). The setup is much simpler.
1312

14-
1. Add the following code to your WORKSPACE file at the root of your repository
13+
1. Add the following code to your `MODULE.bazel` file at the root of your repository
1514

16-
```
17-
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
18-
19-
http_archive(
20-
name = "openapi_tools_generator_bazel",
21-
sha256 = "ada94694b10f2503c52a48427bd8589323bff5910bd1a7e5212ce34702d0af65",
22-
urls = ["https://github.com/OpenAPITools/openapi-generator-bazel/releases/download/v0.1.6/openapi-tools-generator-bazel-0.1.6.tar.gz"],
23-
)
15+
```
16+
bazel_dep(name = "openapi_tools_generator_bazel", version = "0.1.8")
17+
openapi_gen = use_extension("@openapi_tools_generator_bazel//:extension.bzl", "openapi_gen")
18+
openapi_gen.client(
19+
sha256 = "f18d771e98f2c5bb169d1d1961de4f94866d2901abc1e16177dd7e9299834721",
20+
version = "6.5.0",
21+
)
22+
use_repo(openapi_gen, "openapi_tools_generator_bazel_cli")
2423
25-
load("@openapi_tools_generator_bazel//:defs.bzl", "openapi_tools_generator_bazel_repositories")
24+
# Or, to use the default client (currently 7.2.0), remove the parameters to client().
25+
# openapi_gen.client()
2626
27-
# You can provide any version of the CLI that has been uploaded to Maven
28-
openapi_tools_generator_bazel_repositories(
29-
openapi_generator_cli_version = "5.1.0",
30-
sha256 = "62f9842f0fcd91e4afeafc33f19a7af41f2927c7472c601310cedfc72ff1bb19"
31-
)
32-
```
27+
```
3328

3429
2. Create a BUILD.bazel file next to the .yaml file you wish to generate code from.
3530
The below example generates a go library within a generated directory named `petstore_go`

internal/test/basic/MODULE.bazel

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module(
2+
name = "openapi_tools_generator_bazel_bcr_tests",
3+
version = "1.2.3",
4+
)
5+
6+
bazel_dep(name = "openapi_tools_generator_bazel", version = "")
7+
local_path_override(
8+
module_name = "openapi_tools_generator_bazel",
9+
path = "../../..",
10+
)
11+
openapi_gen = use_extension("@openapi_tools_generator_bazel//:extension.bzl", "openapi_gen")
12+
openapi_gen.client()
13+
use_repo(openapi_gen, "openapi_tools_generator_bazel_cli")
14+

internal/test/basic/MODULE.bazel.lock

+275
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
bazel-bcr
2+
bazel-bin
3+
bazel-out
4+
bazel-testlogs
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
load("@openapi_tools_generator_bazel//:defs.bzl", "openapi_generator")
2+
3+
openapi_generator(
4+
name = "pylib",
5+
config = "config.yaml",
6+
spec = "petstore.yaml",
7+
generator = "python",
8+
)
9+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module(
2+
name = "openapi_tools_generator_bazel_bcr_tests",
3+
version = "1.2.3",
4+
)
5+
6+
bazel_dep(name = "openapi_tools_generator_bazel", version = "")
7+
local_path_override(
8+
module_name = "openapi_tools_generator_bazel",
9+
path = "../../..",
10+
)
11+
openapi_gen = use_extension("@openapi_tools_generator_bazel//:extension.bzl", "openapi_gen")
12+
openapi_gen.client(
13+
sha256 = "f18d771e98f2c5bb169d1d1961de4f94866d2901abc1e16177dd7e9299834721",
14+
version = "6.5.0",
15+
)
16+
use_repo(openapi_gen, "openapi_tools_generator_bazel_cli")
17+

internal/test/bcr-custom-version/MODULE.bazel.lock

+275
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# openapi-generator configuration
2+
---
3+
generatorName: python-flask
4+
packageName: openapi.bazel.test
5+
enablePostProcessFile: false
6+
globalProperties:
7+
skipFormModel: false
8+
additionalProperties:
9+
generated: generated
10+
packageRoot: openapi.bazel

0 commit comments

Comments
 (0)