Skip to content

Conversation

@alexandru
Copy link
Member

No description provided.

@alexandru alexandru requested a review from Copilot August 9, 2025 06:22
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR integrates ErrorProne static analysis with NullAway null safety checking into the Java build pipeline. The main purpose is to enhance code quality by catching null pointer issues at compile time.

Key changes include:

  • Configure ErrorProne plugin with NullAway checker in the build system
  • Migrate from @NullMarked annotations on individual classes to package-level null safety
  • Add explicit null checks using Objects.requireNonNull() where needed
  • Remove Lombok dependency in favor of manual implementations

Reviewed Changes

Copilot reviewed 41 out of 42 changed files in this pull request and generated 6 comments.

File Description
tasks-jvm/build.gradle.kts Adds ErrorProne plugin configuration with NullAway checker
tasks-jvm/src/main/java/org/funfix/tasks/jvm/package-info.java Introduces package-level @NullMarked annotation
Multiple test files Removes class-level @NullMarked annotations and adds explicit null checks
Multiple source files Removes @NullMarked annotations and replaces Lombok with manual implementations

alexandru and others added 4 commits August 9, 2025 09:26
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@alexandru alexandru merged commit ee9d77a into main Aug 9, 2025
1 of 2 checks passed
@alexandru alexandru deleted the error-prone-plugin branch August 9, 2025 06:31
alexandru added a commit that referenced this pull request Feb 1, 2026
* Update README

* Add Resource (#12)

* v0.1.0

* @nullable Executor

* v0.1.1

* Add errorprone plugin with NullAway to build (#13)

* v0.1.2

* Fix concurrency bug

* Trampoline#forkAll optimisation

* v0.1.3

* Remove Resource.Closeable

* v0.2.0

* Update Javadoc link

* Fix config

* v0.2.1

* Add more @Blocking annotations, improve tests

* Task#withOnComplete, Task#withCancellation (#14)

* v0.3.0

* Trigger build on tags

* Add Fiber#joinBlockingUninterruptible

* v0.3.1

* Initial plan

* Merge origin/main and restore build configuration

- Merged origin/main with Kotlin build configuration preserved
- Removed Scala module and updated settings.gradle.kts
- Updated build configuration to include errorprone plugin
- Added errorprone dependencies to buildSrc and libs.versions.toml
- Integrated latest tasks-jvm code from origin/main

Co-authored-by: alexandru <11753+alexandru@users.noreply.github.com>

* Fix cancellation handling in fromCancellableFuture

- Added CancellationException to the list of exceptions that trigger onCancellation
- Fixed order of cancellation: cancel CompletableFuture before calling custom cancellable
  to avoid race condition where future completes before being cancelled
- All tests now pass including gradle check

Co-authored-by: alexandru <11753+alexandru@users.noreply.github.com>

---------

Co-authored-by: Alexandru Nedelcu <noreply@alexn.org>
Co-authored-by: Alexandru Nedelcu <alexandru@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alexandru <11753+alexandru@users.noreply.github.com>
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.

2 participants