Class BinaryPluginResolver
java.lang.Object
io.github.ascopes.protobufmavenplugin.plugins.BinaryPluginResolver
@Description("Resolves native binary protoc plugins from various remote and local locations")
@Named
final class BinaryPluginResolver
extends Object
Protoc plugin resolver that resolves executable platform binaries.
- Author:
- Ashley Scopes
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interface
BinaryPluginResolver.Resolver<P extends ProtocPlugin>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final MavenArtifactPathResolver
private static final org.slf4j.Logger
private final PlatformClassifierFactory
private final SystemPathBinaryResolver
private final UrlResourceFetcher
-
Constructor Summary
ConstructorsConstructorDescriptionBinaryPluginResolver
(MavenArtifactPathResolver artifactPathResolver, PlatformClassifierFactory platformClassifierFactory, SystemPathBinaryResolver systemPathResolver, UrlResourceFetcher urlResourceFetcher) -
Method Summary
Modifier and TypeMethodDescriptionprivate ResolvedProtocPlugin
createResolvedProtocPlugin
(ProtocPlugin plugin, Path path) private void
makeExecutable
(Path path) private <P extends ProtocPlugin>
Collection<ResolvedProtocPlugin> resolveAll
(Collection<? extends P> plugins, BinaryPluginResolver.Resolver<? super P> resolver) private Optional
<ResolvedProtocPlugin> resolveMavenPlugin
(MavenProtocPlugin plugin) (package private) Collection
<? extends ResolvedProtocPlugin> resolveMavenPlugins
(Collection<? extends MavenProtocPlugin> plugins) private Optional
<ResolvedProtocPlugin> resolvePathPlugin
(PathProtocPlugin plugin) (package private) Collection
<? extends ResolvedProtocPlugin> resolvePathPlugins
(Collection<? extends PathProtocPlugin> plugins) private Optional
<ResolvedProtocPlugin> resolveUrlPlugin
(UrlProtocPlugin plugin) (package private) Collection
<? extends ResolvedProtocPlugin> resolveUrlPlugins
(Collection<? extends UrlProtocPlugin> plugins) private Runnable
skipUnresolvedPlugin
(ProtocPlugin plugin)
-
Field Details
-
log
private static final org.slf4j.Logger log -
artifactPathResolver
-
platformClassifierFactory
-
systemPathResolver
-
urlResourceFetcher
-
-
Constructor Details
-
BinaryPluginResolver
@Inject BinaryPluginResolver(MavenArtifactPathResolver artifactPathResolver, PlatformClassifierFactory platformClassifierFactory, SystemPathBinaryResolver systemPathResolver, UrlResourceFetcher urlResourceFetcher)
-
-
Method Details
-
resolveMavenPlugins
Collection<? extends ResolvedProtocPlugin> resolveMavenPlugins(Collection<? extends MavenProtocPlugin> plugins) throws ResolutionException - Throws:
ResolutionException
-
resolvePathPlugins
Collection<? extends ResolvedProtocPlugin> resolvePathPlugins(Collection<? extends PathProtocPlugin> plugins) throws ResolutionException - Throws:
ResolutionException
-
resolveUrlPlugins
Collection<? extends ResolvedProtocPlugin> resolveUrlPlugins(Collection<? extends UrlProtocPlugin> plugins) throws ResolutionException - Throws:
ResolutionException
-
resolveMavenPlugin
private Optional<ResolvedProtocPlugin> resolveMavenPlugin(MavenProtocPlugin plugin) throws ResolutionException - Throws:
ResolutionException
-
resolvePathPlugin
private Optional<ResolvedProtocPlugin> resolvePathPlugin(PathProtocPlugin plugin) throws ResolutionException - Throws:
ResolutionException
-
resolveUrlPlugin
private Optional<ResolvedProtocPlugin> resolveUrlPlugin(UrlProtocPlugin plugin) throws ResolutionException - Throws:
ResolutionException
-
createResolvedProtocPlugin
-
resolveAll
private <P extends ProtocPlugin> Collection<ResolvedProtocPlugin> resolveAll(Collection<? extends P> plugins, BinaryPluginResolver.Resolver<? super P> resolver) throws ResolutionException - Throws:
ResolutionException
-
skipUnresolvedPlugin
-
makeExecutable
- Throws:
ResolutionException
-