相关疑难解决方法(0)

Gradle任务不应自动执行

我在gradle中定义一个任务:

task releaseCandidate(type: Exec) {
    commandLine 'git', 'checkout', 'develop'

    // Increment version code in Manifest
    String manifest = new File('AndroidManifest.xml').getText('UTF-8')
    Pattern pattern = Pattern.compile('android:versionCode="([0-9]+)"')
    Matcher matcher = pattern.matcher(manifest)
    matcher.find()
    int newVersionCode = Integer.parseInt(matcher.group(1)) + 1
    manifest = manifest.replaceAll(
        "android:versionCode=\"([0-9]+)\"", "android:versionCode=\"$newVersionCode\""
    )
    new File('AndroidManifest.xml').write(manifest, 'UTF-8')

    commandLine 'git', 'diff'
}
Run Code Online (Sandbox Code Playgroud)

只有当我明确地将其称为时,我才想执行它gradle releaseCandidate.但是,当我运行任何其他任务时,例如gradle assembleDebug,它还会运行任务releaseCandidate.我不希望这种行为发生.没有任务取决于releaseCandidate,反之亦然.

我的项目是一个Android应用程序,所以我使用的是androidgradle插件.

gradle android-gradle-plugin

26
推荐指数
2
解决办法
1万
查看次数

Gradle总是从任何任务中打印出来

我有简单build.gradle(或任何build.gradle有任务println)

println GradleVersion.current().prettyPrint()

task task1{
    println 'task1 starting'
}
Run Code Online (Sandbox Code Playgroud)

现在,当我运行时,$ gradle build我总是看到执行任务或打印输出

task1 starting
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build

BUILD SUCCESSFUL

Total time: 1.291 secs
Run Code Online (Sandbox Code Playgroud)

为什么始终从println内部任务输出?

java gradle println

7
推荐指数
2
解决办法
4875
查看次数

标签 统计

gradle ×2

android-gradle-plugin ×1

java ×1

println ×1