无法清理gradle项目

时间:2015-03-19 09:12:53

标签: 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
}

1 个答案:

答案 0 :(得分:1)

不同的任务被标记为最新,因为没有任何东西可以复制。使用-i运行构建将为您提供有关将任务标记为最新的进一步信息。

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