in src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java [195:224]
public void addArtifact(@Nullable String runMode, @NotNull Artifact artifact, @Nullable Integer startOrder) {
requireNonNull(artifact, "Null artifact can not be attached to a feature.");
Feature feature = getRunMode(runMode);
Artifacts artifacts;
if (ZIP_TYPE.equals(artifact.getId().getType())) {
Extensions extensions = feature.getExtensions();
Extension extension = extensions.getByName(CONTENT_PACKAGES);
if (extension == null) {
extension = new Extension(ExtensionType.ARTIFACTS, CONTENT_PACKAGES, ExtensionState.REQUIRED);
extensions.add(extension);
}
artifacts = extension.getArtifacts();
} else {
// set start order
final int startOrderForBundle = startOrder != null ? startOrder : bundlesStartOrder;
artifact.setStartOrder(startOrderForBundle);
// set origins
if (!this.packageIds.isEmpty()) {
artifact.getMetadata().put(BUNDLE_ORIGINS, String.join("|", this.packageIds));
}
artifacts = feature.getBundles();
}
artifacts.add(artifact);
}