Class ProtocPluginAssembler


  • public class ProtocPluginAssembler
    extends java.lang.Object
    Creates an executable protoc plugin (written in Java) from a ProtocPlugin specification.
    Since:
    0.3.0
    • Constructor Summary

      Constructors 
      Constructor Description
      ProtocPluginAssembler​(ProtocPlugin pluginDefinition, org.apache.maven.execution.MavenSession session, org.apache.maven.artifact.Artifact rootResolutionArtifact, org.apache.maven.artifact.factory.ArtifactFactory artifactFactory, org.apache.maven.repository.RepositorySystem repositorySystem, org.apache.maven.artifact.resolver.ResolutionErrorHandler resolutionErrorHandler, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories, java.io.File pluginDirectory, org.apache.maven.plugin.logging.Log log)  
    • Field Detail

      • pluginDefinition

        private final ProtocPlugin pluginDefinition
      • session

        private final org.apache.maven.execution.MavenSession session
      • rootResolutionArtifact

        private final org.apache.maven.artifact.Artifact rootResolutionArtifact
      • artifactFactory

        private final org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
      • repositorySystem

        private final org.apache.maven.repository.RepositorySystem repositorySystem
      • resolutionErrorHandler

        private final org.apache.maven.artifact.resolver.ResolutionErrorHandler resolutionErrorHandler
      • localRepository

        private final org.apache.maven.artifact.repository.ArtifactRepository localRepository
      • remoteRepositories

        private final java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories
      • pluginDirectory

        private final java.io.File pluginDirectory
      • resolvedJars

        private final java.util.List<java.io.File> resolvedJars
      • pluginExecutableFile

        private final java.io.File pluginExecutableFile
      • log

        private final org.apache.maven.plugin.logging.Log log
    • Constructor Detail

      • ProtocPluginAssembler

        public ProtocPluginAssembler​(ProtocPlugin pluginDefinition,
                                     org.apache.maven.execution.MavenSession session,
                                     org.apache.maven.artifact.Artifact rootResolutionArtifact,
                                     org.apache.maven.artifact.factory.ArtifactFactory artifactFactory,
                                     org.apache.maven.repository.RepositorySystem repositorySystem,
                                     org.apache.maven.artifact.resolver.ResolutionErrorHandler resolutionErrorHandler,
                                     org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                     java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories,
                                     java.io.File pluginDirectory,
                                     org.apache.maven.plugin.logging.Log log)
    • Method Detail

      • execute

        public void execute()
        Resolves the plugin's dependencies to the local Maven repository and builds the plugin executable.
      • buildWindowsPlugin

        private void buildWindowsPlugin()
      • findJvmLocation

        private static java.io.File findJvmLocation​(java.io.File javaHome,
                                                    java.lang.String... paths)
      • copyWinRun4JExecutable

        private void copyWinRun4JExecutable()
      • buildUnixPlugin

        private void buildUnixPlugin()
      • createPluginDirectory

        private void createPluginDirectory()
      • resolvePluginDependencies

        private void resolvePluginDependencies()
      • getWinrun4jExecutablePath

        private java.lang.String getWinrun4jExecutablePath()