jruby-gradle.github.io/groovydoc/jruby-gradle-base-plugin/com/github/jrubygradle/internal/GemVersion.html

341 lines
15 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- * PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- * i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->
<html>
<head>
<!-- Generated by groovydoc (2.3.3) on Thu Sep 10 15:25:12 PDT 2015 -->
<title>GemVersion (jruby-gradle-base-plugin 1.1.0 API)</title>
<meta name="date" content="2015-09-10">
<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">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="GemVersion (jruby-gradle-base-plugin 1.1.0 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="navList">
<li><a href="../../../../index.html?com/github/jrubygradle/internal/GemVersion" target="_top">Frames</a></li>
<li><a href="GemVersion.html" target="_top">No Frames</a></li>
</ul>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
<ul class="subNavList">
<li>&nbsp;|&nbsp;Detail:&nbsp;</li>
Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">Package: <strong>com.github.jrubygradle.internal</strong></div>
<h2 title="[Groovy] Class GemVersion" class="title">[Groovy] Class GemVersion</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><ul class="inheritance"></ul></li><li>com.github.jrubygradle.internal.GemVersion
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<p> since with rubygems most (almost all) dependencies will be declared
via versions ranges an tools like bundler are very strict on how to
resolve those versions - i.e. the reolved version needs to obey each given
contraint. maven does the same but gradle and ivy do pick the latest and
newest version when there are more then on contraint for the same gem -
which can create problems when using bundler alongside gradle.
when converting a gempsec into a maven pom.xml the translation of a
gem version range into a maven version range. typically '~> 1.0' from ruby
becomes [1.0, 1.99999] on the maven side. so most dependencies from
gem artifacts will use such version ranges.
to help gradle to be closer to the rubygems world when resolving gem
artifacts, it needs to calculate intersection between version ranges
in maven manner.
this class basically represents a maven version range with boundary
(exclusive vs. inclusive) and its lower and upper bounded version and
allows to intersect its range with another version range.
it also translate fixed version '1.0' to [1.0, 1.0] or the gradle notation
1.2+ to [1.2, 1.99999] or 1.+ to [1.0, 1.99999] following the gemspec-to-pom
pattern.
<DL><DT><B>Authors:</B></DT><DD>Christian Meier</DD></DL></p>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== NESTED CLASS SUMMARY =========== -->
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- =========== PROPERTY SUMMARY =========== -->
<!-- =========== ELEMENT SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary"><!-- --></a>
<h3>Constructor Summary</h3>
<ul class="blockList">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor and description</th>
</tr>
<tr class="altColor">
<td class="colFirst">
<code><a href="#GemVersion(java.lang.String)">GemVersion</a></strong>
(java.lang.String version)</code><br>converts the given string to a version range with inclusive or
exclusive boundaries.</td>
</tr>
</table>
</ul>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary"><!-- --></a>
<h3>Methods Summary</h3>
<ul class="blockList">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Type</th>
<th class="colLast" scope="col">Name and description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</strong></code></td>
<td class="colLast"><code><strong><a href="#conflict()">conflict</a></strong>()</code><br>examines the version range on conflict, i.e. lower bound bigger then
upper bound.</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href='../../../../com/github/jrubygradle/internal/GemVersion.html'>GemVersion</a></strong></code></td>
<td class="colLast"><code><strong><a href="#intersect(java.lang.String)">intersect</a></strong>(java.lang.String otherVersion)</code><br>since GemVersion is version range with lower bound and upper bound
this method just calculates the intersection of this version range
with the given other version range. it also honors whether the boundary
itself is included or excluded by the respective ranges.</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</strong></code></td>
<td class="colLast"><code><strong><a href="#toString()">toString</a></strong>()</code><br>string of the underlying data as maven version range. for prereleased
versions with ranges like [1.pre, 1.pre] the to range will be replaced
by the single boundary of the range.</td>
</tr>
</table>
</ul>
</li>
<li class="blockList"><a name="method_summary"><!-- --></a>
<h3>Inherited Methods Summary</h3>
<ul class="blockList">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
<caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Methods inherited from class</th>
<th class="colLast" scope="col">Name</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class java.lang.Object</strong></code></td>
<td class="colLast"><code>java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()</code></td>
</tr>
</table>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- =========== CONSTRUCTOR DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="GemVersion(java.lang.String)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
<h4><strong>GemVersion</strong>(java.lang.String version)</h4>
<p> converts the given string to a version range with inclusive or
exclusive boundaries.
<DL><DT><B>Parameters:</B></DT><DD><code>String</code> - version</DD></DL></p>
</li>
</ul>
</li>
</ul>
<!-- =========== METHOD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="conflict()"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
<h4>boolean <strong>conflict</strong>()</h4>
<p> examines the version range on conflict, i.e. lower bound bigger then
upper bound.
<DL><DT><B>Returns:</B></DT><DD>boolean true if lower bound bigger then upper bound</DD></DL></p>
</li>
</ul>
<a name="intersect(java.lang.String)"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
<h4><a href='../../../../com/github/jrubygradle/internal/GemVersion.html'>GemVersion</a> <strong>intersect</strong>(java.lang.String otherVersion)</h4>
<p> since GemVersion is version range with lower bound and upper bound
this method just calculates the intersection of this version range
with the given other version range. it also honors whether the boundary
itself is included or excluded by the respective ranges.
<DL><DT><B>Returns:</B></DT><DD>GemVersion the intersected version range</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>String</code> - the other version range to be intersected with this version range</DD></DL></p>
</li>
</ul>
<a name="toString()"><!-- --></a>
<ul class="blockListLast">
<li class="blockList">
<h4>java.lang.String <strong>toString</strong>()</h4>
<p> string of the underlying data as maven version range. for prereleased
versions with ranges like [1.pre, 1.pre] the to range will be replaced
by the single boundary of the range.
<DL><DT><B>Returns:</B></DT><DD>String maven version range</DD></DL></p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="navList">
<li><a href="../../../../index.html?com/github/jrubygradle/internal/GemVersion" target="_top">Frames</a></li>
<li><a href="GemVersion.html" target="_top">No Frames</a></li>
</ul>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
<ul class="subNavList">
<li>&nbsp;|&nbsp;Detail:&nbsp;</li>
Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
</ul>
</div>
<p>Groovy Documentation</p>
<a name="skip-navbar_bottom">
<!-- -->
</a>
</div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>