SlideShare a Scribd company logo
1 of 25
Plugin and Play
PLUGINS THAT SUPPORT THE FULL SPECTRUM OF KOTLIN FEATURES
15-9-2022
by
Simone
de
Gijt
Introduction
Simone de Gijt
2016
2017
2018
2019
2020
2021
…
- Kotlin 1.0 released
- Started working in IT
Google announces that Kotlin is the preferred language of
Android app developers
- Signs contract @ OpenValue
- Starts working with Kotlin
Twitter: @de_gijt
What to
expect?
 Kover
 Code covarage
 Options
 Advantages / Disadvantages
 Demo of usages / configuration
 Ktlint
 Linter
 Options
 Adventages / Disadvantages
 Demo of usages / configuration
 Detekt
 Code smells
 Options
 Adventages / Disadvantages
 Demo of usages / configuration
Twitter: @de_gijt
Kover
{kof· fer}
Kover - Gradle plugin for Kotlin code coverage agents:
IntelliJ and JaCoCo.
Twitter: @de_gijt
Code coverage
Twitter: @de_gijt
Options
 JaCoCo
Existing tool
Well-known and widely
recognized format
Has some quirks regarding
Kotlin
Twitter: @de_gijt
 IntelliJ IDEA
Available in IntelliJ IDEA
Handles Kotlin well
Only available in IntelliJ
IDEA
Twitter: @de_gijt
assertThat(service.greet(null))
.isEqualTo("Hello world")
Twitter: @de_gijt
Advantages Kover
 Provided by JetBrains
 Fully integrated with the Gradle toolchain and multiplatform projects.
 Kotlin Android support without the need to divide into build types and flavours
 Customizable filters for instrumented classes
 Handles specific Kotlin features
Twitter: @de_gijt
Disadvantages
 Still in an experimental state
 Only available for Gradle (not Maven)
 Engine Jacoco doesn’t support Kotlin Directory Structure
Twitter: @de_gijt
Demo
Twitter: @de_gijt
https://github.com/SimonedeGijt/example-kover
Ktlint
{kitty· lint}
Ktlint - An anti-bikeshedding Kotlin linter with built-in
formatter
Twitter: @de_gijt
Linter
Twitter: @de_gijt
Advantages
 It saves time!
 It saves energy
 It simplifies your process
Twitter: @de_gijt
Plugin options
 JLLeitschuh:
 Gradle wrapper over
the pinterest project
 Adds special tasks
Twitter: @de_gijt
 Pinterest:
 Static code analysis
tool that is used to
analyse the Kotlin
code for you.
 Follows the official
Kotlin code style
 GantSign:
 Maven wrapper
over the
pinterest
project
Demo
Twitter: @de_gijt
https://github.com/SimonedeGijt/example-ktlint
Detekt
{de· tect}
Detekt - A static code analysis tool for
the Kotlin programming language.
Twitter: @de_gijt
Code smells
Twitter: @de_gijt
Options
 Sonarqube
 Very nice reports that integrate with Gitlab
 You get a lot of extra’s..
 Community and paid versions
 Megalinter
 Free
 Not Kotlin specific
Twitter: @de_gijt
Advantages
 Highly configurable rule sets
 Specification of quality gates which will break your build
 Gradle plugin for code analysis via Gradle builds
 SonarQube & IntelliJ integratIons
 Third party integrations for Maven, Bazel and Github
Actions (Docker based and Javascript based)
Twitter: @de_gijt
Disadvantages
 Doesn’t support other languages.
Twitter: @de_gijt
Demo
Twitter: @de_gijt
https://github.com/SimonedeGijt/example-detekt
Sources
 Kover – The Code Coverage Plugin
 https://kotlinlang.org/docs/multiplatform.html
 https://www.geeksforgeeks.org/code-formatting-in-kotlin-using-ktlint/
 https://blog.mindorks.com/code-formatting-in-kotlin-using-ktlint
 https://github.com/Kotlin/kotlinx-kover
 https://github.com/JLLeitschuh/ktlint-gradle
 https://github.com/pinterest/ktlint
 https://github.com/gantsign/ktlint-maven-plugin
 https://github.com/detekt/detekt
 https://megalinter.github.io/latest/installation/
Twitter: @de_gijt
Questions
Twitter: @de_gijt
Contact
Twitter:
@de_gijt
LinkedIn:
Simone de
Gijt
Twitter: @de_gijt
Slideshare:

More Related Content

Similar to pluginandplay-UtrechtJUG.pptx

gitopsthekubernetesway-201026090439.pdf
gitopsthekubernetesway-201026090439.pdfgitopsthekubernetesway-201026090439.pdf
gitopsthekubernetesway-201026090439.pdfsaraichiba2
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes waysparkfabrik
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfuzair
 
GitHub Copilot.pptx
GitHub Copilot.pptxGitHub Copilot.pptx
GitHub Copilot.pptxLuis Beltran
 
Get started with GitHub Copilot.pptx
Get started with GitHub Copilot.pptxGet started with GitHub Copilot.pptx
Get started with GitHub Copilot.pptxKhushiPanwar33
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)DataArt
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucketjeetendra mandal
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitcbenDesigning
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-trainingEric Guo
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...SlideTeam
 
github_unveils_copilot_x_chatgpt_for_coding_is_here.pdf
github_unveils_copilot_x_chatgpt_for_coding_is_here.pdfgithub_unveils_copilot_x_chatgpt_for_coding_is_here.pdf
github_unveils_copilot_x_chatgpt_for_coding_is_here.pdfsarah david
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturasparkfabrik
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForgeCollabNet
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfWeaveworks
 
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseChris Aniszczyk
 
Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?
Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?
Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?9 series
 

Similar to pluginandplay-UtrechtJUG.pptx (20)

gitopsthekubernetesway-201026090439.pdf
gitopsthekubernetesway-201026090439.pdfgitopsthekubernetesway-201026090439.pdf
gitopsthekubernetesway-201026090439.pdf
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
GitHub Copilot.pptx
GitHub Copilot.pptxGitHub Copilot.pptx
GitHub Copilot.pptx
 
Get started with GitHub Copilot.pptx
Get started with GitHub Copilot.pptxGet started with GitHub Copilot.pptx
Get started with GitHub Copilot.pptx
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucket
 
Git step by step
Git step by stepGit step by step
Git step by step
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitc
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-training
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
 
github_unveils_copilot_x_chatgpt_for_coding_is_here.pdf
github_unveils_copilot_x_chatgpt_for_coding_is_here.pdfgithub_unveils_copilot_x_chatgpt_for_coding_is_here.pdf
github_unveils_copilot_x_chatgpt_for_coding_is_here.pdf
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForge
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdf
 
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
 
Git and Github Training in Bangalore From myTectra
Git and Github Training in Bangalore From myTectraGit and Github Training in Bangalore From myTectra
Git and Github Training in Bangalore From myTectra
 
Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?
Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?
Why to Choose Kotlin in 2023 to Build Mobile Apps Faster?
 

More from SimonedeGijt

Co-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_RabobankCo-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_RabobankSimonedeGijt
 
Wired_Voxxed_Days_CERN_22-01-2024_Wired__
Wired_Voxxed_Days_CERN_22-01-2024_Wired__Wired_Voxxed_Days_CERN_22-01-2024_Wired__
Wired_Voxxed_Days_CERN_22-01-2024_Wired__SimonedeGijt
 
Wired_DevoxxBE_05102023.pptx
Wired_DevoxxBE_05102023.pptxWired_DevoxxBE_05102023.pptx
Wired_DevoxxBE_05102023.pptxSimonedeGijt
 
Co-creating with UX and Software Rabobank
Co-creating with UX and Software RabobankCo-creating with UX and Software Rabobank
Co-creating with UX and Software RabobankSimonedeGijt
 
Wired_Rabobank_27062023.pptx
Wired_Rabobank_27062023.pptxWired_Rabobank_27062023.pptx
Wired_Rabobank_27062023.pptxSimonedeGijt
 
Wired_JoyOfCoding_21062023.pptx
Wired_JoyOfCoding_21062023.pptxWired_JoyOfCoding_21062023.pptx
Wired_JoyOfCoding_21062023.pptxSimonedeGijt
 
Wired_DDD-Europe_09062023.pptx
Wired_DDD-Europe_09062023.pptxWired_DDD-Europe_09062023.pptx
Wired_DDD-Europe_09062023.pptxSimonedeGijt
 
Co-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdfCo-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdfSimonedeGijt
 
Wired_DevoxxUK_10052023.pptx
Wired_DevoxxUK_10052023.pptxWired_DevoxxUK_10052023.pptx
Wired_DevoxxUK_10052023.pptxSimonedeGijt
 
Co-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdfCo-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdfSimonedeGijt
 
Wired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptxWired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptxSimonedeGijt
 
Wired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptxWired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptxSimonedeGijt
 
Wired_Javaland_22032023.pptx
Wired_Javaland_22032023.pptxWired_Javaland_22032023.pptx
Wired_Javaland_22032023.pptxSimonedeGijt
 
Co-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdfCo-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdfSimonedeGijt
 
Co-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdfCo-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdfSimonedeGijt
 
Wired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdfWired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdfSimonedeGijt
 
Co-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdfCo-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdfSimonedeGijt
 
Wired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptxWired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptxSimonedeGijt
 

More from SimonedeGijt (18)

Co-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_RabobankCo-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_Rabobank
 
Wired_Voxxed_Days_CERN_22-01-2024_Wired__
Wired_Voxxed_Days_CERN_22-01-2024_Wired__Wired_Voxxed_Days_CERN_22-01-2024_Wired__
Wired_Voxxed_Days_CERN_22-01-2024_Wired__
 
Wired_DevoxxBE_05102023.pptx
Wired_DevoxxBE_05102023.pptxWired_DevoxxBE_05102023.pptx
Wired_DevoxxBE_05102023.pptx
 
Co-creating with UX and Software Rabobank
Co-creating with UX and Software RabobankCo-creating with UX and Software Rabobank
Co-creating with UX and Software Rabobank
 
Wired_Rabobank_27062023.pptx
Wired_Rabobank_27062023.pptxWired_Rabobank_27062023.pptx
Wired_Rabobank_27062023.pptx
 
Wired_JoyOfCoding_21062023.pptx
Wired_JoyOfCoding_21062023.pptxWired_JoyOfCoding_21062023.pptx
Wired_JoyOfCoding_21062023.pptx
 
Wired_DDD-Europe_09062023.pptx
Wired_DDD-Europe_09062023.pptxWired_DDD-Europe_09062023.pptx
Wired_DDD-Europe_09062023.pptx
 
Co-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdfCo-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdf
 
Wired_DevoxxUK_10052023.pptx
Wired_DevoxxUK_10052023.pptxWired_DevoxxUK_10052023.pptx
Wired_DevoxxUK_10052023.pptx
 
Co-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdfCo-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdf
 
Wired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptxWired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptx
 
Wired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptxWired_DevNexus_06042023.pptx
Wired_DevNexus_06042023.pptx
 
Wired_Javaland_22032023.pptx
Wired_Javaland_22032023.pptxWired_Javaland_22032023.pptx
Wired_Javaland_22032023.pptx
 
Co-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdfCo-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdf
 
Co-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdfCo-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdf
 
Wired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdfWired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdf
 
Co-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdfCo-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdf
 
Wired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptxWired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptx
 

Recently uploaded

Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

pluginandplay-UtrechtJUG.pptx

Editor's Notes

  1. ~
  2. László Kövér is a Hungarian politician and the current speaker of the National Assembly of Hungary. Kover is pronounced the same as the Dutch word for suitcase. https://github.com/Kotlin/kotlinx-kover
  3. Source: Kover – The Code Coverage Plugin https://www.youtube.com/watch?v=jNu5LY9HIbw
  4. Sources: Kover – The Code Coverage Plugin https://www.youtube.com/watch?v=jNu5LY9HIbw https://github.com/Kotlin/kotlinx-kover https://kotlinlang.org/docs/multiplatform.html
  5. Demo: Start with JaCoCo Show you can not see the class in the report (because of directory structure) Show inline function is not ”covered” Show IntelliJ Add Kover to the plugins Run report Open as HTML and show that you now can see the class-file including the coverage of the inline function Show that test classes are also tested by default Unmute integrationtests -> no additional config like with jacoco Standard: test is without Kover -> add config Show that you can exclude classes from Kover (both extension + report) Show kover config koverVerify Maybe subprojects (merged reports)
  6. Source: https://www.geeksforgeeks.org/code-formatting-in-kotlin-using-ktlint/
  7. Sources https://blog.mindorks.com/code-formatting-in-kotlin-using-ktlint https://github.com/JLLeitschuh/ktlint-gradle https://github.com/pinterest/ktlint https://github.com/gantsign/ktlint-maven-plugin https://megalinter.github.io/latest/installation/ JLLeitschuh: The plugin can be applied to any project, but only activates if that project has the kotlin plugin applied Check tasks support change files to be checked incrementally. On the first run, the task will check all files in the source set, on subsequent runs it will check only added/modified files. IntelliJ IDEA: recommended to work with the ktlint install from brew
  8. Demo: Basic project without a lint; show format-error in service -> build -> no issues Add ktlint (normal plugin) to project: show all new tasks Show that if you only want intellij idea tasks you can add -idea in the plugin: build, after ktlintCheck 2 options: Create baseline: ktlintGenerateBaseline Format via: ktlintFormat / option+command+l Git integration: addKtlintCheckGitPreCommitHook addKtlintFormatGitPreCommitHook Add plugin Nick Badal Actions on save Additional config file: Without editorconfig file or ktlint plugin the rules of preferences are applied (KOTLIN) You can overwrite this by the editorconfig file (no extra config needed) Source: https://medium.com/@vanniktech/writing-your-first-ktlint-rule-5a1707f4ca5b
  9. ComplexCondition
  10. Demo: Basic project without a lint; show format-error in service -> build -> no issues Add ktlint (normal plugin) to project: show all new tasks Show that if you only want intellij idea tasks you can add -idea in the plugin: build, after ktlintCheck 2 options: Create baseline: ktlintGenerateBaseline Format via: ktlintFormat / option+command+l Git integration: addKtlintCheckGitPreCommitHook addKtlintFormatGitPreCommitHook Add plugin Nick Badal Actions on save Additional config file: Without editorconfig file or ktlint plugin the rules of preferences are applied (KOTLIN) You can overwrite this by the editorconfig file (no extra config needed) Source: https://medium.com/@vanniktech/writing-your-first-ktlint-rule-5a1707f4ca5b