autonomousapps/dependency-analysis-gradle-plugin

Class parameter in annotation detected as api-dependency

オープン

#1,533 opened on 2025/08/26

 (3 件のコメント) (1 件のリアクション) (0 人の担当者)Kotlin (154 件のフォーク)auto 404
bughelp wantedtoolchain:java

Repository metrics

Stars
 (2,172 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Plugin version: 3.0.1 Gradle version: 9.0.0 JDK version: 21 Describe the bug After issue #1210 I was under the impression, that following code would add module2 only as implementation dependency:

package com.example.demo;

import com.example.module2.Module2Config;
import org.springframework.context.annotation.Import;

@Import(Module2Config.class)
public class Module1Config {
}

But fails with:

./gradlew buildHealth
  Existing dependencies which should be modified to be as indicated:
    api project(':module2') (was implementation)

With reason:

./gradlew :module1:reason --id :module2
Source: main
------------
* Exposes 1 class: com.example.module2.Module2Config (implies api).

To Reproduce I have a small example project to reproduce it: repro-annotation.zip

Expected behavior It should only be an implementation-dependency.

コントリビューターガイド