我从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/