Como executar uma tarefa Gradle com parâmetros diferentes
Eu gostaria de definir uma tarefa no gradle (chamadagen
) que executa a tarefa gradlejar
mas com um valor fixo parabaseName
. Eu também quero a tarefa originaljar
para estar disponível posteriormente.
Meu problema é que não consigo transferir a configuração do manifesto.
Eu cansei, por exemplo
def mainFile = 'com.so.proj.App'
def filename = 'something'
jar {
baseName filename
manifest {
attributes 'Main-Class': mainFile
}
}
task gen (type: Jar) {
description "Generates JAR without version number."
doFirst {
//archiveName = jar.baseName + "." + extension
archiveName = filename + ".jar"
manifest {
attributes 'Main-Class': mainFile
}
}
}
Eu pensei que estava redefinindo oJar
tarefa usando outros valores para archiveName e manifest.
Ao executar./gradlew jar
um arquivo JAR executável é gerado.
Ao executar./gradlew gen
um arquivo jar é gerado. Infelizmente, ao tentar executar o programa usandojava -jar build/libs/something.jar
Eu recebo a mensagem de erro:
java -jar compilação / libs / something.jar
Error: Could not find or load main class com.so.proj.App
O que estou fazendo errado? Eu simplesmente quero executar a tarefa jar com parâmetros diferentes (sem configurar a tarefa jar em si, mas executando um alias). E o que o código está fazendo que eu escrevi (não recebo um erro ao executar a tarefa. Mas o que está fazendo?)