commit | ecb3f62e055200092194fe9f27a68ea6b81227a5 | [log] [tgz] |
---|---|---|
author | Konrad Windszus <kwin@apache.org> | Fri Jun 03 18:49:57 2022 +0200 |
committer | Konrad Windszus <kwin@apache.org> | Fri Jun 03 18:49:57 2022 +0200 |
tree | 497a50c203742891d4b023486ec27d5477255547 | |
parent | 00ec51ce530ca1e3f30ff36bba175f259905c3c3 [diff] |
SLING-11369 Also check for direct provided dependencies Improve IT Tweak readme
This module is part of the Apache Sling project.
It provides additional Maven Enforcer rules.
Checks that the runtime classpath (e.g. used by Maven Plugins via the Plugin Classloader or by the Appassembler Maven Plugin's assemble
goal) contains all transitive provided dependencies.
As those are not transitively inherited they need to be declared explicitly in the pom.xml of the using Maven project.
excludes
- a list of dependencies to skip. Their transitive dependencies are not evaluated either. The format is groupId[:artifactId][:version][:type][:scope][:classifier]
where artifactId
, version
, type
, scope
and classifier
are optional. Wild cards (*
for arbitrarily many characters or ?
for an arbitrary single character) may be used to replace an entire or just parts of a section. Examples:org.apache.maven
(everything with the given group)org.apache.maven:myArtifact
org.apache.maven:*:1.2
(exclude version 1.2 and above, equivalent to [1.2,) )org.apache.maven:*:[1.2]
(explicit exclude of version 1.2)<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0</version> <dependencies> <dependency> <groupId>org.apache.sling</groupId> <artifactId>maven-enforcer-rules</artifactId> <version>LATEST</version> </dependency> </dependencies> <executions> <execution> <id>enforce-complete-runtime-classpath</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireTransitiveProvidedDependenciesInRuntimeClasspath implementation="org.apache.sling.maven.enforcer.RequireTransitiveProvidedDependenciesInRuntimeClasspath"> <excludes> <exclude>javax.servlet:javax.servlet-api</exclude> </excludes> </requireTransitiveProvidedDependenciesInRuntimeClasspath> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> </plugins> </build> [...] </project>