private void handleExtraExpression()

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