Skip to content

Class parameter in annotation detected as api-dependency #1533

@balrok

Description

@balrok

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions