Class DefaultVersionFilterBuilder
- java.lang.Object
-
- org.eclipse.aether.internal.impl.collect.DefaultVersionFilterBuilder
-
- All Implemented Interfaces:
org.eclipse.aether.collection.VersionFilterBuilder
@Singleton @Named public class DefaultVersionFilterBuilder extends java.lang.Object implements org.eclipse.aether.collection.VersionFilterBuilder
BuildsVersionFilterinstances out of input expression string. Expression is a semicolon separated list of filters to apply. By default, no version filter is applied (like in Maven 3).
Supported filters:"s"- contextual snapshot filter (project version decides are snapshots allowed or not)"nosnapshot"- unconditional snapshot filter (no snapshot versions selected from ranges)"norelease"- unconditional release filter (no release versions selected from ranges)"nopreview"- unconditional preview filter (no preview versions selected from ranges)"noprerelease"- unconditional pre-release filter (no preview and rc/cr versions selected from ranges)"noqualifier"- unconditional any-qualifier filter (no version with any qualifier selected from ranges)"h"(shorthand ofh(1)) or"h(num)"- highest N version (based on version ordering)"l"(shorthand ofl(1)) or"l(num)"- lowest N version (based on version ordering)"e(V)"- exclusion filter (excludes versions matching V version constraint)"i(V)"- inclusion filter (includes versions matching V version constraint)
@G[:A]. Presence of "scope" narrows the application of filter to given G or G:A.In case of multiple "similar" rule scopes, user should enlist rules from "most specific" to "least specific".
Example filter expression:
"h(5);s;e(1)@org.foo:barwill cause:- ranges are filtered for "top 5" (instead of full range)
- snapshots are banned if root project is not a snapshot
- if range for
org.foo:baris being processed, version 1 is omitted
org.eclipse.aether.collection.VersionFilterinstance.- Since:
- 2.0.18
-
-
Constructor Summary
Constructors Constructor Description DefaultVersionFilterBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<org.eclipse.aether.collection.VersionFilter>buildVersionFilter(java.lang.String filterExpression, java.util.function.Function<java.lang.String,org.eclipse.aether.version.VersionConstraint> versionConstraintParser)Builds a version filter based on the given filter expression.
-
-
-
Constructor Detail
-
DefaultVersionFilterBuilder
public DefaultVersionFilterBuilder()
-
-
Method Detail
-
buildVersionFilter
public java.util.Optional<org.eclipse.aether.collection.VersionFilter> buildVersionFilter(java.lang.String filterExpression, java.util.function.Function<java.lang.String,org.eclipse.aether.version.VersionConstraint> versionConstraintParser)
Builds a version filter based on the given filter expression.- Specified by:
buildVersionFilterin interfaceorg.eclipse.aether.collection.VersionFilterBuilder- Parameters:
filterExpression- a string containing filter expressions, may benull.versionConstraintParser- version constraint parts to be used during parsing, must not benull.- Returns:
- optional version filter, never
null.
-
-