semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,30 @@
# SDK Generator Toolchain (Multi-Language)
## Module
Sdk
## Status
IMPLEMENTED
## Description
Multi-language SDK generator toolchain producing typed API clients in TypeScript, Python, Go, and Java from OpenAPI specifications, with postprocessing, release pipelines, and offline bundle support.
## Implementation Details
- **Go Generator**: `src/Sdk/StellaOps.Sdk.Generator/go/` -- Go SDK generation configuration and scripts. Key files: `config.yaml` (OpenAPI Generator config for Go), `generate-go.sh` (generation script), `test_generate_go.sh` (test script).
- **Java Generator**: `src/Sdk/StellaOps.Sdk.Generator/java/` -- Java SDK generation. Key files: `config.yaml`, `generate-java.sh`, `test_generate_java.sh`.
- **Python Generator**: `src/Sdk/StellaOps.Sdk.Generator/python/` -- Python SDK generation. Key files: `config.yaml`, `generate-python.sh`, `test_generate_python.sh`.
- **Postprocessing Pipeline**: `src/Sdk/StellaOps.Sdk.Generator/postprocess/` -- post-generation processing adding hooks, error handling, and SDK-specific customizations. Key files: `postprocess.sh` (orchestrator), `README.md` (documentation).
- **Postprocessing Templates**: `src/Sdk/StellaOps.Sdk.Generator/postprocess/templates/` -- language-specific hook templates: `go/hooks.go`, `java/src/main/java/org/stellaops/sdk/Hooks.java`, `python/sdk_hooks.py`, `typescript/sdk-hooks.ts`, `typescript/sdk-error.ts`, `typescript/package.json`, `typescript/tsconfig.*.json`.
- **Toolchain Lock**: `src/Sdk/StellaOps.Sdk.Generator/toolchain.lock.yaml` -- pinned versions of generator tools for reproducible builds.
- **Toolchain Documentation**: `src/Sdk/StellaOps.Sdk.Generator/TOOLCHAIN.md` -- documentation of the toolchain, versions, and upgrade process.
- **Vendored Tools**: `src/Sdk/StellaOps.Sdk.Generator/tools/openapi-generator-cli-7.4.0.jar` (OpenAPI Generator), `tools/jdk-21.0.1.tar.gz` (JDK for Java generation).
- **Postprocessing Tests**: `src/Sdk/StellaOps.Sdk.Generator/postprocess/tests/test_postprocess.sh` -- tests for postprocessing pipeline.
## E2E Test Plan
- [ ] Run the Go SDK generation script (`generate-go.sh`) against the OpenAPI spec and verify it produces a compilable Go client package
- [ ] Run the Java SDK generation script and verify the output compiles with the vendored JDK
- [ ] Run the Python SDK generation script and verify the output is a valid Python package with correct module structure
- [ ] Run the postprocessing pipeline on a generated TypeScript SDK and verify hooks, error handling, and package.json are correctly injected
- [ ] Verify the toolchain lock: modify `toolchain.lock.yaml` to reference a different generator version and confirm the generation script uses the locked version
- [ ] Run all test scripts (`test_generate_go.sh`, `test_generate_java.sh`, `test_generate_python.sh`, `test_postprocess.sh`) and verify they pass
- [ ] Verify offline operation: run generation without network access using the vendored tools and confirm successful output