Class DetectExtension


  • @Component(role=org.apache.maven.AbstractMavenLifecycleParticipant.class,
               hint="detect-os")
    public class DetectExtension
    extends org.apache.maven.AbstractMavenLifecycleParticipant
    Detects the current operating system and architecture, normalizes them, and sets them to various project properties.
    • os.detected.name - normalized os.name (e.g. linux, osx)
    • os.detected.arch - normalized os.arch (e.g. x86_64, x86_32)
    • os.detected.version - os.detected.version.major.os.detected.version.minor
    • os.detected.version.major - major part of os.version (integer value)
    • os.detected.version.minor - minor part of os.version (integer value)
    • os.detected.classifier - a shortcut for 'os.detectedName'.'os.detectedArch' (e.g. linux-x86_64). If the property ${os.detection.classifierWithLikes} is set, the first value for which a corresponding os.detected.release.like.{variant} property exists will be appended to the classifier (e.g. building on ubuntu with os.detection.classifierWithLikes = "debian,rhel" would result in os.detected.classifier = "linux-x86_64-debian").
    • os.detected.release - provides the ID for the linux release (if available).
    • os.detected.release.version - provides version ID for this linux release. Only available if ${os.detected.release} is also available.
    • os.detected.release.like.{variant} - Identifies a linux release that this release is "like" (for example, ubuntu is "like" debian). Only available if ${os.detected.release} is also available. An entry will always be made for os.detected.release.like.${os.detected.release}.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Detector detector  
      private org.codehaus.plexus.logging.Logger logger  
    • Constructor Summary

      Constructors 
      Constructor Description
      DetectExtension​(org.codehaus.plexus.logging.Logger logger)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterProjectsRead​(org.apache.maven.execution.MavenSession session)  
      private static java.util.List<java.lang.String> getClassifierWithLikes​(org.apache.maven.execution.MavenSession session)
      Inspects the session's user and project properties for the DetectMojo.CLASSIFIER_WITH_LIKES_PROPERTY and separates the property into a list.
      private void injectSession​(org.apache.maven.execution.MavenSession session, java.util.Map<java.lang.String,​java.lang.String> dict)  
      private static void interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict, java.lang.Iterable<org.apache.maven.model.Dependency> dependencies)  
      private static java.lang.String interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict, java.lang.String value)  
      private static void interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict, org.apache.maven.model.ModelBase model)  
      private static void interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict, org.apache.maven.project.MavenProject p)  
      • Methods inherited from class org.apache.maven.AbstractMavenLifecycleParticipant

        afterSessionEnd, afterSessionStart
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        private final org.codehaus.plexus.logging.Logger logger
      • detector

        private final Detector detector
    • Constructor Detail

      • DetectExtension

        @Inject
        public DetectExtension​(org.codehaus.plexus.logging.Logger logger)
    • Method Detail

      • afterProjectsRead

        public void afterProjectsRead​(org.apache.maven.execution.MavenSession session)
                               throws org.apache.maven.MavenExecutionException
        Overrides:
        afterProjectsRead in class org.apache.maven.AbstractMavenLifecycleParticipant
        Throws:
        org.apache.maven.MavenExecutionException
      • getClassifierWithLikes

        private static java.util.List<java.lang.String> getClassifierWithLikes​(org.apache.maven.execution.MavenSession session)
        Inspects the session's user and project properties for the DetectMojo.CLASSIFIER_WITH_LIKES_PROPERTY and separates the property into a list.
      • injectSession

        private void injectSession​(org.apache.maven.execution.MavenSession session,
                                   java.util.Map<java.lang.String,​java.lang.String> dict)
      • interpolate

        private static void interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict,
                                        org.apache.maven.project.MavenProject p)
      • interpolate

        private static void interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict,
                                        org.apache.maven.model.ModelBase model)
      • interpolate

        private static void interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict,
                                        java.lang.Iterable<org.apache.maven.model.Dependency> dependencies)
      • interpolate

        @Nullable
        private static java.lang.String interpolate​(java.util.Map<java.lang.String,​java.lang.String> dict,
                                                    java.lang.String value)