Class JvmPluginResolver
java.lang.Object
io.github.ascopes.protobufmavenplugin.plugins.JvmPluginResolver
Component that takes a reference to a pure-Java
protoc
plugin and wraps it in a shell
script or batch file to invoke it as if it were a single executable binary.
The aim is to support enabling protoc to invoke executables without creating native binaries first, which is error-prone and increases the complexity of this Maven plugin significantly.
This implementation is a rewrite as of v2.6.0 that now uses Java argument files to deal with argument quoting in a platform-agnostic way, since the specification for batch files is very poorly documented and full of edge cases that could cause builds to fail.
- Since:
- 2.6.0
- Author:
- Ashley Scopes
-
Constructor Summary
ConstructorDescriptionJvmPluginResolver
(HostSystem hostSystem, MavenArtifactPathResolver artifactPathResolver, TemporarySpace temporarySpace, SystemPathBinaryResolver pathResolver) -
Method Summary
Modifier and TypeMethodDescriptionCollection
<? extends ResolvedProtocPlugin> resolveMavenPlugins
(Collection<? extends MavenProtocPlugin> pluginDescriptors)
-
Constructor Details
-
JvmPluginResolver
@Inject public JvmPluginResolver(HostSystem hostSystem, MavenArtifactPathResolver artifactPathResolver, TemporarySpace temporarySpace, SystemPathBinaryResolver pathResolver)
-
-
Method Details
-
resolveMavenPlugins
public Collection<? extends ResolvedProtocPlugin> resolveMavenPlugins(Collection<? extends MavenProtocPlugin> pluginDescriptors) throws ResolutionException - Throws:
ResolutionException
-