Class DetectMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
kr.motd.maven.os.DetectMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="detect", defaultPhase=VALIDATE, threadSafe=true) public class DetectMojo extends org.apache.maven.plugin.AbstractMojo
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.bitness - bitness from wither sun.arch.data.model or com.ibm.vm.bitmode or os.arch (e.g. 64, 32)
  • 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 Details

    • CLASSIFIER_WITH_LIKES_PROPERTY

      static final String CLASSIFIER_WITH_LIKES_PROPERTY
      See Also:
    • project

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

      @Parameter(property="os.detection.classifierWithLikes", defaultValue="${os.detection.classifierWithLikes}") private String classifierWithLikes
    • detector

      private final Detector detector
  • Constructor Details

    • DetectMojo

      public DetectMojo()
  • Method Details

    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • getClassifierWithLikes

      public static List<String> getClassifierWithLikes(@Nullable String propertyValue)
      Takes a comma-separated value of os "likes" to be included in the generated classifier and returns them as a list.
      Parameters:
      propertyValue - the value of the CLASSIFIER_WITH_LIKES_PROPERTY property.
      Returns:
      the value as a list of entries.