Class AbstractNativeMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
    Direct Known Subclasses:
    AbstractNativeImageMojo, AddReachabilityMetadataMojo

    public abstract class AbstractNativeMojo
    extends org.apache.maven.plugin.AbstractMojo
    • Field Detail

      • plugin

        @Parameter(defaultValue="${plugin}",
                   readonly=true)
        protected org.apache.maven.plugin.descriptor.PluginDescriptor plugin
      • session

        @Parameter(defaultValue="${session}",
                   readonly=true)
        protected org.apache.maven.execution.MavenSession session
      • project

        @Parameter(defaultValue="${project}",
                   readonly=true,
                   required=true)
        protected org.apache.maven.project.MavenProject project
      • reachabilityMetadataOutputDirectory

        @Parameter(defaultValue="${project.build.directory}/graalvm-reachability-metadata",
                   required=true)
        protected java.io.File reachabilityMetadataOutputDirectory
      • metadataRepositoryMaxRetries

        @Parameter(defaultValue="3")
        protected int metadataRepositoryMaxRetries
      • metadataRepositoryInitialBackoffMillis

        @Parameter(defaultValue="100")
        protected int metadataRepositoryInitialBackoffMillis
      • metadataRepositoryConfigurations

        protected final java.util.Set<org.graalvm.reachability.DirectoryConfiguration> metadataRepositoryConfigurations
      • metadataRepository

        protected org.graalvm.reachability.GraalVMReachabilityMetadataRepository metadataRepository
      • logger

        @Component
        protected org.codehaus.plexus.logging.Logger logger
      • mavenSession

        @Component
        protected org.apache.maven.execution.MavenSession mavenSession
      • mavenProject

        @Component
        protected org.apache.maven.project.MavenProject mavenProject
      • pluginManager

        @Component
        protected org.apache.maven.plugin.BuildPluginManager pluginManager
      • repositorySystem

        @Component
        protected org.eclipse.aether.RepositorySystem repositorySystem
    • Constructor Detail

      • AbstractNativeMojo

        @Inject
        protected AbstractNativeMojo()
    • Method Detail

      • isMetadataRepositoryEnabled

        protected boolean isMetadataRepositoryEnabled()
      • configureMetadataRepository

        protected void configureMetadataRepository()
      • isArtifactExcludedFromMetadataRepository

        public boolean isArtifactExcludedFromMetadataRepository​(org.apache.maven.artifact.Artifact dependency)
      • maybeAddDependencyMetadata

        protected void maybeAddDependencyMetadata​(org.apache.maven.artifact.Artifact dependency,
                                                  java.util.function.Consumer<java.io.File> excludeAction)
      • getMetadataVersion

        protected java.util.Optional<java.lang.String> getMetadataVersion​(org.apache.maven.artifact.Artifact dependency)
      • downloadMetadata

        protected java.util.Optional<java.nio.file.Path> downloadMetadata​(java.net.URL url,
                                                                          java.nio.file.Path destination)
      • unzipLocalMetadata

        protected java.nio.file.Path unzipLocalMetadata​(java.nio.file.Path localPath,
                                                        java.nio.file.Path destination)