@tahminator/pipeline 1.0.81-beta.d684dda2 → 1.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -34
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -213,14 +213,12 @@ await protobuf.compile({
|
|
|
213
213
|
Configure generated-code packages in each `.proto` file, not in `targetLanguages`. The client does not enable Buf managed mode; Buf's generators read these file options directly:
|
|
214
214
|
|
|
215
215
|
```proto
|
|
216
|
-
option go_package = "example.com/proto/helloworld
|
|
216
|
+
option go_package = "example.com/proto/helloworld;helloworld";
|
|
217
217
|
option java_package = "org.myorg.helloworld.v1";
|
|
218
218
|
option java_multiple_files = true;
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
In CI, enable the setup action's protobuf dependency installer so generation uses local tools and does not send source code to BSR remote plugins:
|
|
221
|
+
In CI, enable the setup action's protobuf dependency installer so that you don't have to worry about packages:
|
|
224
222
|
|
|
225
223
|
```yaml
|
|
226
224
|
- uses: tahminator/pipeline/actions/setup@<version>
|
|
@@ -228,36 +226,6 @@ In CI, enable the setup action's protobuf dependency installer so generation use
|
|
|
228
226
|
INSTALL_PROTO_DEPENDENCIES: "true"
|
|
229
227
|
```
|
|
230
228
|
|
|
231
|
-
Every target enables both message and service generation by default:
|
|
232
|
-
|
|
233
|
-
| Target | Generated service API | Published runtime dependencies |
|
|
234
|
-
| ----------------------- | -------------------------------------------------------------------- | --------------------------------------------------- |
|
|
235
|
-
| Java (Maven and Gradle) | `<Service>Grpc.<Service>ImplBase` and client stubs | `protobuf-java`, `grpc-protobuf`, `grpc-stub` |
|
|
236
|
-
| Go | `<Service>Server`, `Unimplemented<Service>Server`, `<Service>Client` | Resolved by `go mod tidy` into the generated module |
|
|
237
|
-
| Rust | Tonic `<service>_server` traits and `<service>_client` clients | `prost`, `prost-types`, `tonic`, `tonic-prost` |
|
|
238
|
-
|
|
239
|
-
Applications implement the generated service interfaces and supply server startup, endpoints, authentication, and transport configuration. Java applications must add a transport implementation such as `io.grpc:grpc-netty-shaded:1.75.0`; the generated SDK does not choose one. Gradle publishes public runtime types as `api` dependencies so they are visible on consumers' compile classpaths. When the Java target is published, the publisher reads the generated `Protobuf Java Version` header and uses that `protobuf-java` version unless `protobufJavaVersion` is set to a compatible newer version.
|
|
240
|
-
|
|
241
|
-
Imported schemas are generated alongside the selected input, except standard well-known types, which use the runtime libraries. This produces self-contained schema output rather than relying on separately published schema packages. Go publishing still requires those package paths to share a valid module root.
|
|
242
|
-
|
|
243
|
-
Rust generation uses local Prost and Tonic protoc plugins, paired with the `0.14` runtime series. `prostVersion` overrides must remain within `0.14`. The published crate preserves proto package hierarchy (for example, `example.v1` becomes `example::v1`) and includes Tonic stubs in the same module as their messages. This replaces the previous flattened Rust module names.
|
|
244
|
-
|
|
245
|
-
For Go publishing, only the release version is needed:
|
|
246
|
-
|
|
247
|
-
```ts
|
|
248
|
-
targetLanguages: {
|
|
249
|
-
[ProtobufTargetLanguage.GO]: {
|
|
250
|
-
version: "1.0.0",
|
|
251
|
-
},
|
|
252
|
-
},
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
The publisher generates `go.mod` using the deepest shared directory of the generated Go packages as the module root. For a single package, that package's import path becomes the module path. It never adds, strips, or rewrites version suffixes. Proto authors own package layout; invalid Go module/version combinations fail. In particular, Go does not allow a module path ending in `/v1`. Adding packages outside the existing shared directory changes the inferred module root, so keep the package layout stable across releases.
|
|
256
|
-
|
|
257
|
-
Go publishing requires `go` and `zip` on PATH. It stages generated packages without changing the original output, runs `go mod init` and `go mod tidy` to generate dependency metadata, and uploads `.mod` and `.zip` artifacts to the hosted `go` repository at `<backend.url>/go/go`. It does not lint, build, or test generated code. Dependency resolution may require network access. Versions may include a leading `v`; v2+ modules require the corresponding major-version module path suffix.
|
|
258
|
-
|
|
259
|
-
Java generation is pinned to the compiler release matching `protobufJavaVersion` (default runtime `4.32.1`, Buf Java plugin `v32.1`). The same runtime version is used in both Maven and Gradle metadata. Overrides must be exact stable versions, not ranges, and the corresponding plugin must exist in the Buf registry.
|
|
260
|
-
|
|
261
229
|
### `NPMClient`
|
|
262
230
|
|
|
263
231
|
Interface with NPM registry in order to publish packages to `npmjs.com`
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"type": "module",
|
|
4
4
|
"author": "Tahmid Ahmed",
|
|
5
5
|
"description": "A collection of Bun shell scripts that can be re-used in various CICD pipelines.",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.82",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "git+https://github.com/tahminator/pipeline.git"
|
|
9
9
|
},
|