jruby-gradle.github.io/news/2015/09/18/jruby-gradle-1-1/index.html

196 lines
6.5 KiB
HTML

<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>
JRuby/Gradle 1.1 'Dresden' released
</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>
<li>
<a href='https://bintray.com/jruby-gradle/plugins'>
<img src='https://api.bintray.com/packages/jruby-gradle/plugins/jruby-gradle-plugin/images/download.svg'>
</a>
</li>
</ul>
</div>
<div id='content'>
<h1>
JRuby/Gradle 1.1 'Dresden' released
</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Since our <a href="/news/2015/08/04/jrubygradle-one-point-oh/">major 1.0
announcement</a> at this past year&#8217;s <a href="http://2015.jrubyconf.eu">JRubyConf EU</a>
we&#8217;ve had a pretty steady stream of improvements and bug fixes in a total
of four patch releases (1.0.0 - 1.0.4), so we&#8217;re due for a big meaty
feature release! The most impactful feature, sponsored in part by
<a href="https://lookout.com">Lookout, Inc.</a>, is the support for <strong>dependency
resolution without a 3rd party proxy.</strong></p>
</div>
<div class="paragraph">
<p>By default, JRuby/Gradle relies on a third party instance of the
<a href="https://github.com/torquebox/rubygems-servlets">rubygems-servlets</a> proxy
which represents a Rubygem repository in a Maven-compatible format, allowing
tools like Gradle or Maven to prepare a dependency graph using Ruby gems. With
1.1, codenamed "<a href="https://en.wikipedia.org/wiki/Dresden">Dresden</a>", release
we&#8217;ve <em>embedded</em> the proxy software directly into the Gradle process. With the
<code>rubygems()</code> function, users can use gem dependencies from
<strong>any</strong> repository, whether it&#8217;s a public repository like
<a href="https://rubygems.org">rubygems.org</a> or an internal Ruby gem repository.</p>
</div>
<div class="paragraph">
<p>Currently this behavior is <strong>defaulted to off</strong> so users must explicitly
enable it, 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">/* add the latest jruby/gradle plugin */
buildscript {
repositories { jcenter() }
dependencies {
/* allow Gradle to resolve anything between 1.1.2 and 1.2.0 (exclusive) */
classpath &quot;com.github.jruby-gradle:jruby-gradle-plugin:[1.1.2,1.2)&quot;
}
}
apply plugin: 'com.github.jruby-gradle.base'
/* Disable the default repositories so we can add our own */
jruby {
defaultRepositories false
}
repositories {
/* use jcenter() so we can get JRuby itself */
jcenter()
/* use our new rubygems() function to add a rubygems repo */
rubygems('https://rubygems.org')
}
dependncies {
gems 'rubygems:sinatra:1.4.5'
}</code></pre>
</div>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
In our beta testing of this feature, users on JDK7 may need to
increase their available "PermGen" space for more complex projects via the
<code>gradle.properties</code> setting of: <code>org.gradle.jvmargs="-XX:MaxPermSize=512m"</code>
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>Once this functionality has been deemed stable, it will be enabled <strong>by
default</strong> so please try it out, and as per usual, please report any bugs to the
<a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues">GitHub Issues</a>
page.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="other-notable-features"><a class="anchor" href="#other-notable-features"></a>Other Notable Features</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The
<a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues?q=milestone%3A%221.1.0+-+Dresden%22">full
list of changes/fixes</a> is rather long, so below is a summary of what we thing
are nifty and notable features in 1.1:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues/131">#131</a>:
Provide a command-line property to change the version of JRuby at runtime
(<code>./gradlew -PjrubyVersion=9.0.1.0</code>)</p>
</li>
<li>
<p><a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues/211">#211</a>:
Default to <a href="http://jruby.org/2015/09/02/jruby-9-0-1-0.html">JRuby 9.0.1.0</a></p>
</li>
<li>
<p><a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues/200">#200</a>:
Reduced <code>.jar</code> file size by not packing <code>cache/*.gem</code> inside the archive.</p>
</li>
<li>
<p><a href="https://github.com/jruby-gradle/jruby-gradle-plugin/pull/208">#208</a>:
Ensure <code>gradle.rb</code> scripts use the same classpath, gems and jars as their
j <code>JRubyExec</code> counterparts</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="bug-fixes"><a class="anchor" href="#bug-fixes"></a>Bug fixes</h2>
<div class="sectionbody">
<div class="paragraph">
<p>And of course some bug fixes, most of which were backported and released as
part of <a href="/news/2015/09/10/jruby-gradle-1/">JRuby/Gradle 1.0.4</a>.</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/jruby-gradle/jruby-gradle-plugin/issues/195">#195</a>:
Ensure released versions of the plugin are laid out in the Maven repository
correctly (allows specifying a version range dependency on the plugin itself
properly like in the above example)</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<hr>
<div id='improve'>
<a href='https://github.com/jruby-gradle/jruby-gradle-plugin/edit/master/docs//news/2015-09-18-jruby-gradle-1-1.adoc'>
improve this page
</a>
</div>
</body>
</html>