Thorsten Glaser created MDEP-947:
------------------------------------

             Summary: optionally import listed “dependency packages” for 
analyse-only
                 Key: MDEP-947
                 URL: https://issues.apache.org/jira/browse/MDEP-947
             Project: Maven Dependency Plugin
          Issue Type: New Feature
            Reporter: Thorsten Glaser


I’m working through the Spring Boot tutorial, and it uses packages like 
org.springframework.boot:spring-boot-starter-web that contain empty JARs but a 
lot of dependencies.

Instead of doing…
{code:java}
                                                <configuration>
                                                        
<ignoredUnusedDeclaredDependencies>
                                                                <!-- importers 
in Spring Boot -->
                                                                
<ignoredUnusedDeclaredDependency>org.springframework.boot:spring-boot-starter-test</ignoredUnusedDeclaredDependency>
                                                                
<ignoredUnusedDeclaredDependency>org.springframework.boot:spring-boot-starter-web</ignoredUnusedDeclaredDependency>
                                                        
</ignoredUnusedDeclaredDependencies>
                                                        
<ignoredUsedUndeclaredDependencies>
                                                                <!-- imported 
by Spring Boot -->
                                                                
<ignoredUsedUndeclaredDependency>org.springframework:spring-context</ignoredUsedUndeclaredDependency>
                                                                
<ignoredUsedUndeclaredDependency>org.springframework.boot:spring-boot-test</ignoredUsedUndeclaredDependency>
                                                                
<ignoredUsedUndeclaredDependency>org.springframework:spring-web</ignoredUsedUndeclaredDependency>
                                                                
<ignoredUsedUndeclaredDependency>org.springframework.boot:spring-boot</ignoredUsedUndeclaredDependency>
                                                                
<ignoredUsedUndeclaredDependency>org.junit.jupiter:junit-jupiter-api</ignoredUsedUndeclaredDependency>
                                                                
<ignoredUsedUndeclaredDependency>org.springframework.boot:spring-boot-autoconfigure</ignoredUsedUndeclaredDependency>
                                                        
</ignoredUsedUndeclaredDependencies>
                                                </configuration>
{code}
… or replacing them by the depended-on packages, for convenience (when the user 
does want to allow relaxing the dependency rules for this), there could be 
something like…
{code:java}
<configuration>
  <importDependencyPackages>
    
<importDependencyPackage>org.springframework.boot:spring-boot-starter-web</importDependencyPackage>
[…]
{code}
… with which I’d whitelist one or more specific dependencies I have for “ignore 
if this one is unused” and “ignore if any of *its* dependencies are used but 
undeclared” (but no warning if (also explicitly) declared).

Does this make sense?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to