Declare jspecify as compileOnlyApi instead of api

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Won't Fix
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: Build
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      jspecify annotations are used only for static analysis (NullAway/IDE null-checking). They have no runtime behavior, so requiring them as a transitive runtime dependency is unnecessary.

      All three exported packages (cfg, cfg.spi, annotations) use @NullMarked in package-info.java, so consumers benefit from having jspecify on their compile classpath — but it should not be forced at runtime.

      Change the scope from api(libs.jspecify) to compileOnlyApi(libs.jspecify) in build.gradle.kts.

            Assignee:
            Unassigned
            Reporter:
            Jeffrey Yemin
            None
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: