You’ve got Plugins in your Pluginsjust like chocolate and peanut butterJonathan DoklovicDeveloper Relations, Atlassian
But I already know how to use mavendependencies to add other jars to myplugin’s jar!                                  Your...
Using maven dependenciesto add other plugins to your      plugin’s bundle             WTF?
Bundling Dependent Plugins with your Plugin that all get     Installed Separately
Why Is This Useful?•• Using Common Plugin Code   Using Common Plugin Code
Why Is This Useful?•• Using Common Plugin Code   Using Common Plugin Code
Why Is This Useful?•• Using Common Plugin Code   Using Common Plugin Code
Why Is This Useful?•• Using Common Plugin Code   Using Common Plugin Code
Why Is This Useful?•• Using Common Plugin Code   Using 3rd Party Plugin Points
Why Is This Useful?•• Using Common Plugin Code   Using 3rd Party Plugin Points
Why Is This Useful?•• Using Common Plugin Code   Using 3rd Party Plugin Points
Why Is This Useful?•• Using Common Plugin Code   Using 3rd Party Plugin Points
Why Is This Useful?•• Using Common PluginPlugins   Marketplace Enabled Code
Why Is This Useful?•• Using Common PluginPlugins   Marketplace Enabled Code
Why Is This Useful?•• Using Common PluginPlugins   Marketplace Enabled Code
Why Is This Useful?•• Using Common PluginPlugins   Marketplace Enabled Code
OBR How Do We Do This?OSGi Bundle Repository
OBR How Do We Do This?OSGi Bundle Repository
The OBR repository file is an XML-basedrepresentation of bundle meta-data.The goal is to provide a generic model fordescri...
Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install de...
Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install de...
Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install de...
Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install de...
Creating An OBR
Add Stuff to your POM.xml<plugin>   <groupId>com.atlassian.maven.plugins</groupId>   <artifactId>maven-confluence-plugin</...
Add Stuff to your POM.xml<properties>   <my.library.version>1.0</my.library.version>   ....</properties>
Add Stuff to your POM.xml<dependencies>    <dependency>         <groupId>my.company.whatever</groupId>         <artifactId...
Add Stuff to your POM.xml   <configuration>      ...      <!-- Specify what to bundle in the OBR -->      <pluginDependenc...
Build with SDK• MUST use SDK 3.9+• in ./target/ you get • my-plugin.jar • my-plugin.obr
Upload OBR to Marketplace       instead of jar
Resources    http://atlss.in/create-obr http://atlss.in/marketplace-obr
Thank you!
You've Got Plugins in Your Plugins: Bundling Plugin Dependencies - Atlassian Summit 2012
Upcoming SlideShare
Loading in …5
×

You've Got Plugins in Your Plugins: Bundling Plugin Dependencies - Atlassian Summit 2012

2,958 views

Published on

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,958
On SlideShare
0
From Embeds
0
Number of Embeds
1,242
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • This slide should begin your presentation\n
  • \n
  • \n
  • \n
  • Talk through plugin suite examples.\ne.g. workflow sharing plugin\n
  • Talk through plugin suite examples.\ne.g. workflow sharing plugin\n
  • Talk through plugin suite examples.\ne.g. workflow sharing plugin\n
  • Talk through plugin suite examples.\ne.g. workflow sharing plugin\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • This could be used for making a single statement of a few words or a sentence.\n\n
  • this can be used for key ideas that you want people to tweet\n
  • this can be used for key ideas that you want people to tweet\n
  • this can be used for key ideas that you want people to tweet\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • fin\n
  • You've Got Plugins in Your Plugins: Bundling Plugin Dependencies - Atlassian Summit 2012

    1. 1. You’ve got Plugins in your Pluginsjust like chocolate and peanut butterJonathan DoklovicDeveloper Relations, Atlassian
    2. 2. But I already know how to use mavendependencies to add other jars to myplugin’s jar! Your Mind Right Now
    3. 3. Using maven dependenciesto add other plugins to your plugin’s bundle WTF?
    4. 4. Bundling Dependent Plugins with your Plugin that all get Installed Separately
    5. 5. Why Is This Useful?•• Using Common Plugin Code Using Common Plugin Code
    6. 6. Why Is This Useful?•• Using Common Plugin Code Using Common Plugin Code
    7. 7. Why Is This Useful?•• Using Common Plugin Code Using Common Plugin Code
    8. 8. Why Is This Useful?•• Using Common Plugin Code Using Common Plugin Code
    9. 9. Why Is This Useful?•• Using Common Plugin Code Using 3rd Party Plugin Points
    10. 10. Why Is This Useful?•• Using Common Plugin Code Using 3rd Party Plugin Points
    11. 11. Why Is This Useful?•• Using Common Plugin Code Using 3rd Party Plugin Points
    12. 12. Why Is This Useful?•• Using Common Plugin Code Using 3rd Party Plugin Points
    13. 13. Why Is This Useful?•• Using Common PluginPlugins Marketplace Enabled Code
    14. 14. Why Is This Useful?•• Using Common PluginPlugins Marketplace Enabled Code
    15. 15. Why Is This Useful?•• Using Common PluginPlugins Marketplace Enabled Code
    16. 16. Why Is This Useful?•• Using Common PluginPlugins Marketplace Enabled Code
    17. 17. OBR How Do We Do This?OSGi Bundle Repository
    18. 18. OBR How Do We Do This?OSGi Bundle Repository
    19. 19. The OBR repository file is an XML-basedrepresentation of bundle meta-data.The goal is to provide a generic model fordescribing dependencies among resources. felix.apache.org
    20. 20. Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install dependencies
    21. 21. Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install dependencies
    22. 22. Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install dependencies
    23. 23. Atlassian dOBR• A zip file containing OBR xml and Plugin Artifacts• Generated by AMPS/Plugin SDK• Used by UPM to install dependencies
    24. 24. Creating An OBR
    25. 25. Add Stuff to your POM.xml<plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-confluence-plugin</artifactId> ... <configuration> ... <instructions> <!-- just having this makes an OBR --> </instructions> </configuration></plugin>
    26. 26. Add Stuff to your POM.xml<properties> <my.library.version>1.0</my.library.version> ....</properties>
    27. 27. Add Stuff to your POM.xml<dependencies> <dependency> <groupId>my.company.whatever</groupId> <artifactId>my-library</artifactId> <version>${my.library.version}</version> <scope>provided</scope> </dependency> ....</dependencies>
    28. 28. Add Stuff to your POM.xml <configuration> ... <!-- Specify what to bundle in the OBR --> <pluginDependencies> <pluginDependency> <groupId>my.company.library</groupId> <artifactId>my-library</artifactId> </pluginDependency> </pluginDependencies> <instructions> <!-- Specify what package to include. --> <Import-Package> my.company.library;version="${my.library.version}" </Import-Package> </instructions> </configuration>
    29. 29. Build with SDK• MUST use SDK 3.9+• in ./target/ you get • my-plugin.jar • my-plugin.obr
    30. 30. Upload OBR to Marketplace instead of jar
    31. 31. Resources http://atlss.in/create-obr http://atlss.in/marketplace-obr
    32. 32. Thank you!

    ×