하나의 프로젝트에서 Maven 저장소에 게시해야하는 여러 개의 jar 파일을 만들려고하는데 이슈 정보가 올바르지 않은 것 같습니다.Gradle의 작업에서 여러 이슈 추가하기
예제에서 나는 sources-jar를 다루는 것을 보아 왔지만 각 병을 만들어야하는 몇 가지 작업을 (동적으로) 만들려고했습니다.
def environments = ['local', 'dev', 'test', 'acc', 'prod']
environments.each { e ->
task "create${e}jar"(type: Jar, dependsOn: classes) << {
def dir = filterPropertiesForEnv(e)
from (dir)
classifier = e
}
artifacts.add('archives', tasks["create${e}jar"])
}
File filterPropertiesForEnv(envName) {
println "filter for $envName"
def destDir = new File(project.buildDir, envName)
destDir.mkdir()
// Do filter stuff based on each envName
destDir
}
나는 "설치"작업을 실행
내 동적으로 생성 된 작업이 실행됩니다 "[이름] 항아리를 만들"하지만 어떤 병 파일을 생성하지 않습니다. doLast ("< <")를 제거하면 빌드가 여러 개의 jar 파일을 생성하지만 jar 파일은 다른 모든 것이 실행되기 전에 (구성 단계 중에) 빌드되므로 manifest 파일 만 포함됩니다.여러 jar를 만들고이를 artifacts로 첨부하는 더 좋은 방법이 있습니까? 이 jar가 포함 된 동일한 패턴을 기반으로 여러 ear 파일을 만들어야하므로 재사용 가능한 솔루션을 찾는 것이 좋습니다. 저는 Maven을 잘 알고 있지만, Gradle은 새로운 지인이며 이런 종류의 문제를 구조화하는 방법을 알지 못했습니다!
그래서 당신이 각 환경에 대해 다른 항아리를 게시 할? 그리고 uploadArchives 작업으로 게시 하시겠습니까? –