Gradle
Note
Em construção
Em construção
# Lista as tasks
gradle tasks
# Mostrar o help
gradle help --taks init
# Inicia um projeto
gradle init
# Executar o projeto
gradle run
# Executa os testes
gradle test
# Installar as dependencias
gradle build --scan
# Builda3 o projeto
gradle build
# Ver cobertura de testes
/app/build/reports/tests/test/index.html
jar tf app.jar
# extrai manifest
jar xf app.jar META-INF/MANIFEST.MF
# exibe
cat META-INF/MANIFEST.MF
java -jar app.jar
tasks.register('teste') {
println 'Hello world'
}
tasks.register('hello') {
doLast {
println 'Hello world!'
}
}
gradle -q teste
-ou
gradle teste // mostra status da execução
link: https://docs.gradle.org/current/userguide/tutorial_using_tasks.html#sec:projects_and_tasks
tasks.register('upper') {
doLast {
String someString = 'mY_nAmE'
println "Original: $someString"
println "Upper case: ${someString.toUpperCase()}"
}
}
// exemplo de repetição
tasks.register('count') {
doLast {
4.times { print "$it " }
}
}
gradle upper
tasks.register('taskX') {
dependsOn 'taskY'
doLast {
println 'taskX'
}
}
tasks.register('taskY') {
doLast {
println 'taskY'
}
}
gradle taskX
# mostrar a execução das duas tasks, pois a taskX depende da taskY
tasks.register('hello') {
doLast { // definie a ordem de execução
println 'Hello Earth'
}
}
tasks.named('hello') {
doFirst { // defini a orde de execução
println 'Hello Venus'
}
}
tasks.named('hello') {
doLast {
println 'Hello Mars'
}
}
tasks.named('hello') {
doLast {
println 'Hello Jupiter'
}
}
gradle -q hello
#saida
#Olá Vênus
#Olá terra
#Olá marte
#Ola jupiter
https://docs.gradle.org/current/userguide/plugins.html#plugins | –> Aplicando plug-ins com o DSL de plug-ins
- As dependências pode ser de dois tipos:
- como configurações do tipo api - que serão expostas transitivamente aos consumidores da biblioteca e, como tal, aparecerão no classpath de compilação dos consumidores
- como configuração do tipo implementation que, por outro lado, não serão expostas aos consumidores e, portanto, não vazarão para o classpath de compilação dos consumidores
dependencies {
api 'org.apache.httpcomponents:httpclient:4.5.7'
implementation 'org.apache.commons:commons-lang3:3.5'
}
OBS: As configurações compile e runtime foram removidas com o Gradle 7.0. Consulte o guia de atualização como migrar para implementatione apiconfigurações. - compile –> implementation - runtime –> api
Prefira a configuração de implementation em vez de api quando possível.