public void addArtifact()

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