--- id: Gradle Convention Plugins aliases: [] tags: - process/lightning_talk status: Archiv subtitle: Project Board type: Archiv lecture_date: 2024-02-16 --- >[!info]- Projekt >Goal:: [[Lightning Talks]] >Progress:: `$= dv.view('project-progress', {file: 'Gradle Convention Plugins'})` >Target:: `$= dv.view('project-target', {file: 'Gradle Convention Plugins'})` >Bar:: `$= dv.view('project-progress-bar', {file: 'Gradle Convention Plugins'})` >Tasks:: `$= const aufgaben = dv.page('Gradle Convention Plugins').file.inlinks.where(t => { const mt = dv.page(t.path); return mt.tags?.includes('process/task') && mt.status === 'In Arbeit'}); if (aufgaben.length > 0) { dv.header(4, aufgaben.length > 1 ? "Aufgaben" : "Aufgabe"); dv.list(aufgaben) }` ## Project Info Vortrag gehalten am [[2024-02-16 Lightning Talks]] ## Thoughts - Vorstellung von Gradle - Plugin System - Convention Plugins - Convention Plugins - eingebettete Plugins - Plugin Projekte - Aufbau von Plugin Projekten - Einbindung von externen Plugins - Verteilung von Plugins - Verwendung von Credentials - Plugin Management - lokale Definition - globale Definition - Initialisierung Skripte - `. gradle/init.d/init.gradle` ## Resources - [[Converting Gradle convention plugins to binary plugins]] - [[Sharing convention plugins with build logic]] - [[Sharing build logic between subprojects Sample]] ## Github Repository [[convention-plugins]] A collection of Gradle convention plugins for Java and Asciidoctor builds. ## Review questions ## Aufgaben - [x] Vortrag Gradle Convention Plugins ausarbeiten [start:: 2024-02-13] [scheduled:: 2024-02-16] [due:: 2024-02-16] [completion:: 2024-02-16] - [x] Vortrag Gradle Convention Plugins halten [scheduled:: 2024-02-16] [completion:: 2024-02-16] ## Offene Aufgaben ```dataviewjs const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length); dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { const page = dv.page(p.path); const tasks = page.file.tasks; return [ page.file.link, page.status, tasks.where(t => t.fullyCompleted === true).length, tasks.length ] })); ``` ## Aufgaben ```dataviewjs const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')); dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { const page = dv.page(p.path); const tasks = page.file.tasks; return [ page.file.link, page.status, tasks.where(t => t.fullyCompleted === true).length, tasks.length ] })); ```