SlideShare a Scribd company logo
1 of 52
Download to read offline
WRITE GRADLE PLUGINSWRITE GRADLE PLUGINS
ESCRIBIR Y PUBLICAR TUS PLUGINS DEESCRIBIR Y PUBLICAR TUS PLUGINS DE
GRADLE "MADE EASY"GRADLE "MADE EASY"
Jorge Aguilera
1
PRESENTACIÓNPRESENTACIÓN
Created by /Jorge Aguilera @jagedn
2
PRESENTACIÓNPRESENTACIÓN
@jagedn (Jorge Aguilera)
Created by /Jorge Aguilera @jagedn
2
PRESENTACIÓNPRESENTACIÓN
@jagedn (Jorge Aguilera)
Groovy (101 GroovyScript)
Created by /Jorge Aguilera @jagedn
2
PRESENTACIÓNPRESENTACIÓN
@jagedn (Jorge Aguilera)
Groovy (101 GroovyScript)
Groogle (Groovy+Google)
Created by /Jorge Aguilera @jagedn
2
PRESENTACIÓNPRESENTACIÓN
@jagedn (Jorge Aguilera)
Groovy (101 GroovyScript)
Groogle (Groovy+Google)
Extensiones de Asciidoctor (Puravida Extensions)
Created by /Jorge Aguilera @jagedn
2
PRESENTACIÓNPRESENTACIÓN
@jagedn (Jorge Aguilera)
Groovy (101 GroovyScript)
Groogle (Groovy+Google)
Extensiones de Asciidoctor (Puravida Extensions)
Gradle Plugins
Created by /Jorge Aguilera @jagedn
2
PRESENTACIÓNPRESENTACIÓN
@jagedn (Jorge Aguilera)
Groovy (101 GroovyScript)
Groogle (Groovy+Google)
Extensiones de Asciidoctor (Puravida Extensions)
Gradle Plugins
Disclaimer
Created by /Jorge Aguilera @jagedn
2
PARTICIPAPARTICIPA
3
AGENDAAGENDA
4
AGENDAAGENDA
Introducción a Gradle
4
AGENDAAGENDA
Introducción a Gradle
Project, tasks, plugins
4
AGENDAAGENDA
Introducción a Gradle
Project, tasks, plugins
Pasos para construir y publicar en Gradle
4
AGENDAAGENDA
Introducción a Gradle
Project, tasks, plugins
Pasos para construir y publicar en Gradle
Demo time
4
AGENDAAGENDA
Introducción a Gradle
Project, tasks, plugins
Pasos para construir y publicar en Gradle
Demo time
PuraVida Gradle plugins
4
5
GRADLEGRADLE
Gradle vs Maven vs Ant
Install
download & unzip
sdkman install gradle
docker run -v $(pwd):/home/gradle/gradle
gradle init
./gradlew [-b build.gradle] hello
6
CONCEPTOSCONCEPTOS
Project(s)
Task(s)
Plugin(s)
7
PROJECTPROJECT
Cada build de Gradle está formado por un conjunto
de proyectos.
Puede ser construir un algo (un jar, un war, un zip,
etc)
Pero también puede ser hacer algo (desplegar un
servicio, enviar un tweet, etc)
8
TIPSTIPS
build.gradle es un DSL (ver charla de Groogle)
que describe builds
es Groovy!!!
Lo que no está de nido en build.gradle se busca
en Project
9
PROJECT PROPERTIESPROJECT PROPERTIES
Name Type Default
project Project The Project instance
name String The name of the project directory.
path String The absolute path of the project.
description String A description for the project.
projectDir File The directory containing the build script.
10
PROJECT PROPERTIESPROJECT PROPERTIES
Name Type Default
buildDir File projectDir/build
group Object unspecified
version Object unspecified
ant AntBuilder An AntBuilder instance
11
TASKTASK
Unidad básica de los proyectos.
12
TASK 1/3TASK 1/3
gradle hello
task hello(){
doLast{
println "hello"
}
}
13
TASK 2/3TASK 2/3
gradle goodbye
task hello(){
doLast{
println "hello"
}
}
task goodbye(){
doLast{
println "goodbye"
}
}
goodbye.dependsOn hello
14
TASK 3/3TASK 3/3
gradle hello
task hello(){
doLast{
println "hello ISS"
} }
hello.onlyIf{
def json = new groovy.json.JsonSlurper().
parseText("http://api.open-notify.org/iss-now.json".toURL
float nlon = json.iss_position.longitude as float
float nlat = json.iss_position.latitude as float
float LAT = 40.4237401
float LON = -3.7012653
Math.abs(LAT-nlat) < 1 && Math.abs(LON-nlon) < 1
}
15
16
PLUGINSPLUGINS
Mecanismo para compartir Tasks
Un plugin puede añadir 1 o varias Tasks
Dónde:
chero build.gradle
directorio buildSrc/src/main/groovy
proyecto independiente
17
BUILD.GRADLE / BUILDSRCBUILD.GRADLE / BUILDSRC
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('hello') {
doLast {
println 'Hello from the GreetingPlugin'
}
}
}
}
apply plugin: GreetingPlugin
18
PROYECTO INDEPENDIENTEPROYECTO INDEPENDIENTE
Elegir un nombre cuali cado
gradle init
Crear MyTask
Crear MyPlugin y aplicar la Task
Anotar con @TaskAction el main de la Task
Declarar el plugin /META-INF/gradle-
plugins/TU.PLUGIN.CUALIFICADO.properties
19
DEPENDENCIASDEPENDENCIAS
dependencies {
compile localGroovy()
compile gradleApi()
}
20
DECLARAR EL PLUGINDECLARAR EL PLUGIN
TU.PLUGIN.CUALIFICADO.properties
implementation-class=com.foo.baar.MyPlugin
21
PLUGINPLUGIN
class MyPlugin implements Plugin<Project> {
void apply(Project project) {
project.with {
apply(plugin: 'base')
task('mytask',
type:MyTask,
group:'others',
description: 'Look Mom, a plugin from Puravida in
}
}
}
}
22
TASKTASK
class MyTask extends DefaultTask{
@TaskAction
void callYourMethodAsYouWant(){
println "Hello"
}
}
23
CONFIGURACIÓN TASKCONFIGURACIÓN TASK
24
CONFIGURACIÓN TASKCONFIGURACIÓN TASK
Identi car propiedades de la task
24
CONFIGURACIÓN TASKCONFIGURACIÓN TASK
Identi car propiedades de la task
Aunque sea Groovy crea métodos get/set más una
función
24
CONFIGURACIÓN TASKCONFIGURACIÓN TASK
Identi car propiedades de la task
Aunque sea Groovy crea métodos get/set más una
función
Piensa en el usuario y no te limites a una lista de
propiedades (puedes anidarlas)
24
CONFIGURACIÓN TASKCONFIGURACIÓN TASK
Identi car propiedades de la task
Aunque sea Groovy crea métodos get/set más una
función
Piensa en el usuario y no te limites a una lista de
propiedades (puedes anidarlas)
Input (un chero de entrada por ejemplo) vs Output
(un directorio de salida)
24
CONFIGURACIÓN TASKCONFIGURACIÓN TASK
Identi car propiedades de la task
Aunque sea Groovy crea métodos get/set más una
función
Piensa en el usuario y no te limites a una lista de
propiedades (puedes anidarlas)
Input (un chero de entrada por ejemplo) vs Output
(un directorio de salida)
Valores simples, basados en cheros ( le, collections,
etc), anidadas 24
ANOTACIONESANOTACIONES
Anota siempre métodos get o la property Groovy para
ayudar a Gradle!!
Name Name Name Name
@Input @Output @InputFile @OutputFile
@InputFiles @OutputFiles @InputDirectory @OutputDirectory
@Optional @Internal @Nested @TaskAction
25
TESTTEST
Podemos utilizar JUnit y/o Spock para crear tests!!
plugins {
id 'java-gradle-plugin'
}
dependencies{
// add these
testCompile gradleTestKit()
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile ("org.spockframework:spock-core:1.1-groovy-2.4")
exclude group: 'org.codehaus.groovy', module: 'groovy-all
exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
}
26
MYTASKSPECMYTASKSPEC
class MyTaskSpec extends Specification{
@Rule
TemporaryFolder testProjectDir
File buildFile
def setup() {
buildFile = testProjectDir.newFile('build.gradle')
buildFile << """
plugins {
id 'TU.PLUGIN.CUALIFICADO'
}"""
}
def "run task"() {
buildFile << 'hello{}'
when:
def result = GradleRunner.create()....build()
then:
27
PUBLISHPUBLISH
plugins{
id "com.gradle.plugin-publish" version "0.10.0"
}
./gradlew publishPlugins
28
DEMO PARTYDEMO PARTY
Download NASA images
29
PURAVIDA GRADLE PLUGINSPURAVIDA GRADLE PLUGINS
30
PURAVIDA GRADLE PLUGINSPURAVIDA GRADLE PLUGINS
Funcionales
30
PURAVIDA GRADLE PLUGINSPURAVIDA GRADLE PLUGINS
Funcionales
Didácticos
30
CHECK-SERVERCHECK-SERVER
Ejecuta la task si una URL devuelve 200 y puedes
descargar el body a chero
id 'com.puravida.gradle.checkserver'
Show me the code!!!
https://puravida-gradle.gitlab.io/check-server
31
SOCIAL NETWORKSOCIAL NETWORK
Comparte el resultado de un build por ejemplo
twitter, telegram, slack
id 'com.puravida.gradle.socialnetwork'
Show me the code!!!
https://puravida-gradle.gitlab.io/social-network
32
GROOGLEGROOGLE
Descarga/Sube cheros de/a tu Drive (por ahora)
id 'com.puravida.gradle.groogle'
Show me the code!!!
https://puravida-gradle.gitlab.io/groogle
33
34

More Related Content

Similar to Write Gradle Plugins

Realizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaRealizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaAndres Almiray
 
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Agustin Ramos
 
Seminario de Groovy y grails
Seminario de Groovy y grailsSeminario de Groovy y grails
Seminario de Groovy y grailsParadigma Digital
 
Realizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficaciaRealizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficaciaSoftware Guru
 
Construccion de proyectos con gradle
Construccion de proyectos con gradleConstruccion de proyectos con gradle
Construccion de proyectos con gradleDavid Gómez García
 
Programación avanzada en Joomla!
Programación avanzada en Joomla!Programación avanzada en Joomla!
Programación avanzada en Joomla!Alfredo Romeo
 
Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009erny66
 
Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011jose diaz
 
Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Marcos Ortiz Valmaseda
 
Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014Pablo Alba
 
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdfPresentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdfGustavo G. Mármol
 
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdfPresentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdfGustavo G. Marmol Alioto
 

Similar to Write Gradle Plugins (20)

Realizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaRealizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y Eficacia
 
Tests en Java con Groovy y Spock
Tests en Java con Groovy y SpockTests en Java con Groovy y Spock
Tests en Java con Groovy y Spock
 
Introduccion A Groovy
Introduccion A GroovyIntroduccion A Groovy
Introduccion A Groovy
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
Grails
GrailsGrails
Grails
 
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
 
Seminario de Groovy y grails
Seminario de Groovy y grailsSeminario de Groovy y grails
Seminario de Groovy y grails
 
Realizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficaciaRealizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficacia
 
Construccion de proyectos con gradle
Construccion de proyectos con gradleConstruccion de proyectos con gradle
Construccion de proyectos con gradle
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
Programación avanzada en Joomla!
Programación avanzada en Joomla!Programación avanzada en Joomla!
Programación avanzada en Joomla!
 
Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009Programación Avanzado Joomla Day 2009
Programación Avanzado Joomla Day 2009
 
Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011
 
Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0
 
Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014
 
Nosqlcp
NosqlcpNosqlcp
Nosqlcp
 
Nosqlcp
NosqlcpNosqlcp
Nosqlcp
 
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdfPresentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
 
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdfPresentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
Presentación Univ Austral-Oracle v Google-Gustavo G Marmol Alioto.pdf
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
 

Recently uploaded

tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdflauralizcano0319
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888ElianaValencia28
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskbydaniela5
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfJoseAlejandroPerezBa
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaElizabethLpezSoto
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024anasofiarodriguezcru
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 

Recently uploaded (20)

tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestría
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 

Write Gradle Plugins