SlideShare a Scribd company logo
1 of 29
Atlasskickin’ the Plugin SDK
devspeed




Jonathan Doklovic
Developer Relations, Atlassian


                                 2
It’s Been A While...
3.0 - Oct 2009   3.2.2   3.6.2
3.0.1            3.2.3   3.7
3.0.2            3.2.4   3.7.2
3.0.3            3.3     3.7.3
3.0.3.2          3.3.1   3.8
3.0.4
3.0.5
                 3.3.2
                 3.3.3
                         3.9
                         3.9.1
                                  4.0 - Sept 2012
3.0.6            3.3.4   3.9.2
3.1              3.4     3.9.3
3.1.1            3.5     3.10
3.1.2            3.5.1   3.10.1
3.1.3            3.5.2   3.10.2
3.2              3.6     3.10.3
3.2.1            3.6.1   3.10.4
                         3.11
                                                    3
If you were an SDK
• Help new devs get started quickly
• Be notified of updates
• Be easy to update
• Provide access to docs/information
• Have a quick dev cycle
• If testing doesn’t suck, they will write them


                                                  4
5
Zip files are not installers

• They don’t care about your OS
• They scoff at setting environment variables
• They eat symlinks for breakfast
• They tend to overstay their welcome
• They’re generally regarded as “simple folk”


                                                6
Native Installers




                    7
Native Installers




                    8
Native Installers
           • Sets ALTAS_HOME
           • Adds ATLAS_HOME to PATH
           • Sets JAVA_HOME
           • Sets M2_REPO
           • Uninstaller in Start Menu


                                         9
Native Installers




                    10
Native Installers
          • Installs in /usr/share/
            atlassian-plugin-sdk-${version}
          • Symlinks in /usr/local/bin
          • Plays nice with HomeBrew


  You must remove previous version from $PATH

                                                11
Native Installers


          • Download our .repo file to /etc/yumrepos.d
          • sudo yum install atlassian-plugin-sdk



  You must remove previous version from $PATH

                                                        12
Native Installers

        • Add sdkrepo.atlassian.com to apt sources
        • Import our public key
        • sudo apt-get install atlassian-plugin-sdk


  You must remove previous version from $PATH

                                                      13
What About Updates?




                      14
What About My POM?

 • SDK detects outdated sdk versions in
   pom.xml
 • Asks if you’d like your pom updated
 • Never be behind on SDK version again!




                                           15
Developer Toolbox




                    16
LiveReload




             17
TESTING



          18
TESTING - Housekeeping
• Updated Surefire
 • Mix JUnit 3 & 4 tests
• Added Failsafe
 • Integration Tests don’t abort
• Updated Cargo
 • Can now deploy to the ROOT context
 • DO NOT USE -Dmaven.test.skip
    • Use -DskipTests instead
                                        19
TESTING - New Func Tests
    Maven

     JUnit       The World of JIRA

    My Test




                                     20
TESTING - New Func Tests
    Maven

    JUnit        The World of JIRA


                      My Test




                                     20
TESTING




          21
What’s Next?
• SDK 4.1
 • Support for custom datasources




                   Really? That’s it?

                                        22
Stuff We’re Playing With


         MAVEN 3


                           23
Stuff We’re Playing With


         MAVEN 3


                           23
Stuff We’re Playing With
DOCCO




                           24
Stuff We’re Playing With
Java Configured Plugins
• Java class replaces atlassian-plugin.xml
• Every module type has a java builder
• Complete IDE code completion
• No XML Transformation == Faster Load Times!
• Stay in code, not in docs

                                                25
http://developer.atlassian.com

  http://sdkrepo.atlassian.com

http://marketplace.atlassian.com




                                   26
Thank you!

More Related Content

What's hot

Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Puppet
 
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesContinuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two Approaches
Ross Snyder
 

What's hot (20)

Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
Puppet Camp Melbourne Nov 2014 - A Build Engineering Team’s Journey of Infras...
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
Managing PowerShell DSC with Puppet
Managing PowerShell DSC with PuppetManaging PowerShell DSC with Puppet
Managing PowerShell DSC with Puppet
 
10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
Deploying IIS and ASP.NET with Puppet
Deploying IIS and ASP.NET with PuppetDeploying IIS and ASP.NET with Puppet
Deploying IIS and ASP.NET with Puppet
 
Getting Started with Spring Boot
Getting Started with Spring BootGetting Started with Spring Boot
Getting Started with Spring Boot
 
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkins
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
 
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesContinuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two Approaches
 
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
 
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixConfiguration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
 
Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus Deploy
 
Top 8 mistakes developer teams make in their first serverless project
Top 8 mistakes developer teams make in their first serverless projectTop 8 mistakes developer teams make in their first serverless project
Top 8 mistakes developer teams make in their first serverless project
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
WinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open SourceWinOps Conf 2015 - Microsoft Azure & Open Source
WinOps Conf 2015 - Microsoft Azure & Open Source
 
Three Technologies Worth Watching or Learning
Three Technologies Worth Watching or LearningThree Technologies Worth Watching or Learning
Three Technologies Worth Watching or Learning
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
 

Similar to Atlaskickin' the Plugin SDK, AtlasCamp US 2012

Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy Virin
CocoaHeads France
 
Virtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profitVirtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profit
Andreas Heim
 

Similar to Atlaskickin' the Plugin SDK, AtlasCamp US 2012 (20)

Test like a_boss
Test like a_bossTest like a_boss
Test like a_boss
 
OpenSolaris Overview
OpenSolaris OverviewOpenSolaris Overview
OpenSolaris Overview
 
The Diabolical Developer's Guide to Surviving Java 9
The Diabolical Developer's Guide to Surviving Java 9The Diabolical Developer's Guide to Surviving Java 9
The Diabolical Developer's Guide to Surviving Java 9
 
Java in the cloud with Jelastic
Java in the cloud with JelasticJava in the cloud with Jelastic
Java in the cloud with Jelastic
 
State of the Ecosystem - Atlassian Summit 2010
State of the Ecosystem - Atlassian Summit 2010State of the Ecosystem - Atlassian Summit 2010
State of the Ecosystem - Atlassian Summit 2010
 
Tips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTips For Maintaining OSS Projects
Tips For Maintaining OSS Projects
 
33rd degree
33rd degree33rd degree
33rd degree
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Django Deployment with Fabric
Django Deployment with FabricDjango Deployment with Fabric
Django Deployment with Fabric
 
Migrate Early, Migrate Often: JDK release cadence strategies
Migrate Early, Migrate Often: JDK release cadence strategiesMigrate Early, Migrate Often: JDK release cadence strategies
Migrate Early, Migrate Often: JDK release cadence strategies
 
Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy Virin
 
Virtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profitVirtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profit
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
 
Riga Dev Day - Automated Android Continuous Integration
Riga Dev Day - Automated Android Continuous IntegrationRiga Dev Day - Automated Android Continuous Integration
Riga Dev Day - Automated Android Continuous Integration
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStack
 
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
 

More from Atlassian

Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 

More from Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"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 ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Atlaskickin' the Plugin SDK, AtlasCamp US 2012

  • 1.
  • 2. Atlasskickin’ the Plugin SDK devspeed Jonathan Doklovic Developer Relations, Atlassian 2
  • 3. It’s Been A While... 3.0 - Oct 2009 3.2.2 3.6.2 3.0.1 3.2.3 3.7 3.0.2 3.2.4 3.7.2 3.0.3 3.3 3.7.3 3.0.3.2 3.3.1 3.8 3.0.4 3.0.5 3.3.2 3.3.3 3.9 3.9.1 4.0 - Sept 2012 3.0.6 3.3.4 3.9.2 3.1 3.4 3.9.3 3.1.1 3.5 3.10 3.1.2 3.5.1 3.10.1 3.1.3 3.5.2 3.10.2 3.2 3.6 3.10.3 3.2.1 3.6.1 3.10.4 3.11 3
  • 4. If you were an SDK • Help new devs get started quickly • Be notified of updates • Be easy to update • Provide access to docs/information • Have a quick dev cycle • If testing doesn’t suck, they will write them 4
  • 5. 5
  • 6. Zip files are not installers • They don’t care about your OS • They scoff at setting environment variables • They eat symlinks for breakfast • They tend to overstay their welcome • They’re generally regarded as “simple folk” 6
  • 9. Native Installers • Sets ALTAS_HOME • Adds ATLAS_HOME to PATH • Sets JAVA_HOME • Sets M2_REPO • Uninstaller in Start Menu 9
  • 11. Native Installers • Installs in /usr/share/ atlassian-plugin-sdk-${version} • Symlinks in /usr/local/bin • Plays nice with HomeBrew You must remove previous version from $PATH 11
  • 12. Native Installers • Download our .repo file to /etc/yumrepos.d • sudo yum install atlassian-plugin-sdk You must remove previous version from $PATH 12
  • 13. Native Installers • Add sdkrepo.atlassian.com to apt sources • Import our public key • sudo apt-get install atlassian-plugin-sdk You must remove previous version from $PATH 13
  • 15. What About My POM? • SDK detects outdated sdk versions in pom.xml • Asks if you’d like your pom updated • Never be behind on SDK version again! 15
  • 18. TESTING 18
  • 19. TESTING - Housekeeping • Updated Surefire • Mix JUnit 3 & 4 tests • Added Failsafe • Integration Tests don’t abort • Updated Cargo • Can now deploy to the ROOT context • DO NOT USE -Dmaven.test.skip • Use -DskipTests instead 19
  • 20. TESTING - New Func Tests Maven JUnit The World of JIRA My Test 20
  • 21. TESTING - New Func Tests Maven JUnit The World of JIRA My Test 20
  • 22. TESTING 21
  • 23. What’s Next? • SDK 4.1 • Support for custom datasources Really? That’s it? 22
  • 24. Stuff We’re Playing With MAVEN 3 23
  • 25. Stuff We’re Playing With MAVEN 3 23
  • 26. Stuff We’re Playing With DOCCO 24
  • 27. Stuff We’re Playing With Java Configured Plugins • Java class replaces atlassian-plugin.xml • Every module type has a java builder • Complete IDE code completion • No XML Transformation == Faster Load Times! • Stay in code, not in docs 25

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n