gradle - 无法清理Gradle项目

标签 gradle

我从Gradle开始。我已经编写了构建脚本,但是现在Gradle声称它始终是UP-TO-DATE,但是我手动删除了输出文件夹,因此它不再是最新的。我尝试使用“--rerun-tasks”,“clean”或“cleanSomeTask”,但它总是说UP-TO-DATE。

我还尝试删除了在项目文件夹中创建的.gradle目录,但仍然相同。还有什么我可以尝试的吗?

我的构建文件有一个自定义名称,因此我总是指定'-b'选项来指向该文件,我不知道这是否重要。

这是我的构建文件(modbus-script.gradle):

import java.text.SimpleDateFormat

defaultTasks 'packageAll'

apply plugin: 'base'
apply plugin: 'java'

def buildFolderName = 'target/modbus'
def buildFolder = new File( buildFolderName )
def buildFolderZipSource = "${buildFolderName}/zip-source"
def scriptSrcLocation = 'src/main/script/com/company/script/groovy/modbus'
def scriptSrcName = 'Modbus.groovy'

repositories {
    mavenCentral()
    maven {
        url 'http://nexus:8081/nexus/content/groups/public'
    }
}

dependencies {
    compile group: 'net.wimpi', name: 'jamod', version: '1.2.3'
    compile group: 'org.rxtx', name:'rxtx', version: '2.1.7'
}

def buildTime() {
    def df = new SimpleDateFormat("yyyyMMdd'T'HHmm")
    df.setTimeZone(TimeZone.getTimeZone("UTC"))
    return df.format(new Date())
}

task prepare {
    println "Preparing..."
    buildFolder.mkdirs()

}

task copyGroovyScript(dependsOn: prepare, type: Copy) << {
    from "${scriptSrcLocation}/${scriptSrcName}"
    into buildFolderZipSource
}

task copyDependencies(dependsOn: copyGroovyScript, type: Copy) << {
     from sourceSets.main.compileClasspath
     into "${buildFolderZipSource}/groovy-plugin-lib"
}

task packageAll(dependsOn: copyDependencies, type:Zip) << {
    archiveName "modbus-${buildTime()}.zip"
    destinationDir buildFolder
    from buildFolder
}

最佳答案

不同的任务被标记为最新,因为gradle的东西没有什么可复制的。使用-i运行构建将为您提供更多信息,说明为什么将任务标记为最新。

这些任务为何被标记为最新的问题是您在声明任务时使用<<。这意味着您要添加任务操作而不是配置任务。删除构建脚本中的<<,然后重试。

关于gradle - 无法清理Gradle项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29140641/

相关文章:

java - 无法加载类 'com.intellij.util.Consumer'

android - Gradle android:我应该在哪里放置自定义任务?

android - 如何发布多种版本的Android应用程序?

maven - 使用Gradle保存所有反射元数据

android studio 实验性 ndk c 库

android - 如何显示插件添加的依赖项的版本?

dependencies - Gradle 项目取决于兄弟项目创建的工件

android - Gradle - 相当于 android 的 test {} 配置 block

java - 建立Gradle本地依赖性

gradle - 如何从 Gradle 中的 Kotlin 获取 Groovy DSL 提供的值