我开始使用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
}
答案 0 :(得分:1)
不同的任务被标记为最新,因为没有任何东西可以复制。使用-i
运行构建将为您提供有关将任务标记为最新的进一步信息。
将这些任务标记为最新的问题是您在声明任务时使用<<
。这意味着您要添加任务操作而不是配置任务。摆脱构建脚本中的<<
,然后重试。