PageRenderTime 49ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/dev/2016/07/13/gradle-in-snapcraft.html

https://bitbucket.org/zenharbinger/zenharbinger.bitbucket.io
HTML | 228 lines | 102 code | 98 blank | 28 comment | 0 complexity | ac50ca8c4129539f485b47b0364e7fc2 MD5 | raw file
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>Gradle in snapcraft</title>
  8. <meta name="description" content="I have added a new plugin into snapcraft for building snaps from Java projects utilizing gradle. The plugin utilizes the jar task. Mirrored from the maven ...">
  9. <link rel="stylesheet" href="/css/main.css">
  10. <link rel="canonical" href="http://localhost:4000/dev/2016/07/13/gradle-in-snapcraft.html">
  11. <link rel="alternate" type="application/rss+xml" title="TROS.org" href="http://localhost:4000/feed.xml">
  12. </head>
  13. <body>
  14. <header class="site-header" style="background-color: #CECAC5;">
  15. <div class="wrapper">
  16. <!-- <a class="site-title" href="/">TROS.org</a> -->
  17. <a class="site-title" href="/"><img src="/tros-images/tros.svg" style="height: 40px;" alt="tros.org"/></a>
  18. <nav class="site-nav">
  19. <a href="#" class="menu-icon">
  20. <svg viewBox="0 0 18 15">
  21. <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
  22. <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
  23. <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
  24. </svg>
  25. </a>
  26. <div class="trigger">
  27. <a class="page-link" href="/about/">About</a>
  28. <a class="page-link" href="/resume/">Resume</a>
  29. </div>
  30. </nav>
  31. </div>
  32. </header>
  33. <div class="page-content">
  34. <div id="main" role="main">
  35. <script src="/javascripts/vendor/jquery/jquery-3.0.0.min.js"></script>
  36. <script src="/javascripts/plugins/stickyfill.min.js"></script>
  37. <script src="/javascripts/sticky.js"></script>
  38. <div class="sidebar sticky">
  39. <div itemscope itemtype="http://schema.org/Person">
  40. <div class="author__avatar">
  41. <img src="/images/bio-photo.png" class="author__avatar" alt="Matthew Aguirre">
  42. </div>
  43. <div class="author__content">
  44. <h3 class="author__name">Matthew Aguirre</h3>
  45. <p class="author__bio">This space intentionally left blank.</p>
  46. </div>
  47. <div class="author__urls-wrapper">
  48. <button class="btn btn--inverse">Follow</button>
  49. <ul class="author__urls social-icons">
  50. <li><a href="https://bitbucket.org/zenharbinger"><i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket</a></li>
  51. </ul>
  52. </div>
  53. </div>
  54. </div>
  55. <div class="wrapper">
  56. <article class="post" itemscope itemtype="http://schema.org/BlogPosting">
  57. <header class="post-header">
  58. <h1 class="post-title" itemprop="name headline">Gradle in snapcraft</h1>
  59. <p class="post-meta"><time datetime="2016-07-13T15:29:17-04:00" itemprop="datePublished">Jul 13, 2016</time> <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">Matthew Aguirre</span></span></p>
  60. </header>
  61. <div class="post-content" itemprop="articleBody">
  62. <p>I have added a new plugin into snapcraft for building snaps from Java projects utilizing gradle. The plugin utilizes the <a href="https://docs.gradle.org/current/userguide/java_plugin.html#N15BFE">jar task</a>. Mirrored from the maven plugin where <code class="highlighter-rouge">mvn package</code> is called, the gradle plugin calls <code class="highlighter-rouge">./gradlew [OPTOINS] jar</code> with any additional parameters that are passed in via the <code class="highlighter-rouge">gradle-options</code> property in the plugin.</p>
  63. <p>Output files located in the build/libs directory are copied to the snaps <code class="highlighter-rouge">jar</code> directory.</p>
  64. <p>Also, happy birthday Mackenzie!</p>
  65. <p>snapcraft.yaml:</p>
  66. <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">name</span><span class="pi">:</span> <span class="s">java-hello-gradle</span>
  67. <span class="na">version</span><span class="pi">:</span> <span class="s">1.0.0</span>
  68. <span class="na">summary</span><span class="pi">:</span> <span class="s">A java example using gradle</span>
  69. <span class="na">description</span><span class="pi">:</span> <span class="s">this is not much more than an example using gradle</span>
  70. <span class="na">confinement</span><span class="pi">:</span> <span class="s">strict</span>
  71. <span class="na">apps</span><span class="pi">:</span>
  72. <span class="na">hello</span><span class="pi">:</span>
  73. <span class="na">command</span><span class="pi">:</span> <span class="s">bin/wrapper</span>
  74. <span class="na">parts</span><span class="pi">:</span>
  75. <span class="na">local</span><span class="pi">:</span>
  76. <span class="na">plugin</span><span class="pi">:</span> <span class="s">gradle</span>
  77. <span class="na">source</span><span class="pi">:</span> <span class="s">.</span>
  78. <span class="na">gradle-options</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">--debug</span><span class="pi">]</span>
  79. <span class="na">wrapper</span><span class="pi">:</span>
  80. <span class="na">plugin</span><span class="pi">:</span> <span class="s">make</span>
  81. <span class="na">source</span><span class="pi">:</span> <span class="s">.</span>
  82. </code></pre></div></div>
  83. </div>
  84. </article>
  85. </div>
  86. </div>
  87. </div>
  88. <footer class="site-footer" style="background-color: #AEA79F;">
  89. <div class="wrapper">
  90. <div class="footer-col-wrapper">
  91. <div class="footer-col footer-col-1">
  92. <img src="/tros-images/tros.svg" style="margin-top: -20px; height: 40px" alt="tros.org" />
  93. <!-- <h2 class="footer-heading" style="margin-bottom: 0px">TROS.org</h2> -->
  94. <p>Matthew Aguirre's Web-Site</p>
  95. <!-- <ul class="contact-list">
  96. <li>TROS.org</li>
  97. <li><a href="mailto:matt@tros.org">matt@tros.org</a></li>
  98. </ul> -->
  99. </div>
  100. <div class="footer-col footer-col-2">
  101. <!-- <ul class="social-media-list">
  102. <li>
  103. <a href="https://github.com/ZenHarbinger"><span class="icon icon--github"><svg viewBox="0 0 16 16"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
  104. </span><span class="username">ZenHarbinger</span></a>
  105. </li>
  106. <li>
  107. <a href="https://twitter.com/matt_aguirre"><span class="icon icon--twitter"><svg viewBox="0 0 16 16"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
  108. </span><span class="username">matt_aguirre</span></a>
  109. </li>
  110. </ul> -->
  111. </div>
  112. <div class="footer-col footer-col-3">
  113. <!-- <p>Matthew Aguirre's Web-Site</p> -->
  114. <!-- <ul class="social-media-list">
  115. <li><a href="/tags/">Tags</a></li>
  116. <li><a href="/categories/">Categories</a></li>
  117. </ul> -->
  118. </div>
  119. </div>
  120. </div>
  121. </footer>
  122. </body>
  123. </html>