Publish of Github pages from Gradle.

This commit is contained in:
R. Tyler Croy 2015-09-01 18:34:44 -07:00
parent 6960e8fee7
commit b05b121482
32 changed files with 628 additions and 237 deletions

View File

@ -1,137 +0,0 @@
<html>
<head>
<link href='/stylesheets/foundation.css' rel='stylesheet'>
<link href='/stylesheets/jrubygradle.css' rel='stylesheet'>
<link href='/news.atom' rel='alternate' title='JRuby/Gradle News' type='application/atom+xml'>
<title>
JRubyJar JRubyExec conflict on jrubyVersion/jrubyMainsVersion
</title>
</head>
<body>
<a href='https://github.com/jruby-gradle'>
<img alt='Fork me on GitHub' data-canonical-src='https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png' src='https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67' style='position: absolute; top: 0; right: 0; border: 0;'>
</a>
<div id='main_nav'>
<ul>
<li>
<a href='/'>
Home
</a>
</li>
<li>
<a href='/docs/'>
Documentation
</a>
</li>
<li>
<a href='/community/'>
Community
</a>
</li>
<li>
<a href='/news/'>
News
</a>
</li>
<li>
<a href='/download/'>
Download
</a>
</li>
<li>
<a href='https://travis-ci.org/jruby-gradle/jruby-gradle-plugin'>
<img src='https://travis-ci.org/jruby-gradle/jruby-gradle-plugin.svg?branch=master'>
</a>
</li>
</ul>
</div>
<div id='content'>
<h1>
JRubyJar JRubyExec conflict on jrubyVersion/jrubyMainsVersion
</h1>
<div class="sect1">
<h2 id="what-s-going-on"><a class="anchor" href="#what-s-going-on"></a>What&#8217;s going on?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The
<a href="/groovydoc/jruby-gradle-jar-plugin/com/github/jrubygradle/jar/JRubyJar.html">JRubyJar</a>
task allows the user to define a specific version of
<a href="http://jruby.org">JRuby</a> via the <code>jrubyVersion</code> property and a specific
version of the library <code>jruby-mains</code> via the <code>jrubyMainsVersion</code> property.
Changing these versions requires requested version to be added to a dependency
graph. In order to prevent unintentional conflicts in the dependency graph, the
<a href="/jar/">jar</a> plugin will prevent a <code>JRubyJar</code> task from adding a different
JRuby/jruby-mains version to the <em>default</em> <code>jrubyJar</code>
<a href="https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.Configuration.html">configuration</a>.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
This is effectively the same <a href="/errors/jrubyexec-version-conflict/">behavior that JRubyExec exhibits</a>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="how-to-fix-it"><a class="anchor" href="#how-to-fix-it"></a>How to fix it</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Fixing this behavior is relatively easy, the <code>JRubyJar</code> task which requires its
own custom version of JRuby or jruby-mains to be installed should <em>also</em> use a
custom, user-defined,
<a href="https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.Configuration.html">configuration</a>.
E.g.</p>
</div>
<div class="listingblock">
<div class="title">build.gradle</div>
<div class="content">
<pre class="CodeRay highlight nowrap"><code data-lang="gradle">configurations {
backwardsCompat
}
dependencies {
backwardsCompat 'rubygems:sinatra:1.0.0'
}
task buildLegacyJar(type: JRubyJar) {
configuration backwardsCompat
jrubyVersion '1.7.19'
jrubyMainsVersion '0.2.0'
}</code></pre>
</div>
</div>
<div class="sect2">
<h3 id="okay-that-didn-t-work"><a class="anchor" href="#okay-that-didn-t-work"></a>Okay, that didn&#8217;t work</h3>
<div class="paragraph">
<p>If that work-around didn&#8217;t help fix the issue, then you may have encountered an
unknown <strong>bug!</strong>. Please
<a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues">file an issue</a>
so we can correct the broken behavior!</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="links"><a class="anchor" href="#links"></a>Links</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues/168">issue
#168</a> contains a reported side-effect of this behavior prior to an error
being generated</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<hr>
</body>
</html>

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>GemUtils.OverwriteAction (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>GemUtils (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../groovy.ico" type="image/x-icon" rel="icon">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>JRubyPlugin (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>JRubyPluginExtension (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../groovy.ico" type="image/x-icon" rel="icon">

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>GemVersion (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>GemVersionResolver (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>JRubyExecDelegate (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>JRubyExecTraits (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:08 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:22 PDT 2015 -->
<title>JRubyExecUtils (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Generated by groovydoc (2.3.3) on -->
<title>Deprecated API (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="groovy.ico" type="image/x-icon" rel="icon">

View File

@ -8,7 +8,7 @@
<title>API Help (jruby-gradle-base-plugin 1.0.3 API)</title>
<link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="groovy.ico" type="image/x-icon" rel="icon">
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body class="center">

View File

@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Generated by groovydoc (2.3.3) on -->
<title>Index (jruby-gradle-base-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body class="center">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:14 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:27 PDT 2015 -->
<title>JRubyJar.Type (jruby-gradle-jar-plugin 1.0.3)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:14 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:27 PDT 2015 -->
<title>JRubyJarPlugin (jruby-gradle-jar-plugin 1.0.3)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:13 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:26 PDT 2015 -->
<title>JRubyDirInfo (jruby-gradle-jar-plugin 1.0.3)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Generated by groovydoc (2.3.3) on -->
<title>Deprecated API (jruby-gradle-jar-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="groovy.ico" type="image/x-icon" rel="icon">

View File

@ -8,7 +8,7 @@
<title>API Help (jruby-gradle-jar-plugin 1.0.3 API)</title>
<link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="groovy.ico" type="image/x-icon" rel="icon">
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body class="center">

View File

@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Generated by groovydoc (2.3.3) on -->
<title>Index (jruby-gradle-jar-plugin 1.0.3 API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body class="center">
@ -316,8 +316,6 @@ if (location.href.indexOf('is-external=true') == -1) {
<h2 class="title">V</h2>
<dl>
<dt><span class="strong"><a href="com/github/jrubygradle/jar/JRubyJar.html#validateTaskConfiguration()" title="Method in JRubyJar">validateTaskConfiguration()</a></span> - Method in <a href="com/github/jrubygradle/jar/JRubyJar.html">JRubyJar</a>
</dt><dd> <div class="block">Verify that we are in a good configuration for execution</div></dd>
</dl>

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,9 @@
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Sun Aug 16 15:19:18 PDT 2015 -->
<!-- Generated by groovydoc (2.3.3) on Tue Sep 01 18:34:31 PDT 2015 -->
<title>JRubyWarPlugin (jruby-gradle-war-plugin 1.0.3-alpha API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="../../../../groovy.ico" type="image/x-icon" rel="icon">

View File

@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Generated by groovydoc (2.3.3) on -->
<title>Deprecated API (jruby-gradle-war-plugin 1.0.3-alpha API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="groovy.ico" type="image/x-icon" rel="icon">

View File

@ -8,7 +8,7 @@
<title>API Help (jruby-gradle-war-plugin 1.0.3-alpha API)</title>
<link href="groovy.ico" type="image/x-icon" rel="shortcut icon">
<link href="groovy.ico" type="image/x-icon" rel="icon">
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body class="center">

View File

@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Generated by groovydoc (2.3.3) on -->
<title>Index (jruby-gradle-war-plugin 1.0.3-alpha API)</title>
<meta name="date" content="2015-08-16">
<meta name="date" content="2015-09-01">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body class="center">

184
news.atom
View File

@ -1,13 +1,193 @@
<feed xml:lang='en-US' xmlns='http://www.w3.org/2005/Atom'>
<id>http://jruby-gradle.org/</id>
<title>JRuby/Gradle News</title>
<updated>2015-08-16T15:28:41-07:00</updated>
<updated>2015-09-01T18:33:14-07:00</updated>
<link href='http://jruby-gradle.org/news.atom' rel='self' type='application/atom+xml'>
<link href='http://jruby-gradle.org/' rel='alternate' type='text/html'>
<entry>
<id>http://jruby-gradle.org/news/2015/09/01/using-newer-gradle-features/</id>
<title>Gradle Feature Spotlight: Continuous Build</title>
<updated>2015-09-01T18:33:14-07:00</updated>
<published>2015-09-01T00:00:00+00:00</published>
<link href='http://jruby-gradle.org/news/2015/09/01/using-newer-gradle-features/' rel='alternate' type='text/html'>
<summary>
Earlier this year the Gradle project released version
2.5 with a heap of new features
and improvements. One of the most touted of those features is an incubating
feature (read: beta) named
Continuous
Build which automatically re-executes tasks after a file change. Rubyists may
recognize that this functionality is similar to what
the guard gem provides.
What makes "continuous build" special is that it makes use of the existing
build data present in your Gradle build. Using a
task&#8217;s
inputs the continuous build feature can automatically "watch" the appropriate
files to re-execute your task, or your tasks dependent tasks, automatically as
they change!
For users JRuby/Gradle this means that upgrading to Gradle 2.5 or...
</summary>
<content type='html'>
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Earlier this year the &lt;a href=&quot;http://gradle.org&quot;&gt;Gradle&lt;/a&gt; project released version
&lt;a href=&quot;https://docs.gradle.org/2.5/release-notes&quot;&gt;2.5&lt;/a&gt; with a heap of new features
and improvements. One of the most touted of those features is an incubating
feature (read: beta) named
&lt;a href=&quot;https://docs.gradle.org/current/userguide/continuous_build.html&quot;&gt;Continuous
Build&lt;/a&gt; which automatically re-executes tasks after a file change. Rubyists may
recognize that this functionality is similar to what
&lt;a href=&quot;http://guardgem.org/&quot;&gt;the guard gem&lt;/a&gt; provides.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What makes &quot;continuous build&quot; special is that it makes use of the &lt;em&gt;existing&lt;/em&gt;
build data present in your Gradle build. Using a
&lt;a href=&quot;https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:task_inputs_outputs&quot;&gt;tasks
inputs&lt;/a&gt; the continuous build feature can automatically &quot;watch&quot; the appropriate
files to re-execute your task, or your tasks dependent tasks, automatically as
they change!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;For users JRuby/Gradle this means that upgrading to Gradle 2.5 or later, and
ensuring your &lt;code&gt;build.gradle&lt;/code&gt; declares task inputs and continuous build will
&quot;just work!&quot; Consider the following example for running
&lt;a href=&quot;http://rspec.info&quot;&gt;RSpec&lt;/a&gt; tests:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;title&quot;&gt;build.gradle&lt;/div&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;CodeRay highlight nowrap&quot;&gt;&lt;code data-lang=&quot;gradle&quot;&gt;buildscript {
repositories { jcenter() }
dependencies {
classpath &quot;com.github.jruby-gradle:jruby-gradle-plugin:1.0.3&quot; &lt;i class=&quot;conum&quot; data-value=&quot;1&quot;&gt;&lt;/i&gt;&lt;b&gt;(1)&lt;/b&gt;
}
}
apply plugin: 'com.github.jruby-gradle.base' &lt;i class=&quot;conum&quot; data-value=&quot;2&quot;&gt;&lt;/i&gt;&lt;b&gt;(2)&lt;/b&gt;
dependencies {
jrubyExec 'rubygems:rspec:3.3.0' &lt;i class=&quot;conum&quot; data-value=&quot;3&quot;&gt;&lt;/i&gt;&lt;b&gt;(3)&lt;/b&gt;
}
import com.github.jrubygradle.JRubyExec
task spec(type: JRubyExec) {
group 'JRuby'
description 'Execute the RSpecs in JRuby'
script 'rspec'
inputs.source fileTree('spec').include('**/*.rb'), fileTree('lib').include('**/*.rb') &lt;i class=&quot;conum&quot; data-value=&quot;4&quot;&gt;&lt;/i&gt;&lt;b&gt;(4)&lt;/b&gt;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;colist arabic&quot;&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;&lt;i class=&quot;conum&quot; data-value=&quot;1&quot;&gt;&lt;/i&gt;&lt;b&gt;1&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Specify our dependency on the JRuby/Gradle &lt;a href=&quot;http://jruby-gradle.org/base/&quot;&gt;base plugin&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;i class=&quot;conum&quot; data-value=&quot;2&quot;&gt;&lt;/i&gt;&lt;b&gt;2&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Apply the plugin to our current project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;i class=&quot;conum&quot; data-value=&quot;3&quot;&gt;&lt;/i&gt;&lt;b&gt;3&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Define our RSpec gem dependency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;i class=&quot;conum&quot; data-value=&quot;4&quot;&gt;&lt;/i&gt;&lt;b&gt;4&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Set our task inputs to the &lt;code&gt;.rb&lt;/code&gt; files in &lt;code&gt;spec/&lt;/code&gt; and in &lt;code&gt;lib/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Using the &lt;code&gt;build.gradle&lt;/code&gt; above, I can auto-execute my tests whenever a Ruby file
inside of the &lt;code&gt;spec/&lt;/code&gt; (my tests) or &lt;code&gt;lib/&lt;/code&gt; (my code under test) with the
following command:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;literalblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;nowrap&quot;&gt;% ./gradlew -t spec&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Heres some example output from my example project:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;nowrap&quot;&gt;example-project git:(master) % ./gradlew -t spec
Continuous build is an incubating feature.
:spec
Randomized with seed 37453
..............................................
Finished in 0.52 seconds (files took 3.82 seconds to load)
46 examples, 0 failures
Randomized with seed 37453
BUILD SUCCESSFUL
Total time: 8.77 secs
Waiting for changes to input files of tasks... (ctrl-d to exit)&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;At this point the Gradle process is patiently waiting until I write my most
recent changes, then it kicks off the same task:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;listingblock&quot;&gt;
&lt;div class=&quot;content&quot;&gt;
&lt;pre class=&quot;nowrap&quot;&gt;Change detected, executing build...
:spec
Randomized with seed 64935
..............................................
Finished in 0.502 seconds (files took 3.5 seconds to load)
46 examples, 0 failures
Randomized with seed 64935
BUILD SUCCESSFUL
Total time: 7.341 secs
Waiting for changes to input files of tasks... (ctrl-d to exit)&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Pretty neat huh?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;What makes this functionality exceptionally powerful for JRuby/Gradle users is
that it respects the task inputs but also the task dependency graph. If my &lt;code&gt;spec&lt;/code&gt;
task declares a dependency on the &lt;code&gt;compileJava&lt;/code&gt; task, whenever my Java source
code changes, that will trigger a re-execution of &lt;code&gt;compileJava&lt;/code&gt; and in turn
&lt;code&gt;spec&lt;/code&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;So when youre authoring tasks, even if youre not this feature right now, be
sure to declare task inputs. That build metadata can unlock lots of interesting
functionality as Gradle continues to improve!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Continuous build is one of many examples of powerful Gradle functionality which
can easily used in JRuby/Gradle, I hope you find it useful!&lt;/p&gt;
&lt;/div&gt;
</content>
</entry>
<entry>
<id>http://jruby-gradle.org/news/2015/08/16/introduction-at-jrubyconfeu/</id>
<title>JRuby/Gradle at JRubyConf EU 2015</title>
<updated>2015-08-16T15:28:41-07:00</updated>
<updated>2015-09-01T18:30:49-07:00</updated>
<published>2015-08-16T00:00:00+00:00</published>
<link href='http://jruby-gradle.org/news/2015/08/16/introduction-at-jrubyconfeu/' rel='alternate' type='text/html'>
<summary>

View File

@ -0,0 +1,204 @@
<html>
<head>
<link href='/stylesheets/foundation.css' rel='stylesheet'>
<link href='/stylesheets/jrubygradle.css' rel='stylesheet'>
<link href='/news.atom' rel='alternate' title='JRuby/Gradle News' type='application/atom+xml'>
<title>
Gradle Feature Spotlight: Continuous Build
</title>
</head>
<body>
<a href='https://github.com/jruby-gradle'>
<img alt='Fork me on GitHub' data-canonical-src='https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png' src='https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67' style='position: absolute; top: 0; right: 0; border: 0;'>
</a>
<div id='main_nav'>
<ul>
<li>
<a href='/'>
Home
</a>
</li>
<li>
<a href='/docs/'>
Documentation
</a>
</li>
<li>
<a href='/community/'>
Community
</a>
</li>
<li>
<a href='/news/'>
News
</a>
</li>
<li>
<a href='/download/'>
Download
</a>
</li>
<li>
<a href='https://travis-ci.org/jruby-gradle/jruby-gradle-plugin'>
<img src='https://travis-ci.org/jruby-gradle/jruby-gradle-plugin.svg?branch=master'>
</a>
</li>
</ul>
</div>
<div id='content'>
<h1>
Gradle Feature Spotlight: Continuous Build
</h1>
<div class="paragraph">
<p>Earlier this year the <a href="http://gradle.org">Gradle</a> project released version
<a href="https://docs.gradle.org/2.5/release-notes">2.5</a> with a heap of new features
and improvements. One of the most touted of those features is an incubating
feature (read: beta) named
<a href="https://docs.gradle.org/current/userguide/continuous_build.html">Continuous
Build</a> which automatically re-executes tasks after a file change. Rubyists may
recognize that this functionality is similar to what
<a href="http://guardgem.org/">the guard gem</a> provides.</p>
</div>
<div class="paragraph">
<p>What makes "continuous build" special is that it makes use of the <em>existing</em>
build data present in your Gradle build. Using a
<a href="https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:task_inputs_outputs">task&#8217;s
inputs</a> the continuous build feature can automatically "watch" the appropriate
files to re-execute your task, or your tasks dependent tasks, automatically as
they change!</p>
</div>
<div class="paragraph">
<p>For users JRuby/Gradle this means that upgrading to Gradle 2.5 or later, and
ensuring your <code>build.gradle</code> declares task inputs and continuous build will
"just work!" Consider the following example for running
<a href="http://rspec.info">RSpec</a> tests:</p>
</div>
<div class="listingblock">
<div class="title">build.gradle</div>
<div class="content">
<pre class="CodeRay highlight nowrap"><code data-lang="gradle">buildscript {
repositories { jcenter() }
dependencies {
classpath &quot;com.github.jruby-gradle:jruby-gradle-plugin:1.0.3&quot; <i class="conum" data-value="1"></i><b>(1)</b>
}
}
apply plugin: 'com.github.jruby-gradle.base' <i class="conum" data-value="2"></i><b>(2)</b>
dependencies {
jrubyExec 'rubygems:rspec:3.3.0' <i class="conum" data-value="3"></i><b>(3)</b>
}
import com.github.jrubygradle.JRubyExec
task spec(type: JRubyExec) {
group 'JRuby'
description 'Execute the RSpecs in JRuby'
script 'rspec'
inputs.source fileTree('spec').include('**/*.rb'), fileTree('lib').include('**/*.rb') <i class="conum" data-value="4"></i><b>(4)</b>
}</code></pre>
</div>
</div>
<div class="colist arabic">
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td>Specify our dependency on the JRuby/Gradle <a href="/base/">base plugin</a></td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>Apply the plugin to our current project</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>Define our RSpec gem dependency</td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td>Set our task inputs to the <code>.rb</code> files in <code>spec/</code> and in <code>lib/</code></td>
</tr>
</table>
</div>
<div class="paragraph">
<p>Using the <code>build.gradle</code> above, I can auto-execute my tests whenever a Ruby file
inside of the <code>spec/</code> (my tests) or <code>lib/</code> (my code under test) with the
following command:</p>
</div>
<div class="literalblock">
<div class="content">
<pre class="nowrap">% ./gradlew -t spec</pre>
</div>
</div>
<div class="paragraph">
<p>Here&#8217;s some example output from my example project:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">example-project git:(master) % ./gradlew -t spec
Continuous build is an incubating feature.
:spec
Randomized with seed 37453
..............................................
Finished in 0.52 seconds (files took 3.82 seconds to load)
46 examples, 0 failures
Randomized with seed 37453
BUILD SUCCESSFUL
Total time: 8.77 secs
Waiting for changes to input files of tasks... (ctrl-d to exit)</pre>
</div>
</div>
<div class="paragraph">
<p>At this point the Gradle process is patiently waiting until I write my most
recent changes, then it kicks off the same task:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">Change detected, executing build...
:spec
Randomized with seed 64935
..............................................
Finished in 0.502 seconds (files took 3.5 seconds to load)
46 examples, 0 failures
Randomized with seed 64935
BUILD SUCCESSFUL
Total time: 7.341 secs
Waiting for changes to input files of tasks... (ctrl-d to exit)</pre>
</div>
</div>
<div class="paragraph">
<p>Pretty neat huh?</p>
</div>
<div class="paragraph">
<p>What makes this functionality exceptionally powerful for JRuby/Gradle users is
that it respects the task inputs but also the task dependency graph. If my <code>spec</code>
task declares a dependency on the <code>compileJava</code> task, whenever my Java source
code changes, that will trigger a re-execution of <code>compileJava</code> and in turn
<code>spec</code>!</p>
</div>
<div class="paragraph">
<p>So when you&#8217;re authoring tasks, even if you&#8217;re not this feature right now, be
sure to declare task inputs. That build metadata can unlock lots of interesting
functionality as Gradle continues to improve!</p>
</div>
<div class="paragraph">
<p>Continuous build is one of many examples of powerful Gradle functionality which
can easily used in JRuby/Gradle, I hope you find it useful!</p>
</div>
</div>
<hr>
</body>
</html>

View File

@ -51,6 +51,165 @@ JRuby/Gradle News
</h1>
<div class='post'>
<h1>
<a href='/news/2015/09/01/using-newer-gradle-features/'>Gradle Feature Spotlight: Continuous Build</a>
</h1>
<strong>
01 September 2015
</strong>
<div class='content'>
<div class="paragraph">
<p>Earlier this year the <a href="http://gradle.org">Gradle</a> project released version
<a href="https://docs.gradle.org/2.5/release-notes">2.5</a> with a heap of new features
and improvements. One of the most touted of those features is an incubating
feature (read: beta) named
<a href="https://docs.gradle.org/current/userguide/continuous_build.html">Continuous
Build</a> which automatically re-executes tasks after a file change. Rubyists may
recognize that this functionality is similar to what
<a href="http://guardgem.org/">the guard gem</a> provides.</p>
</div>
<div class="paragraph">
<p>What makes "continuous build" special is that it makes use of the <em>existing</em>
build data present in your Gradle build. Using a
<a href="https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:task_inputs_outputs">task&#8217;s
inputs</a> the continuous build feature can automatically "watch" the appropriate
files to re-execute your task, or your tasks dependent tasks, automatically as
they change!</p>
</div>
<div class="paragraph">
<p>For users JRuby/Gradle this means that upgrading to Gradle 2.5 or later, and
ensuring your <code>build.gradle</code> declares task inputs and continuous build will
"just work!" Consider the following example for running
<a href="http://rspec.info">RSpec</a> tests:</p>
</div>
<div class="listingblock">
<div class="title">build.gradle</div>
<div class="content">
<pre class="CodeRay highlight nowrap"><code data-lang="gradle">buildscript {
repositories { jcenter() }
dependencies {
classpath &quot;com.github.jruby-gradle:jruby-gradle-plugin:1.0.3&quot; <i class="conum" data-value="1"></i><b>(1)</b>
}
}
apply plugin: 'com.github.jruby-gradle.base' <i class="conum" data-value="2"></i><b>(2)</b>
dependencies {
jrubyExec 'rubygems:rspec:3.3.0' <i class="conum" data-value="3"></i><b>(3)</b>
}
import com.github.jrubygradle.JRubyExec
task spec(type: JRubyExec) {
group 'JRuby'
description 'Execute the RSpecs in JRuby'
script 'rspec'
inputs.source fileTree('spec').include('**/*.rb'), fileTree('lib').include('**/*.rb') <i class="conum" data-value="4"></i><b>(4)</b>
}</code></pre>
</div>
</div>
<div class="colist arabic">
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td>Specify our dependency on the JRuby/Gradle <a href="/base/">base plugin</a></td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>Apply the plugin to our current project</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>Define our RSpec gem dependency</td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td>Set our task inputs to the <code>.rb</code> files in <code>spec/</code> and in <code>lib/</code></td>
</tr>
</table>
</div>
<div class="paragraph">
<p>Using the <code>build.gradle</code> above, I can auto-execute my tests whenever a Ruby file
inside of the <code>spec/</code> (my tests) or <code>lib/</code> (my code under test) with the
following command:</p>
</div>
<div class="literalblock">
<div class="content">
<pre class="nowrap">% ./gradlew -t spec</pre>
</div>
</div>
<div class="paragraph">
<p>Here&#8217;s some example output from my example project:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">example-project git:(master) % ./gradlew -t spec
Continuous build is an incubating feature.
:spec
Randomized with seed 37453
..............................................
Finished in 0.52 seconds (files took 3.82 seconds to load)
46 examples, 0 failures
Randomized with seed 37453
BUILD SUCCESSFUL
Total time: 8.77 secs
Waiting for changes to input files of tasks... (ctrl-d to exit)</pre>
</div>
</div>
<div class="paragraph">
<p>At this point the Gradle process is patiently waiting until I write my most
recent changes, then it kicks off the same task:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">Change detected, executing build...
:spec
Randomized with seed 64935
..............................................
Finished in 0.502 seconds (files took 3.5 seconds to load)
46 examples, 0 failures
Randomized with seed 64935
BUILD SUCCESSFUL
Total time: 7.341 secs
Waiting for changes to input files of tasks... (ctrl-d to exit)</pre>
</div>
</div>
<div class="paragraph">
<p>Pretty neat huh?</p>
</div>
<div class="paragraph">
<p>What makes this functionality exceptionally powerful for JRuby/Gradle users is
that it respects the task inputs but also the task dependency graph. If my <code>spec</code>
task declares a dependency on the <code>compileJava</code> task, whenever my Java source
code changes, that will trigger a re-execution of <code>compileJava</code> and in turn
<code>spec</code>!</p>
</div>
<div class="paragraph">
<p>So when you&#8217;re authoring tasks, even if you&#8217;re not this feature right now, be
sure to declare task inputs. That build metadata can unlock lots of interesting
functionality as Gradle continues to improve!</p>
</div>
<div class="paragraph">
<p>Continuous build is one of many examples of powerful Gradle functionality which
can easily used in JRuby/Gradle, I hope you find it useful!</p>
</div>
</div>
</div>
<div class='post'>
<h1>
<a href='/news/2015/08/16/introduction-at-jrubyconfeu/'>JRuby/Gradle at JRubyConf EU 2015</a>
</h1>
<strong>

View File

@ -1,91 +1,85 @@
<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>
<url>
<loc>http://jruby-gradle.org/base/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/community/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/cookbook/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/docinfo/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/docs/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/docs.iml</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/download/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/errors/jrubyexec-version-conflict/</loc>
<lastmod>2015-08-16</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/errors/jrubyjar-version-conflict/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/examples/basic-topology.gradle</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/examples/building-wars.gradle</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/examples/executable-jar.gradle</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/examples/rspec.gradle</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/jar/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
@ -102,50 +96,56 @@
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/news/2015/09/01/using-newer-gradle-features/</loc>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/news/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/plugins/base/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/plugins/jar/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/plugins/storm/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/plugins/war/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/start/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/storm/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>
<url>
<loc>http://jruby-gradle.org/war/</loc>
<lastmod>2015-08-16</lastmod>
<lastmod>2015-09-01</lastmod>
<priority>0.1</priority>
<changefreq>never</changefreq>
</url>