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 Object
implements org.eclipse.aether.collection.VersionFilterBuilder
Builds
Supported filters:
VersionFilter instances 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:bar will 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.VersionFilter instance.- Since:
- 2.0.18
-
Field Summary
Fields inherited from interface org.eclipse.aether.collection.VersionFilterBuilder
VERSION_FILTER_SUPPRESSED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionOptional<org.eclipse.aether.collection.VersionFilter> buildVersionFilter(String filterExpression, Function<String, org.eclipse.aether.version.VersionConstraint> versionConstraintParser) Builds a version filter based on the given filter expression.
-
Constructor Details
-
DefaultVersionFilterBuilder
public DefaultVersionFilterBuilder()
-
-
Method Details
-
buildVersionFilter
public Optional<org.eclipse.aether.collection.VersionFilter> buildVersionFilter(String filterExpression, Function<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.
-