SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Spock data tables plugin
for IntelliJ
+
How to create your own
plugin
@alberto_deavila
Team Lead @ Salenda
We help customers
reach their potential
with Atlassian tools
Global reach
& support
London UK
Dallas USA
Madrid Spain
Tallin Estonia
New York USA
San Diego USA
Toronto Canada
Montreal Canada
Springfield, MO USA
Leamington Spa UK
Kuala Lumpur Malasia
Why to create Spock data
table plugin?
Problem #1
Problem #2
Problem #3
Solution
Why? droidName | createMoreFilms | createJarJarBinks | darthVaderLives | babyJodaAppears | leiaIgnoresHan
'R2-D2' | false | false | false | true | false
'R2-D2' | false | false | false | true | true
'R2-D2' | false | false | true | true | false
'R2-D2' | false | false | true | true | true
'R2-D2' | false | true | false | true | false
'R2-D2' | false | true | false | true | true
'R2-D2' | false | true | true | true | false
'R2-D2' | false | true | true | true | true
'R2-D2' | true | false | false | true | false
'R2-D2' | true | false | false | true | true
'R2-D2' | true | false | true | true | false
'R2-D2' | true | false | true | true | true
'R2-D2' | true | true | false | true | false
'R2-D2' | true | true | false | true | true
'R2-D2' | true | true | true | true | false
'R2-D2' | true | true | true | true | true
'C3P0' | false | false | false | false | false
'C3P0' | false | false | false | false | true
'C3P0' | false | false | false | true | false
'C3P0' | false | false | false | true | true
'C3P0' | false | false | true | false | false
'C3P0' | false | false | true | false | true
'C3P0' | false | false | true | true | false
Problem #1
Problem #2
Why?
Problem #3
Solution
void “Sum 2 values are equals to sum tho others"() {
expect: ‘the sum must be equals‘
a + b == c + d
where:
a | b | c | d
0 | 0 | 0
1 | 1 | 2
0 | 1 | 1
1 | 0 | 1
2 | 2 | 4
4 | 5 | 9
3 | 3 | 6
3 | 0 | 3
2 | 2 | 4
5 | 1 | 6
1 | 5 | 6
4 | 4 | 8
}
Problem #1
Problem #3
Why?
Problem #2
Solution
void "element #element is contained by the list #list is #contained"() {
expect: 'check if the list contains the element'
list.contains(element) == contained
where:
element | list | contained
}
Creating a tool to do the job
Problem #1
Why?
Problem #2
Problem #3
Solution
Download it from
IDE plugins section
Find it on Jetbrains plugins site!
Check out the
code
Let see in action
Next steps
Send JAR to your teammates
Create a Jetbrains account,
upload the plugin and wait
to be approved
Publish plugin
You just need to package
your plugins, send to your
teammates and they need
to Install plugin from disk
Distribute your plugin
Compatibility check
rebrand.ly/plugin-resources
Resources
We are hiring!
rebrand.ly/adaptavist-hiring
Questions

Contenu connexe

Plus de Alberto De Ávila Hernández

Plus de Alberto De Ávila Hernández (6)

Graalvm with Groovy and Kotlin - Madrid GUG 2019
Graalvm with Groovy and Kotlin - Madrid GUG 2019Graalvm with Groovy and Kotlin - Madrid GUG 2019
Graalvm with Groovy and Kotlin - Madrid GUG 2019
 
Graalvm with Groovy and Kotlin - Greach 2019
Graalvm with Groovy and Kotlin - Greach 2019Graalvm with Groovy and Kotlin - Greach 2019
Graalvm with Groovy and Kotlin - Greach 2019
 
Let Codenarc check if you write good Groovy code
Let Codenarc check if you write good Groovy codeLet Codenarc check if you write good Groovy code
Let Codenarc check if you write good Groovy code
 
Nitro for your Grails App: how to improve performance. Greach '18
Nitro for your Grails App: how to improve performance. Greach '18Nitro for your Grails App: how to improve performance. Greach '18
Nitro for your Grails App: how to improve performance. Greach '18
 
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
 
De Java a Swift pasando por Groovy
De Java a Swift pasando por GroovyDe Java a Swift pasando por Groovy
De Java a Swift pasando por Groovy
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Spock data tables plugin for IntelliJ + How to create you own plugin

  • 1. Spock data tables plugin for IntelliJ + How to create your own plugin @alberto_deavila Team Lead @ Salenda
  • 2.
  • 3. We help customers reach their potential with Atlassian tools
  • 4. Global reach & support London UK Dallas USA Madrid Spain Tallin Estonia New York USA San Diego USA Toronto Canada Montreal Canada Springfield, MO USA Leamington Spa UK Kuala Lumpur Malasia
  • 5. Why to create Spock data table plugin?
  • 6. Problem #1 Problem #2 Problem #3 Solution Why? droidName | createMoreFilms | createJarJarBinks | darthVaderLives | babyJodaAppears | leiaIgnoresHan 'R2-D2' | false | false | false | true | false 'R2-D2' | false | false | false | true | true 'R2-D2' | false | false | true | true | false 'R2-D2' | false | false | true | true | true 'R2-D2' | false | true | false | true | false 'R2-D2' | false | true | false | true | true 'R2-D2' | false | true | true | true | false 'R2-D2' | false | true | true | true | true 'R2-D2' | true | false | false | true | false 'R2-D2' | true | false | false | true | true 'R2-D2' | true | false | true | true | false 'R2-D2' | true | false | true | true | true 'R2-D2' | true | true | false | true | false 'R2-D2' | true | true | false | true | true 'R2-D2' | true | true | true | true | false 'R2-D2' | true | true | true | true | true 'C3P0' | false | false | false | false | false 'C3P0' | false | false | false | false | true 'C3P0' | false | false | false | true | false 'C3P0' | false | false | false | true | true 'C3P0' | false | false | true | false | false 'C3P0' | false | false | true | false | true 'C3P0' | false | false | true | true | false
  • 7. Problem #1 Problem #2 Why? Problem #3 Solution void “Sum 2 values are equals to sum tho others"() { expect: ‘the sum must be equals‘ a + b == c + d where: a | b | c | d 0 | 0 | 0 1 | 1 | 2 0 | 1 | 1 1 | 0 | 1 2 | 2 | 4 4 | 5 | 9 3 | 3 | 6 3 | 0 | 3 2 | 2 | 4 5 | 1 | 6 1 | 5 | 6 4 | 4 | 8 }
  • 8. Problem #1 Problem #3 Why? Problem #2 Solution void "element #element is contained by the list #list is #contained"() { expect: 'check if the list contains the element' list.contains(element) == contained where: element | list | contained }
  • 9. Creating a tool to do the job Problem #1 Why? Problem #2 Problem #3 Solution
  • 10. Download it from IDE plugins section
  • 11. Find it on Jetbrains plugins site!
  • 13. Let see in action
  • 15. Send JAR to your teammates Create a Jetbrains account, upload the plugin and wait to be approved Publish plugin You just need to package your plugins, send to your teammates and they need to Install plugin from disk Distribute your plugin