This is a set of Gradle build scripts to generate code for Adyen/adyen-*-api-library repositories.
This project uses Gradle Kotlin DSL.
To generate all services in all libraries, run:
./gradlew services
Note: Ensure that the service is in the following list: adyen.sdk-automation-conventions.gradle.kts.
For all services in a library, run:
./gradlew :go:services
For a single specific service:
./gradlew php:checkout
To clean up spec patches:
./gradlew cleanSpecs
To clean up all the generated artifacts and repository modifications:
./gradlew cleanRepo
Typical usage during development:
./gradlew :dotnet:cleanRepo :dotnet:checkout
For Node.js, set the generator version via CLI:
./gradlew :node:cleanRepo :node:checkout -PopenapiGeneratorVersion=5.4.0
./gradlew :java:cleanRepo :java:checkout -PopenapiGeneratorVersion=7.11.0
./gradlew :dotnet:cleanRepo :dotnet:checkout -PopenapiGeneratorVersion=7.11.0
Shared logic goes into buildSrc. Subprojects can extend and customize predefined tasks via the type-safe SdkAutomationExtension or reconfiguration (tasks.named).
To access the configuration in a subproject:
val sdkAutomation = extensions.getByType<SdkAutomationExtension>()
// access properties
val services = sdkAutomation.services.get()For local testing of some library:
rm -rf go/repo && ln -s ~/workspace/adyen-go-api-library go/repo
rm -rf java/repo && ln -s ~/workspace/adyen-java-api-library java/repo
rm -rf dotnet/repo && ln -s ~/workspace/adyen-dotnet-api-library dotnet/repoTo run unit tests:
./gradlew :buildSrc:test
A release notes generator is included that analyzes git history, API surface changes, dependency impacts, and linked GitHub issues to produce structured release notes.
The prompt lives at .factory/droids/sdk-release-notes-generator.md.
With <language>/repo already cloned, ask from this repository root:
Generate release notes for the Java SDK from v41.0.0 to HEAD
Or let it auto-detect the latest released tag to current HEAD:
Generate release notes for the Python SDK
-
Clone or symlink the target SDK repo into
<language>/repo. -
Open
.factory/droids/sdk-release-notes-generator.mdand copy the prompt body (excluding frontmatter). -
Paste it as your system/user prompt, then provide inputs, for example:
Generate release notes for language=python, from_version=v14.0.0, to_version=HEAD. The repository is at python/repo relative to the automation repo root. -
Ensure the environment has
gitand authenticatedghaccess for PR/issue link resolution.
| Section | When included |
|---|---|
## Breaking Changes 🛠 |
Renames, removals, or raised runtime minimums |
## New Features 💎 |
New APIs, endpoints, models, fields, grouped by service |
## Fixes ⛑️ |
Bug fixes linked to issues and/or PRs |
## Contributor Notes 🔧 |
Tooling, linting, or build dependency changes |
## Other Changes 🖇️ |
CI, docs, and general dependency updates |
Every bullet includes at least one PR link for direct traceability.