Skip to content

Conversation

@salaboy
Copy link
Collaborator

@salaboy salaboy commented Oct 21, 2025

Description

  • Migrated Durable Task Java from Gradle to Maven
  • Migrated proto generation to maven
  • Aligned dependencies to make sure we use the same grpc and protobuf versions
  • Aligned codestyle checks and javadoc generation
  • Updated the build workflow to test using durabletask runtime in a container
  • Refactored (internal) methods that don't conform with the Java SDK style (UUID to Uuid)

Issue reference

We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.

Please reference the issue this PR will close: #1571

Checklist

Please make sure you've completed the relevant tasks for this PR, out of the following list:

  • Code compiles correctly
  • Created/updated tests
  • Extended the documentation

@salaboy salaboy requested review from a team as code owners October 21, 2025 09:41
@salaboy salaboy force-pushed the 1571-bring-dt-closer branch from 8e649ef to 4e9e636 Compare October 21, 2025 09:41
@salaboy
Copy link
Collaborator Author

salaboy commented Oct 21, 2025

Merging this PR will mean that we need to archive https://github.com/dapr/durabletask-java/

@salaboy salaboy marked this pull request as draft October 21, 2025 09:48
@salaboy salaboy force-pushed the 1571-bring-dt-closer branch from af11647 to 5b6f098 Compare October 21, 2025 09:57
@salaboy salaboy marked this pull request as ready for review October 21, 2025 09:57
@salaboy salaboy force-pushed the 1571-bring-dt-closer branch 4 times, most recently from 1c8269e to 8e842e8 Compare October 21, 2025 12:03
@salaboy
Copy link
Collaborator Author

salaboy commented Oct 21, 2025

@mcruzdev @artur-ciocanu folks I want you to be aware of this, as the PRs to align versions and remove netty-shaded are all collapsed here.

@salaboy
Copy link
Collaborator Author

salaboy commented Oct 21, 2025

@dapr/approvers-java-sdk @dapr/maintainers-java-sdk please review and provide feedback. We should not merge other PRs in durabletask-java until this is merged here to avoid divergence.

For now, we will need to leave with low code coverage, as we are brining this module to the SDK, it will be easier to add tests as we move forward.

@@ -0,0 +1,342 @@
///*
Copy link
Collaborator Author

@salaboy salaboy Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If all the other changes are approved I am happy to fix this tests as this follows the same pattern as this PR: #1529 were we remove all these tests and related dependencies in favour of pre made certs. Please leave this file out of the overall review of this PR. 🙏

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue created that explains the migration needed for this test, please never enable this test as is again: #1604

@siri-varma
Copy link
Contributor

@salaboy this PR LGTM. Should we exclude this module from the coverage ? Otherwise codecov will start failing for every PR.

@salaboy
Copy link
Collaborator Author

salaboy commented Oct 24, 2025

@salaboy this PR LGTM. Should we exclude this module from the coverage ? Otherwise codecov will start failing for every PR.

Yes, that is something we can do. I really want us to bring the testing level up for this module.
There are still a couple of more things to sort out for this PR to be mergeable, but we are trying to get agreement on these changes.

@salaboy salaboy self-assigned this Oct 24, 2025
Copy link
Contributor

@cicoyle cicoyle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe we need to add to our release automation script if we proceed with this PR. Specifically we will need to add to the update_sdk_version.sh something like the following:

mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f durabletask-client/pom.xml

Also, could you verify if we need changes in the update_docs.sh script for this new module, as I believe we will need changes there.

salaboy and others added 12 commits December 10, 2025 16:07
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
* Align Java API with other languages

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Update documentation

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Change return type of waitForWorkflowStart method

Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Signed-off-by: artur-ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
* Force Jackson version to override the SB Jackson version

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Move all the Jackson deps to parent POM.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Ensure app JAR build order

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove explicit Jackson from sdk-tests module.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Make sure <scope>test</scope> is used for test dependencies.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove extra Jackson modules.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
* Preview New README

* Preview New README 2

* Preview New README 3

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime (close #<915>)

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime CORRECTION (close #<915>)

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime (close #<915>)

* docs: add architecture diagram showing Java SDK interaction with Dapr runtime (close #<915>)

---------

Co-authored-by: Siri Varma Vegiraju <siri.varma@outlook.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
* Add statestore example with Outbox pattern

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Clean events after each test

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Add license header

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

* Apply pull request suggestions

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>

---------

Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Co-authored-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
* adding new method signature plus test

Signed-off-by: salaboy <Salaboy@gmail.com>

* re adding imports

Signed-off-by: salaboy <Salaboy@gmail.com>

* fixing style

Signed-off-by: salaboy <Salaboy@gmail.com>

* checking empty metadata

Signed-off-by: salaboy <Salaboy@gmail.com>

* copy meta for safety and check if key is present

Signed-off-by: salaboy <Salaboy@gmail.com>

* Centralize Maven dependency version management (dapr#1564)

Signed-off-by: salaboy <Salaboy@gmail.com>

* Fix dependencies multi app build and add proper test deps (dapr#1572)

* Force Jackson version to override the SB Jackson version

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Move all the Jackson deps to parent POM.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Ensure app JAR build order

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove explicit Jackson from sdk-tests module.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Make sure <scope>test</scope> is used for test dependencies.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove extra Jackson modules.

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>

* reverting pom

Signed-off-by: salaboy <Salaboy@gmail.com>

* fix codestyle

Signed-off-by: salaboy <Salaboy@gmail.com>

* using metaCopy

Signed-off-by: salaboy <Salaboy@gmail.com>

---------

Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
dependabot bot and others added 8 commits December 10, 2025 16:07
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
* Add gRPC support to Dapr testcontainer

Signed-off-by: wlfgang <wlfgang@westridgesystems.com>

* Avoid using null to indicate default value

Signed-off-by: wlfgang <wlfgang@westridgesystems.com>

---------

Signed-off-by: wlfgang <wlfgang@westridgesystems.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
Co-authored-by: wlfgang <wlfgang@westridgesystems.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
…apr#1589)

* example

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>

* docs for example

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>

---------

Signed-off-by: Cassandra Coyle <cassie@diagrid.io>
Signed-off-by: salaboy <Salaboy@gmail.com>
* Adding a Flux based subscribeToEvents method

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Simplify GRPC stream handling

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Simplify Javadoc

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Fix unit tests and simplify implementation

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Adding event subscriber stream observer to simplify subscription logic

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Use start() method to start stream subscription

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Add unit test for event suscriber observer

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Improve the tests a little bit

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Remove the unnecessary method

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Improve error handling and use CloudEvent wrapper

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Fix unit tests asserts

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

* Adjust Java examples for Subscriber

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>

---------

Signed-off-by: Artur Ciocanu <artur.ciocanu@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
* Remove SDK docs due to migration to main Docs repo

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

* Remove sed lines related to sdk docs

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

---------

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
Co-authored-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
Signed-off-by: salaboy <Salaboy@gmail.com>
@salaboy salaboy force-pushed the 1571-bring-dt-closer branch from 3cc538f to f22d0bd Compare December 10, 2025 15:12
Signed-off-by: salaboy <Salaboy@gmail.com>
@salaboy
Copy link
Collaborator Author

salaboy commented Dec 10, 2025

I believe we need to add to our release automation script if we proceed with this PR. Specifically we will need to add to the update_sdk_version.sh something like the following:

mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f durabletask-client/pom.xml

Also, could you verify if we need changes in the update_docs.sh script for this new module, as I believe we will need changes there.

I've clean up the script to be simpler to maintain, https://github.com/dapr/java-sdk/pull/1575/files#diff-e0e9e1d7c713596b37959c8e4a8f9f5540b77c1a741e31e8c24d5243f35f113d It was getting confusing and there is really no need to change that for child modules, now that we don't have any alpha modules in the SDK.

On the docs script, I don't think we need a change.

@salaboy
Copy link
Collaborator Author

salaboy commented Dec 10, 2025

@salaboy this PR LGTM. Should we exclude this module from the coverage ? Otherwise codecov will start failing for every PR.

Instaed of excluding this from codecov, what we should do is to set the current coverage number as the base for that moduel, and then improve from there. @siri-varma does tha make sense?

@salaboy salaboy requested a review from cicoyle December 10, 2025 15:20
@codecov
Copy link

codecov bot commented Dec 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.67%. Comparing base (d759c53) to head (767fdc9).
⚠️ Report is 241 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1575      +/-   ##
============================================
+ Coverage     76.91%   78.67%   +1.76%     
- Complexity     1592     1957     +365     
============================================
  Files           145      217      +72     
  Lines          4843     5970    +1127     
  Branches        562      661      +99     
============================================
+ Hits           3725     4697     +972     
- Misses          821      932     +111     
- Partials        297      341      +44     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@cicoyle cicoyle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Mauricio! mostly lgtm, question on an unrelated change I noticed (and commented about) and can you create the issue in the java sdk to add back in the test that was commented out, so we dont forget about it?

@salaboy
Copy link
Collaborator Author

salaboy commented Dec 12, 2025

@cicoyle issue created: #1604 notice that we don't need to bring back that test as it is, we need to migrated as explained in the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants