in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/GenerateMetadataMojo.java [941:1011]
Properties computeProperties(String dependenciesString, String dependenciesLocations) {
final Properties props = new Properties();
// find the description of the content package (bug #30546)
// this is allowed to be overwritten by the properties map (GRANITE-1527)
String description = project.getDescription();
if (description == null) {
description = project.getName();
if (description == null) {
description = project.getArtifactId();
}
}
props.put(PackageProperties.NAME_DESCRIPTION, description);
// add all user defined properties
// before the rest of the properties to prevent user
// overwriting of predefined properties
// (see JavaDoc of properties field for list)
// but make sure, that we don't have null values in there
for (Object o : properties.keySet()) {
if (properties.get(o) == null) {
properties.put(o, "");
}
}
props.putAll(properties);
// package descriptor properties
props.put(PackageProperties.NAME_GROUP, group);
props.put(PackageProperties.NAME_NAME, name);
props.put(PackageProperties.NAME_VERSION, version);
// maven artifact identification
props.put("groupId", project.getGroupId());
props.put("artifactId", project.getArtifactId());
// dependencies
if (dependenciesString != null && dependenciesString.length() > 0) {
props.put(PackageProperties.NAME_DEPENDENCIES, dependenciesString);
if (dependenciesLocations != null && dependenciesLocations.length() > 0) {
props.put(PackageProperties.NAME_DEPENDENCIES_LOCATIONS, dependenciesLocations);
}
}
MavenArchiver archiver = new MavenArchiver();
Date createdDate = null;
if (!ArtifactUtils.isSnapshot(version)) {
createdDate = archiver.parseOutputTimestamp(outputTimestamp);
} else {
getLog().debug("Disabling reproducible builds as the version is a SNAPSHOT, therefore a dynamic created date is used");
}
if (createdDate == null) {
createdDate = new Date();
}
props.put(PackageProperties.NAME_CREATED, iso8601DateFormat.format(createdDate));
// configurable properties
props.put(PackageProperties.NAME_REQUIRES_ROOT, String.valueOf(requiresRoot));
props.put(PackageProperties.NAME_ALLOW_INDEX_DEFINITIONS, String.valueOf(allowIndexDefinitions));
props.put(PackageProperties.NAME_PACKAGE_TYPE, packageType.name().toLowerCase());
if (accessControlHandling != null) {
props.put(PackageProperties.NAME_AC_HANDLING, accessControlHandling.name().toLowerCase());
}
if (!subPackageHandlingEntries.isEmpty()) {
SubPackageHandling subPackageHandling = new org.apache.jackrabbit.vault.packaging.SubPackageHandling();
subPackageHandlingEntries.stream().map(SubPackageHandlingEntry::toEntry).forEach(e -> subPackageHandling.getEntries().add(e));
props.put(PackageProperties.NAME_SUB_PACKAGE_HANDLING, subPackageHandling.getString());
}
return props;
}