in src/main/java/org/apache/maven/shared/archiver/MavenArchiver.java [376:397]
private void handleExtraExpression(Dependency dependency, List<ValueSource> valueSources) {
valueSources.add(new PrefixedObjectValueSource(ARTIFACT_EXPRESSION_PREFIXES, dependency, true));
valueSources.add(new PrefixedObjectValueSource(ARTIFACT_EXPRESSION_PREFIXES, dependency.getType(), true));
Properties extraExpressions = new Properties();
// FIXME: This query method SHOULD NOT affect the internal
// state of the artifact version, but it does.
if (!dependency.isSnapshot()) {
extraExpressions.setProperty("baseVersion", dependency.getVersion().toString());
}
extraExpressions.setProperty("groupIdPath", dependency.getGroupId().replace('.', '/'));
String classifier = dependency.getClassifier();
if (classifier != null && !classifier.isEmpty()) {
extraExpressions.setProperty("dashClassifier", "-" + classifier);
extraExpressions.setProperty("dashClassifier?", "-" + classifier);
} else {
extraExpressions.setProperty("dashClassifier", "");
extraExpressions.setProperty("dashClassifier?", "");
}
valueSources.add(new PrefixedPropertiesValueSource(ARTIFACT_EXPRESSION_PREFIXES, extraExpressions, true));
}