Sommaire

सहायता दिखाएँ

./gradlew --help

JVM का सिस्टम प्रॉपर्टी सेट करें : `-D, --system-prop

./gradlew -Dmyprop=myvalue
#ou
./gradlew --system-prop myvalue

परियोजना की संपत्ति को बिल्ड स्क्रिप्ट के लिए परिभाषित करें : `-Pmyprop=myvalue

./gradlew -Pmyprop=myvalue
#ou
./gradlew --project-prop myvalue

Gradle की स्टार्टअप निर्देशिका निर्दिष्ट करता है। डिफ़ॉल्ट मान वर्तमान निर्देशिका है।

./gradlew -p ~/src/next_startup
#ou
./gradlew --project-dir ~/src/next_startup

कमांड लाइन से 'param_component' property को ओवरराइट करें :

./gradlew -Pparam_component=CUSTOM_VALUE

Kotlin DSL के साथ एक सामान्य प्रोज़क्ट में सोर्स-सेट में एक फ़ोल्डर जोड़ें

sourceSets {
    getByName("test"){
        java.srcDir("src/scripts/groovy")
    }
    getByName("test"){
        java.srcDir("src/scripts/kscript")
    }
    getByName("test"){
        java.srcDir("src/test/javascript")
    }
}

एंड्रॉइड प्रोजेक्ट में स्रोत सेट में ग्रोवी DSL के माध्यम से फ़ोल्डर जोड़ें

android {
    sourceSets {
        main.java.srcDirs += "src/main/../../../../ceelo/domain/src/main/java/"
        test.java.srcDirs += "src/test/../../../../ceelo/domain/src/test/java/"
    }
}

एक सब मॉड्यूल का निर्माण और परीक्षण करने से बचें

gradle build -x :excluded-module:check -x :excluded-module:assemble -x :excluded-module:build

फ़ाइलें ले जाना
tasks.register("moveWebappNode") {
    doLast {
        ant.withGroovyBuilder {
            "move"(
                "webapp/node_modules" to "$rootDir/webapp-src/node_modules",
            )
        }
    }
}

Tar एक फ़ोल्डर

tasks.register<Tar>("tarWebapp") {
    dependsOn("moveWebappNpm")
    group = WEBAPP
    description = "tar webapp"
    doLast {
        setOf(
            "build",
            "target",
            "node_modules"
        ).forEach { dir -> exclude { it.name .dir } }
        archiveFileName.set("webapp.tar")
        destinationDirectory.set(File("${rootDir.absolutePath}$sep$WEBAPP_SRC"))
    }
}

एक बिल्ड की निर्भरताएँ दिखाएँ

tasks.register("printDependencies") {
    description = "print project dependencies"
    group = WEBAPP
    doLast {
        println("${project.name} dependencies")
        mutableMapOf<String, Map<String, String>>(
            "buildDependencies" to buildDependencies,
            "domainDeps" to domainDeps,
            "domainTestDeps" to domainTestDeps,
        ).apply { putAll(appModules) }
            .forEach { module ->
                if (module.value.isNotEmpty()) {
                    println("${module.key}:")
                    module.value.forEach { println(dependency(it)) }
                    println()
                }
            }
    }
}

reduce का उपयोग करने का उदाहरण: सूची को स्ट्रिंग में संयोजन

tasks.register("printWebappSrc") {
    description = "print webapp sources"
    group = WEBAPP
    doLast {
        webAppSrc
            .reduce { acc, s -> "$acc\n\t$s" }
            .run { println("$WEBAPP_SRC: $this\n") }
    }
}

किसी विशेष कार्य का विवरण प्राप्त करें

./gradlew -q help --task foo

workingDir root से एक कार्य लॉन्च करने के लिए, फिर कार्य को : से प्रीफ़िक्स

./gradlew :foo

असफल कार्यों को पुनः चलाने के लिए, विकल्प --rerun-tasks का उपयोग करें

./gradlew check --rerun-tasks

दूसरे निर्देशिका से एक विशिष्ट प्रोजेक्ट में एक टास्क शुरू करें

विकल्प`-p` (ou --project-dir) एक Gradle प्रोजेक्ट तक पहुँचने का पथ निर्दिष्ट करने और उसे एक कार्य निष्पादित करने की अनुमति देता है, भले ही वर्तमान निर्देशिका अलग हो।

उदाहरण के लिए, कार्य शुरू करने के लिए`build`परियोजना स्थित में`~/projets/mon-autre-projet`होते हुए एक अन्य निर्देशिका में :

./gradlew -p ~/projets/mon-autre-projet build

यह कई परियोजनाओं में कार्यों को स्क्रिप्ट करने के लिए केंद्रीय स्थान से विशेष रूप से उपयोगी है।

भी देखें :

संबंधित लेख