temporalio / temporalio/sdk-java

Several workflowcheck improvement suggestions

Open
#2,770 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
433
Forks
249
Avg merge
5d 6h
Merged PRs (30d)
26

Description

Describe the solution you'd like

In addition to Gradle plugin (#2768) and Maven plugin (#2769), the workflowcheck static analyzer done in #2767 could use the following improvements:

  • Accept environment variables to point to config files
  • Accept environment variables to provide specific config properties
  • Accept Java system properties to point to config files
  • Accept Java system properties to provide specific config properties
  • Check lambda contents but avoid SideEffect
  • Module support
  • Kotlin tests/confirmation
  • Prevent field mutation in queries and update validators
  • Config prebuilding where you can give a set of packages and it will generate a .properties set of invalid methods
    and save from having to reread the class files of that package at runtime
    • Also consider shipping with prebuilt config for Java standard library through Java 21
  • Support SARIF output for better integration with tooling like GitHub actions
  • Change output to work with IntelliJ's console linking better (see
    this SO answer)
  • Support an HTML-formatted result with collapsible hierarchy
  • For very deep trees, support [...] by default to replace all but the two beginning and two end entries (with CLI
    option to show more)

These are combined into one issue by request, but any particular piece can be broken off and worked on independently.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the workflowcheck static analyzer described in #2767 and review the requested improvements to identify one independently scoped piece. Confirm the selected change's behavior and its integration with the relevant output or configuration path, such as CLI, IntelliJ console, GitHub Actions, or HTML results.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.