Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
lint:
timeout-minutes: 15
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/dedalus-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
Expand All @@ -45,7 +45,7 @@ jobs:
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/dedalus-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

steps:
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:
test:
timeout-minutes: 15
name: test
runs-on: ${{ github.repository == 'stainless-sdks/dedalus-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/publish-sonatype.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# This workflow is triggered when a GitHub release is created.
# It can also be run manually to re-publish to Sonatype in case it failed for some reason.
# You can run this workflow by navigating to https://www.github.com/dedalus-labs/dedalus-java/actions/workflows/publish-sonatype.yml
name: Publish Sonatype
on:
workflow_dispatch:

release:
types: [published]

jobs:
publish:
name: publish
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Set up Java
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: |
8
21
cache: gradle

- name: Set up Gradle
uses: gradle/gradle-build-action@a8f75513eafdebd8141bd1cd4e30fcd194af8dfa # v2.12.0

- name: Publish to Sonatype
run: |-
export -- GPG_SIGNING_KEY_ID
printenv -- GPG_SIGNING_KEY | gpg --batch --passphrase-fd 3 --import 3<<< "$GPG_SIGNING_PASSWORD"
GPG_SIGNING_KEY_ID="$(gpg --with-colons --list-keys | awk -F : -- '/^pub:/ { getline; print "0x" substr($10, length($10) - 7) }')"
./gradlew publish --no-configuration-cache
env:
SONATYPE_USERNAME: ${{ secrets.DEDALUS_SONATYPE_USERNAME || secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.DEDALUS_SONATYPE_PASSWORD || secrets.SONATYPE_PASSWORD }}
GPG_SIGNING_KEY: ${{ secrets.DEDALUS_SONATYPE_GPG_SIGNING_KEY || secrets.GPG_SIGNING_KEY }}
GPG_SIGNING_PASSWORD: ${{ secrets.DEDALUS_SONATYPE_GPG_SIGNING_PASSWORD || secrets.GPG_SIGNING_PASSWORD }}
3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.1.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 32
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/dedalus-labs/dedalus-612bc4e434529d5007d868e94cb7951ad9b13d2c6751b21dbe03f66fecae071c.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/dedalus-labs/dedalus-32ccb3c17674e0ee68fd6eafbdd0f210bccfd09fce0702e28b8278e06678deec.yml
openapi_spec_hash: ccb02923079d91569a17162c88da590b
config_hash: cce16da42a2fc50117c5b029105bfed4
config_hash: 3b16603a18779d453842a0d56638384d
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Changelog

## 0.1.0 (2026-08-19)

Full Changelog: [v0.0.1...v0.1.0](https://github.com/dedalus-labs/dedalus-java/compare/v0.0.1...v0.1.0)

### Features

* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([b9e5164](https://github.com/dedalus-labs/dedalus-java/commit/b9e51645dc4f9266d12a6563391b2317a0387dd4))


### Bug Fixes

* **docs:** link the javadoc badge so the version stays current after release ([8769956](https://github.com/dedalus-labs/dedalus-java/commit/87699566d3104bd16a746f58e6efac9ef8d13213))


### Chores

* configure new SDK language ([a6306b0](https://github.com/dedalus-labs/dedalus-java/commit/a6306b07981d0f73a78264900a916b97ec987a49))
* **internal:** allow the mock server port to be set with STAINLESS_MOCK_PORT ([2aaf4fc](https://github.com/dedalus-labs/dedalus-java/commit/2aaf4fc7d8e4f41b5a70e5e6d7763f8826c2d15a))
* **internal:** codegen related update ([db2b5cf](https://github.com/dedalus-labs/dedalus-java/commit/db2b5cf24854263aae794c26f56b57d222ff185c))
* **internal:** codegen related update ([46a1709](https://github.com/dedalus-labs/dedalus-java/commit/46a1709bb6735c0bd275e04dde4eaa6e5f0c65c9))
* update SDK settings ([97cb7a1](https://github.com/dedalus-labs/dedalus-java/commit/97cb7a1b82ea5fa6c02bad04696f1f359e46f78b))
24 changes: 18 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
# Dedalus Java API Library

[![Maven Central](https://img.shields.io/maven-central/v/com.dedalus.api/dedalus-java)](https://central.sonatype.com/artifact/com.dedalus.api/dedalus-java/0.0.1)
[![javadoc](https://javadoc.io/badge2/com.dedalus.api/dedalus-java/0.0.1/javadoc.svg)](https://javadoc.io/doc/com.dedalus.api/dedalus-java/0.0.1)
<!-- x-release-please-start-version -->

[![Maven Central](https://img.shields.io/maven-central/v/com.dedalus.api/dedalus-java)](https://central.sonatype.com/artifact/com.dedalus.api/dedalus-java/0.1.0)
[![javadoc](https://javadoc.io/badge2/com.dedalus.api/dedalus-java/javadoc.svg)](https://javadoc.io/doc/com.dedalus.api/dedalus-java/0.1.0)

<!-- x-release-please-end -->

The Dedalus Java SDK provides convenient access to the [Dedalus REST API](https://docs.dedaluslabs.ai) from applications written in Java.

Expand All @@ -16,14 +20,20 @@ Use the Dedalus MCP Server to enable AI assistants to interact with this API, al

> Note: You may need to set environment variables in your MCP client.

The REST API documentation can be found on [docs.dedaluslabs.ai](https://docs.dedaluslabs.ai). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.dedalus.api/dedalus-java/0.0.1).
<!-- x-release-please-start-version -->

The REST API documentation can be found on [docs.dedaluslabs.ai](https://docs.dedaluslabs.ai). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.dedalus.api/dedalus-java/0.1.0).

<!-- x-release-please-end -->

## Installation

<!-- x-release-please-start-version -->

### Gradle

```kotlin
implementation("com.dedalus.api:dedalus-java:0.0.1")
implementation("com.dedalus.api:dedalus-java:0.1.0")
```

### Maven
Expand All @@ -32,10 +42,12 @@ implementation("com.dedalus.api:dedalus-java:0.0.1")
<dependency>
<groupId>com.dedalus.api</groupId>
<artifactId>dedalus-java</artifactId>
<version>0.0.1</version>
<version>0.1.0</version>
</dependency>
```

<!-- x-release-please-end -->

## Requirements

This library requires Java 8 or later.
Expand Down Expand Up @@ -874,4 +886,4 @@ This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) con

We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.

We are keen for your feedback; please open an [issue](https://www.github.com/stainless-sdks/dedalus-java/issues) with questions, bugs, or suggestions.
We are keen for your feedback; please open an [issue](https://www.github.com/dedalus-labs/dedalus-java/issues) with questions, bugs, or suggestions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repositories {

allprojects {
group = "com.dedalus.api"
version = "0.0.1"
version = "0.1.0" // x-release-please-version
}

subprojects {
Expand Down
6 changes: 3 additions & 3 deletions buildSrc/src/main/kotlin/dedalus.publish.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ configure<PublishingExtension> {
}

scm {
connection.set("scm:git:git://github.com/stainless-sdks/dedalus-java.git")
developerConnection.set("scm:git:git://github.com/stainless-sdks/dedalus-java.git")
url.set("https://github.com/stainless-sdks/dedalus-java")
connection.set("scm:git:git://github.com/dedalus-labs/dedalus-java.git")
developerConnection.set("scm:git:git://github.com/dedalus-labs/dedalus-java.git")
url.set("https://github.com/dedalus-labs/dedalus-java")
}

versionMapping {
Expand Down
1 change: 1 addition & 0 deletions dedalus-java-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,5 @@ dependencies {
testImplementation("org.mockito:mockito-core:5.14.2")
testImplementation("org.mockito:mockito-junit-jupiter:5.14.2")
testImplementation("org.mockito.kotlin:mockito-kotlin:4.1.0")
testImplementation("org.slf4j:slf4j-nop:1.7.36")
}
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ This can happen if you are either:

Double-check that you are depending on compatible Jackson versions.

See https://www.github.com/stainless-sdks/dedalus-java#jackson for more information.
See https://www.github.com/dedalus-labs/dedalus-java#jackson for more information.
"""
.trimIndent()
}
Expand Down
70 changes: 70 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"packages": {
".": {}
},
"$schema": "https://raw.githubusercontent.com/stainless-api/release-please/main/schemas/config.json",
"include-v-in-tag": true,
"include-component-in-tag": false,
"versioning": "prerelease",
"prerelease": true,
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": false,
"pull-request-header": "Automated Release PR",
"pull-request-title-pattern": "release: ${version}",
"changelog-sections": [
{
"type": "feat",
"section": "Features"
},
{
"type": "fix",
"section": "Bug Fixes"
},
{
"type": "perf",
"section": "Performance Improvements"
},
{
"type": "revert",
"section": "Reverts"
},
{
"type": "chore",
"section": "Chores"
},
{
"type": "docs",
"section": "Documentation"
},
{
"type": "style",
"section": "Styles"
},
{
"type": "refactor",
"section": "Refactors"
},
{
"type": "test",
"section": "Tests",
"hidden": true
},
{
"type": "build",
"section": "Build System"
},
{
"type": "ci",
"section": "Continuous Integration",
"hidden": true
}
],
"reviewers": [
"@windsornguyen"
],
"release-type": "simple",
"extra-files": [
"README.md",
"build.gradle.kts"
]
}
13 changes: 10 additions & 3 deletions scripts/mock
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ set -e

cd "$(dirname "$0")/.."

if [ "$1" == "--install" ]; then
npm exec --package=@stdy/cli@0.22.1 -- steady --version
exit 0
fi

if [[ -n "$1" && "$1" != '--'* ]]; then
URL="$1"
shift
Expand All @@ -20,16 +25,18 @@ fi
echo "==> Starting mock server with URL ${URL}"

# Run steady mock on the given spec
MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}"

if [ "$1" == "--daemon" ]; then
# Pre-install the package so the download doesn't eat into the startup timeout
npm exec --package=@stdy/cli@0.22.1 -- steady --version

npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log &
npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log &

# Wait for server to come online via health endpoint (max 30s)
echo -n "Waiting for server"
attempts=0
while ! curl --silent --fail "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1; do
while ! curl --silent --fail "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1; do
if ! kill -0 $! 2>/dev/null; then
echo
cat .stdy.log
Expand All @@ -48,5 +55,5 @@ if [ "$1" == "--daemon" ]; then

echo
else
npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL"
npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL"
fi
12 changes: 9 additions & 3 deletions scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color

MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}"

function steady_is_running() {
curl --silent "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1
curl --silent "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1
}

kill_server_on_port() {
Expand All @@ -27,7 +29,7 @@ function is_overriding_api_base_url() {

if ! is_overriding_api_base_url && ! steady_is_running ; then
# When we exit this script, make sure to kill the background mock server process
trap 'kill_server_on_port 4010' EXIT
trap 'kill_server_on_port "$MOCK_PORT"' EXIT

# Start the dev server
./scripts/mock --daemon
Expand All @@ -43,7 +45,7 @@ elif ! steady_is_running ; then
echo -e "To run the server, pass in the path or url of your OpenAPI"
echo -e "spec to the steady command:"
echo
echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}"
echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p $MOCK_PORT --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}"
echo

exit 1
Expand All @@ -52,5 +54,9 @@ else
echo
fi

if [ -n "${STAINLESS_MOCK_PORT:-}" ] && ! is_overriding_api_base_url ; then
export TEST_API_BASE_URL="http://127.0.0.1:$MOCK_PORT"
fi

echo "==> Running tests"
./gradlew test "$@"
1 change: 1 addition & 0 deletions scripts/upload-artifacts
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ generate_instructions() {
<html>
<head>
<title>Maven Repo</title>
<meta name="robots" content="noindex, nofollow">
</head>
<body>
<h1>Stainless SDK Maven Repository</h1>
Expand Down
Loading