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’কে ওভাররাইড করুন:

./gradlew -Pparam_component=CUSTOM_VALUE

একটি ফোল্ডারকে একটি সোর্স-সেটে যুক্ত করুন একটি স্বাভাবিক প্রকল্পে কোটলিন DSL ব্যবহার করে

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

একটি ফোল্ডারকে Android প্রকল্পের source-set‑এ Groovy 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",
            )
        }
    }
}

একটি ফাইল তাড়াও

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`অন্য একটি ডিরেক্টরilte থাকните:

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

এটি কেন্দ্রীয় অবস্থান থেকে একাধিক প্রকল্পের জন্য স্ক্রিপ্টিং অ্যাকশন তৈরি করার জন্য খুবই উপকারী।

Articles connexes