Ответ 1
Использование into '/'
похоже на трюк:
contents {
from {
'src/main/groovy'
}
into '/'
}
Я создал простую конструкцию Gradle, которая экспортирует содержимое. /src/main/ groovy в zip файл. Zip файл содержит папку с тем же именем, что и zip файл. Я не могу понять, как получить файлы в корень zip файла, используя плагин распространения.
то есть. gradlew clean distZip
производит:
helloDistribution-1.0.zip → helloDistribution-1.0 → files
что бы я хотел:
helloDistribution-1.0.zip → файлы
Мой файл build.gradle:
apply plugin: 'groovy'
apply plugin: 'distribution'
version = '1.0'
distributions {
main {
contents {
from {
'src/main/groovy'
}
}
}
}
Я попытался исправить проблему, добавив into { 'dir' }
, но безрезультатно.
Использование into '/'
похоже на трюк:
contents {
from {
'src/main/groovy'
}
into '/'
}
К сожалению, ответ penfold не работал у меня. Вот решение, которое я придумал:
task Package(type: Zip) {
from {
def rootScriptFiles = [] // collection of script files at the root of the src folder
new File('src/main/groovy/').eachFile { if (it.name.endsWith('.groovy')) rootScriptFiles.add(it) }
['build/libs/', // build binaries
'src/res/', // resources
rootScriptFiles, // groovy root source files
]
}
baseName = pluginName
}