Gradle Archive Tasks

From NovaOrdis Knowledge Base
Revision as of 23:58, 21 May 2018 by Ovidiu (talk | contribs) (→‎Jar)
Jump to navigation Jump to search

External

Internal

Overview

Zip

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Zip.html

Zip assembles a ZIP archive. The default is to compress the content of the ZIP.

task dist(type: Zip) {
    dependsOn spiJar
    from 'src/dist'
    into('libs') {
        from spiJar.archivePath
        from configurations.runtime
    }
}

Jar

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html

Jar assembles a JAR archive.

task srcJar(type: Jar) {
   from sourceSets.main.allJava
}

A task that is used in a publishing process and builds a Java sources JAR. It assumes that the sources from different sub-projects have been collected in root's ./build/api-sources by other tasks.

task apiSources(type: Jar) {

    baseName = 'blue-api'
    classifier = 'sources'
    destinationDir = buildDir
    from buildDir.path + "/api-sources"
}

A parent project task that collects in a JAR all sources from all sub-projects. Replace with something more concise, if I can figure out how.

task allSourcesFromAllSubprojects(type: Jar) {

    List<String> fromLocations = new ArrayList<>();
    subprojects { fromLocations.add(it.name + "/src/main/java") }
    from fromLocations.toArray()
}