private void handleExtraExpression()

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));
    }