dzr*_*kot 6 gradle build.gradle
我创建了.jar文件并将其移至dir,但是我不明白以后如何更改该文件的权限。
task fatJar(type: Jar) {
manifest {
attributes 'Implementation-Title': 'Gradle Jar File Example',
'Implementation-Version': version,
'Main-Class':'com.asd.App',
'Class-Path': 'com.asd'
}
baseName = project.name + '-all'
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
def file = file('/home/master/project/asd')
fileMode = 755
destinationDir = file
with jar
}
Run Code Online (Sandbox Code Playgroud)
如果要将其嵌入到现有的自定义任务中,请使用can Project.exec(Action<? super ExecSpec> action)。
task changePermission {
doLast {
project.exec {
commandLine('chmod', '+x', '<fileLocation>')
}
}
}
Run Code Online (Sandbox Code Playgroud)
的project,因为它来自在大多数任务的实现提供AbstractTask.getProject()。
创建一个Exec任务来更改文件权限。将此添加到您的build.gradle文件中
task filepermission(type: Exec) {
commandLine 'chmod', '700', '<file_path>'
}
Run Code Online (Sandbox Code Playgroud)
使用一个doLast块运行它。您的决赛build.gradle将如下所示:
task filepermission(type: Exec) {
commandLine 'chmod', '700', '<file_path>'
}
task fatJar(type: Jar) {
manifest {
attributes 'Implementation-Title': 'Gradle Jar File Example',
'Implementation-Version': version,
'Main-Class':'com.asd.App',
'Class-Path': 'com.asd'
}
baseName = project.name + '-all'
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
def file = file('/home/master/project/asd')
fileMode = 755
destinationDir = file
with jar
doLast {
filepermission.execute()
}
}
Run Code Online (Sandbox Code Playgroud)
现在运行gradle fatJar应更改文件许可权。确保在filePermission任务中设置正确的路径
上面的大多数解决方案都是不必要的复杂。发布此信息,以便我下次查找时可以找到它:
distributions {
main {
contents {
from fileTree('src/main/scripts'), {
filesMatching('myscript') { mode = 0744 }
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10240 次 |
| 最近记录: |