Package kr.motd.maven.os
Class DetectExtension
- java.lang.Object
-
- org.apache.maven.AbstractMavenLifecycleParticipant
-
- kr.motd.maven.os.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
- normalizedos.name
(e.g.linux
,osx
)os.detected.arch
- normalizedos.arch
(e.g.x86_64
,x86_32
)os.detected.version
-os.detected.version.major
.os.detected.version.minor
os.detected.version.major
- major part ofos.version
(integer value)os.detected.version.minor
- minor part ofos.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 correspondingos.detected.release.like.{variant}
property exists will be appended to the classifier (e.g. building on ubuntu withos.detection.classifierWithLikes = "debian,rhel"
would result inos.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}.
-
-
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 theDetectMojo.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)
-
-
-
Field Detail
-
logger
private final org.codehaus.plexus.logging.Logger logger
-
detector
private final Detector detector
-
-
Method Detail
-
afterProjectsRead
public void afterProjectsRead(org.apache.maven.execution.MavenSession session) throws org.apache.maven.MavenExecutionException
- Overrides:
afterProjectsRead
in classorg.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 theDetectMojo.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)
-
-