in src/main/java/org/apache/maven/archiver/MavenArchiver.java [380:401]
private void handleExtraExpression(Artifact artifact, List<ValueSource> valueSources) {
valueSources.add(new PrefixedObjectValueSource(ARTIFACT_EXPRESSION_PREFIXES, artifact, true));
valueSources.add(
new PrefixedObjectValueSource(ARTIFACT_EXPRESSION_PREFIXES, artifact.getArtifactHandler(), true));
Properties extraExpressions = new Properties();
// FIXME: This query method SHOULD NOT affect the internal
// state of the artifact version, but it does.
if (!artifact.isSnapshot()) {
extraExpressions.setProperty("baseVersion", artifact.getVersion());
}
extraExpressions.setProperty("groupIdPath", artifact.getGroupId().replace('.', '/'));
if (StringUtils.isNotEmpty(artifact.getClassifier())) {
extraExpressions.setProperty("dashClassifier", "-" + artifact.getClassifier());
extraExpressions.setProperty("dashClassifier?", "-" + artifact.getClassifier());
} else {
extraExpressions.setProperty("dashClassifier", "");
extraExpressions.setProperty("dashClassifier?", "");
}
valueSources.add(new PrefixedPropertiesValueSource(ARTIFACT_EXPRESSION_PREFIXES, extraExpressions, true));
}