Search in sources :

Example 1 with PublicationArtifact

use of org.gradle.api.publish.PublicationArtifact in project gradle by gradle.

the class Sign method sign.

/**
 * Configures the task to sign every artifact of the given publications
 *
 * @since 4.8
 */
public void sign(Publication... publications) {
    for (Publication publication : publications) {
        PublicationInternal<?> publicationInternal = (PublicationInternal<?>) publication;
        dependsOn((Callable<Set<? extends PublicationArtifact>>) () -> {
            return publicationInternal.getPublishableArtifacts().matching(this::isNoSignatureArtifact);
        });
        publicationInternal.allPublishableArtifacts(artifact -> {
            if (isNoSignatureArtifact(artifact)) {
                addSignature(new Signature(artifact, artifact::getFile, null, null, this, this));
            }
        });
        publicationInternal.whenPublishableArtifactRemoved(this::removeSignature);
    }
}
Also used : PublicationArtifact(org.gradle.api.publish.PublicationArtifact) PublicationInternal(org.gradle.api.publish.internal.PublicationInternal) DomainObjectSet(org.gradle.api.DomainObjectSet) Set(java.util.Set) Publication(org.gradle.api.publish.Publication)

Aggregations

Set (java.util.Set)1 DomainObjectSet (org.gradle.api.DomainObjectSet)1 Publication (org.gradle.api.publish.Publication)1 PublicationArtifact (org.gradle.api.publish.PublicationArtifact)1 PublicationInternal (org.gradle.api.publish.internal.PublicationInternal)1