1768 lines
90 KiB
HTML
1768 lines
90 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
|
|
<title>Class: Bundler::Definition</title>
|
|
|
|
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
|
|
|
|
<script src="../js/jquery.js" type="text/javascript"
|
|
charset="utf-8"></script>
|
|
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
|
charset="utf-8"></script>
|
|
<script src="../js/quicksearch.js" type="text/javascript"
|
|
charset="utf-8"></script>
|
|
<script src="../js/darkfish.js" type="text/javascript"
|
|
charset="utf-8"></script>
|
|
|
|
</head>
|
|
<body class="class">
|
|
|
|
<div id="metadata">
|
|
<div id="home-metadata">
|
|
<div id="home-section" class="section">
|
|
<h3 class="section-header">
|
|
<a href="../index.html">Home</a>
|
|
<a href="../index.html#classes">Classes</a>
|
|
<a href="../index.html#methods">Methods</a>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="file-metadata">
|
|
<div id="file-list-section" class="section">
|
|
<h3 class="section-header">In Files</h3>
|
|
<div class="section-body">
|
|
<ul>
|
|
|
|
<li><a href="../lib/bundler/definition_rb.html?TB_iframe=true&height=550&width=785"
|
|
class="thickbox" title="lib/bundler/definition.rb">lib/bundler/definition.rb</a></li>
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="class-metadata">
|
|
|
|
<!-- Parent Class -->
|
|
|
|
<div id="parent-class-section" class="section">
|
|
<h3 class="section-header">Parent</h3>
|
|
|
|
<p class="link">Object</p>
|
|
|
|
</div>
|
|
|
|
|
|
<!-- Namespace Contents -->
|
|
|
|
|
|
<!-- Method Quickref -->
|
|
|
|
<div id="method-list-section" class="section">
|
|
<h3 class="section-header">Methods</h3>
|
|
<ul class="link-list">
|
|
|
|
<li><a href="#method-c-build">::build</a></li>
|
|
|
|
<li><a href="#method-c-new">::new</a></li>
|
|
|
|
<li><a href="#method-i-converge_dependencies">#converge_dependencies</a></li>
|
|
|
|
<li><a href="#method-i-converge_locked_specs">#converge_locked_specs</a></li>
|
|
|
|
<li><a href="#method-i-converge_sources">#converge_sources</a></li>
|
|
|
|
<li><a href="#method-i-current_dependencies">#current_dependencies</a></li>
|
|
|
|
<li><a href="#method-i-ensure_equivalent_gemfile_and_lockfile">#ensure_equivalent_gemfile_and_lockfile</a></li>
|
|
|
|
<li><a href="#method-i-expand_dependencies">#expand_dependencies</a></li>
|
|
|
|
<li><a href="#method-i-expanded_dependencies">#expanded_dependencies</a></li>
|
|
|
|
<li><a href="#method-i-groups">#groups</a></li>
|
|
|
|
<li><a href="#method-i-in_locked_deps%3F">#in_locked_deps?</a></li>
|
|
|
|
<li><a href="#method-i-index">#index</a></li>
|
|
|
|
<li><a href="#method-i-lock">#lock</a></li>
|
|
|
|
<li><a href="#method-i-missing_specs">#missing_specs</a></li>
|
|
|
|
<li><a href="#method-i-new_platform%3F">#new_platform?</a></li>
|
|
|
|
<li><a href="#method-i-new_specs">#new_specs</a></li>
|
|
|
|
<li><a href="#method-i-no_sources%3F">#no_sources?</a></li>
|
|
|
|
<li><a href="#method-i-pretty_dep">#pretty_dep</a></li>
|
|
|
|
<li><a href="#method-i-removed_specs">#removed_specs</a></li>
|
|
|
|
<li><a href="#method-i-requested_dependencies">#requested_dependencies</a></li>
|
|
|
|
<li><a href="#method-i-requested_specs">#requested_specs</a></li>
|
|
|
|
<li><a href="#method-i-resolve">#resolve</a></li>
|
|
|
|
<li><a href="#method-i-resolve_remotely%21">#resolve_remotely!</a></li>
|
|
|
|
<li><a href="#method-i-resolve_with_cache%21">#resolve_with_cache!</a></li>
|
|
|
|
<li><a href="#method-i-rubygems_index">#rubygems_index</a></li>
|
|
|
|
<li><a href="#method-i-satisfies_locked_spec%3F">#satisfies_locked_spec?</a></li>
|
|
|
|
<li><a href="#method-i-sorted_sources">#sorted_sources</a></li>
|
|
|
|
<li><a href="#method-i-specs">#specs</a></li>
|
|
|
|
<li><a href="#method-i-specs_for">#specs_for</a></li>
|
|
|
|
<li><a href="#method-i-to_lock">#to_lock</a></li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<!-- Included Modules -->
|
|
|
|
<div id="includes-section" class="section">
|
|
<h3 class="section-header">Included Modules</h3>
|
|
<ul class="link-list">
|
|
|
|
|
|
<li><span class="include">GemHelpers</span></li>
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="project-metadata">
|
|
|
|
|
|
<div id="fileindex-section" class="section project-section">
|
|
<h3 class="section-header">Files</h3>
|
|
<ul>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle.html">bundle</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-config.html">bundle-config</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-config_txt.html">bundle-config.txt</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-exec.html">bundle-exec</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-exec_txt.html">bundle-exec.txt</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-install.html">bundle-install</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-install_txt.html">bundle-install.txt</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-package.html">bundle-package</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-package_txt.html">bundle-package.txt</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-update.html">bundle-update</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle-update_txt.html">bundle-update.txt</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/bundle_txt.html">bundle.txt</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/man/gemfile_5_txt.html">gemfile.5.txt</a></li>
|
|
|
|
<li class="file"><a href="../lib/bundler/templates/Gemfile.html">Gemfile</a></li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<div id="classindex-section" class="section project-section">
|
|
<h3 class="section-header">Class Index
|
|
<span class="search-toggle"><img src="../images/find.png"
|
|
height="16" width="16" alt="[+]"
|
|
title="show/hide quicksearch" /></span></h3>
|
|
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
<fieldset>
|
|
<legend>Quicksearch</legend>
|
|
<input type="text" name="quicksearch" value=""
|
|
class="quicksearch-field" />
|
|
</fieldset>
|
|
</form>
|
|
|
|
<ul class="link-list">
|
|
|
|
<li><a href="../Bundler.html">Bundler</a></li>
|
|
|
|
<li><a href="../Bundler/BundlerError.html">Bundler::BundlerError</a></li>
|
|
|
|
<li><a href="../Bundler/CLI.html">Bundler::CLI</a></li>
|
|
|
|
<li><a href="../Bundler/Definition.html">Bundler::Definition</a></li>
|
|
|
|
<li><a href="../Bundler/DepProxy.html">Bundler::DepProxy</a></li>
|
|
|
|
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
|
|
|
|
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
|
|
|
|
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
|
|
|
|
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
|
|
|
|
<li><a href="../Bundler/DslError.html">Bundler::DslError</a></li>
|
|
|
|
<li><a href="../Bundler/Environment.html">Bundler::Environment</a></li>
|
|
|
|
<li><a href="../Bundler/GemHelper.html">Bundler::GemHelper</a></li>
|
|
|
|
<li><a href="../Bundler/GemHelpers.html">Bundler::GemHelpers</a></li>
|
|
|
|
<li><a href="../Bundler/GemNotFound.html">Bundler::GemNotFound</a></li>
|
|
|
|
<li><a href="../Bundler/GemfileError.html">Bundler::GemfileError</a></li>
|
|
|
|
<li><a href="../Bundler/GemfileNotFound.html">Bundler::GemfileNotFound</a></li>
|
|
|
|
<li><a href="../Bundler/GemspecError.html">Bundler::GemspecError</a></li>
|
|
|
|
<li><a href="../Bundler/GitError.html">Bundler::GitError</a></li>
|
|
|
|
<li><a href="../Bundler/Graph.html">Bundler::Graph</a></li>
|
|
|
|
<li><a href="../Bundler/GraphNode.html">Bundler::GraphNode</a></li>
|
|
|
|
<li><a href="../Bundler/Index.html">Bundler::Index</a></li>
|
|
|
|
<li><a href="../Bundler/Installer.html">Bundler::Installer</a></li>
|
|
|
|
<li><a href="../Bundler/InvalidOption.html">Bundler::InvalidOption</a></li>
|
|
|
|
<li><a href="../Bundler/InvalidSpecSet.html">Bundler::InvalidSpecSet</a></li>
|
|
|
|
<li><a href="../Bundler/LazySpecification.html">Bundler::LazySpecification</a></li>
|
|
|
|
<li><a href="../Bundler/LockfileParser.html">Bundler::LockfileParser</a></li>
|
|
|
|
<li><a href="../Bundler/MatchPlatform.html">Bundler::MatchPlatform</a></li>
|
|
|
|
<li><a href="../Bundler/PathError.html">Bundler::PathError</a></li>
|
|
|
|
<li><a href="../Bundler/ProductionError.html">Bundler::ProductionError</a></li>
|
|
|
|
<li><a href="../Bundler/RemoteSpecification.html">Bundler::RemoteSpecification</a></li>
|
|
|
|
<li><a href="../Bundler/Resolver.html">Bundler::Resolver</a></li>
|
|
|
|
<li><a href="../Bundler/Resolver/SpecGroup.html">Bundler::Resolver::SpecGroup</a></li>
|
|
|
|
<li><a href="../Bundler/Runtime.html">Bundler::Runtime</a></li>
|
|
|
|
<li><a href="../Bundler/Settings.html">Bundler::Settings</a></li>
|
|
|
|
<li><a href="../Bundler/SharedHelpers.html">Bundler::SharedHelpers</a></li>
|
|
|
|
<li><a href="../Bundler/SharedHelpers/Gem.html">Bundler::SharedHelpers::Gem</a></li>
|
|
|
|
<li><a href="../Bundler/SharedHelpers/Gem/SourceIndex.html">Bundler::SharedHelpers::Gem::SourceIndex</a></li>
|
|
|
|
<li><a href="../Bundler/Source.html">Bundler::Source</a></li>
|
|
|
|
<li><a href="../Bundler/Source/Git.html">Bundler::Source::Git</a></li>
|
|
|
|
<li><a href="../Bundler/Source/Path.html">Bundler::Source::Path</a></li>
|
|
|
|
<li><a href="../Bundler/Source/Path/Installer.html">Bundler::Source::Path::Installer</a></li>
|
|
|
|
<li><a href="../Bundler/Source/Rubygems.html">Bundler::Source::Rubygems</a></li>
|
|
|
|
<li><a href="../Bundler/SpecSet.html">Bundler::SpecSet</a></li>
|
|
|
|
<li><a href="../Bundler/UI.html">Bundler::UI</a></li>
|
|
|
|
<li><a href="../Bundler/UI/RGProxy.html">Bundler::UI::RGProxy</a></li>
|
|
|
|
<li><a href="../Bundler/UI/Shell.html">Bundler::UI::Shell</a></li>
|
|
|
|
<li><a href="../Bundler/VersionConflict.html">Bundler::VersionConflict</a></li>
|
|
|
|
<li><a href="../Thor.html">Thor</a></li>
|
|
|
|
<li><a href="../Thor/Actions.html">Thor::Actions</a></li>
|
|
|
|
<li><a href="../Thor/Actions/ClassMethods.html">Thor::Actions::ClassMethods</a></li>
|
|
|
|
<li><a href="../Thor/Base.html">Thor::Base</a></li>
|
|
|
|
<li><a href="../Thor/Base/ClassMethods.html">Thor::Base::ClassMethods</a></li>
|
|
|
|
<li><a href="../Thor/DynamicTask.html">Thor::DynamicTask</a></li>
|
|
|
|
<li><a href="../Thor/Error.html">Thor::Error</a></li>
|
|
|
|
<li><a href="../Thor/HiddenTask.html">Thor::HiddenTask</a></li>
|
|
|
|
<li><a href="../Thor/Invocation.html">Thor::Invocation</a></li>
|
|
|
|
<li><a href="../Thor/Invocation/ClassMethods.html">Thor::Invocation::ClassMethods</a></li>
|
|
|
|
<li><a href="../Thor/InvocationError.html">Thor::InvocationError</a></li>
|
|
|
|
<li><a href="../Thor/MalformattedArgumentError.html">Thor::MalformattedArgumentError</a></li>
|
|
|
|
<li><a href="../Thor/RequiredArgumentMissingError.html">Thor::RequiredArgumentMissingError</a></li>
|
|
|
|
<li><a href="../Thor/Shell.html">Thor::Shell</a></li>
|
|
|
|
<li><a href="../Thor/Shell/Basic.html">Thor::Shell::Basic</a></li>
|
|
|
|
<li><a href="../Thor/Shell/Color.html">Thor::Shell::Color</a></li>
|
|
|
|
<li><a href="../Thor/Shell/HTML.html">Thor::Shell::HTML</a></li>
|
|
|
|
<li><a href="../Thor/Task.html">Thor::Task</a></li>
|
|
|
|
<li><a href="../Thor/UndefinedTaskError.html">Thor::UndefinedTaskError</a></li>
|
|
|
|
<li><a href="../Thor/UnknownArgumentError.html">Thor::UnknownArgumentError</a></li>
|
|
|
|
<li><a href="../Thor/Util.html">Thor::Util</a></li>
|
|
|
|
<li><a href="../Gem.html">Gem</a></li>
|
|
|
|
<li><a href="../Gem/Dependency.html">Gem::Dependency</a></li>
|
|
|
|
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
|
|
|
|
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
|
|
|
|
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
|
|
|
|
</ul>
|
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div id="documentation">
|
|
<h1 class="class">Bundler::Definition</h1>
|
|
|
|
<div id="description">
|
|
|
|
</div>
|
|
|
|
<!-- Constants -->
|
|
|
|
|
|
<!-- Attributes -->
|
|
|
|
<div id="attribute-method-details" class="method-section section">
|
|
<h3 class="section-header">Attributes</h3>
|
|
|
|
|
|
<div id="dependencies-attribute-method" class="method-detail">
|
|
<a name="dependencies"></a>
|
|
|
|
<div class="method-heading attribute-method-heading">
|
|
<span class="method-name">dependencies</span><span
|
|
class="attribute-access-type">[R]</span>
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div id="platforms-attribute-method" class="method-detail">
|
|
<a name="platforms"></a>
|
|
|
|
<div class="method-heading attribute-method-heading">
|
|
<span class="method-name">platforms</span><span
|
|
class="attribute-access-type">[R]</span>
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div id="sources-attribute-method" class="method-detail">
|
|
<a name="sources"></a>
|
|
|
|
<div class="method-heading attribute-method-heading">
|
|
<span class="method-name">sources</span><span
|
|
class="attribute-access-type">[R]</span>
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<!-- Methods -->
|
|
|
|
<div id="public-class-method-details" class="method-section section">
|
|
<h3 class="section-header">Public Class Methods</h3>
|
|
|
|
|
|
<div id="build-method" class="method-detail ">
|
|
<a name="method-c-build"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">build</span><span
|
|
class="method-args">(gemfile, lockfile, unlock)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="build-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 9</span>
|
|
9: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">build</span>(<span class="ruby-identifier">gemfile</span>, <span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
|
|
10: <span class="ruby-identifier">unlock</span> <span class="ruby-operator">||=</span> {}
|
|
11: <span class="ruby-identifier">gemfile</span> = <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">gemfile</span>).<span class="ruby-identifier">expand_path</span>
|
|
12:
|
|
13: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">gemfile</span>.<span class="ruby-identifier">file?</span>
|
|
14: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemfileNotFound</span>, <span class="ruby-node">"#{gemfile} not found"</span>
|
|
15: <span class="ruby-keyword kw">end</span>
|
|
16:
|
|
17: <span class="ruby-constant">Dsl</span>.<span class="ruby-identifier">evaluate</span>(<span class="ruby-identifier">gemfile</span>, <span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
|
|
18: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="new-method" class="method-detail ">
|
|
<a name="method-c-new"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">new</span><span
|
|
class="method-args">(lockfile, dependencies, sources, unlock)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="new-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 32</span>
|
|
32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">sources</span>, <span class="ruby-identifier">unlock</span>)
|
|
33: <span class="ruby-ivar">@dependencies</span>, <span class="ruby-ivar">@sources</span>, <span class="ruby-ivar">@unlock</span> = <span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">sources</span>, <span class="ruby-identifier">unlock</span>
|
|
34: <span class="ruby-ivar">@remote</span> = <span class="ruby-keyword kw">false</span>
|
|
35: <span class="ruby-ivar">@specs</span> = <span class="ruby-keyword kw">nil</span>
|
|
36: <span class="ruby-ivar">@lockfile_contents</span> = <span class="ruby-value str">""</span>
|
|
37:
|
|
38: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lockfile</span> <span class="ruby-operator">&&</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">lockfile</span>)
|
|
39: <span class="ruby-ivar">@lockfile_contents</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">lockfile</span>)
|
|
40: <span class="ruby-identifier">locked</span> = <span class="ruby-constant">LockfileParser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@lockfile_contents</span>)
|
|
41: <span class="ruby-ivar">@platforms</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">platforms</span>
|
|
42:
|
|
43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">unlock</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">true</span>
|
|
44: <span class="ruby-ivar">@locked_deps</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">dependencies</span>
|
|
45: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">locked</span>.<span class="ruby-identifier">specs</span>)
|
|
46: <span class="ruby-ivar">@locked_sources</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">sources</span>
|
|
47: <span class="ruby-keyword kw">else</span>
|
|
48: <span class="ruby-ivar">@unlock</span> = {}
|
|
49: <span class="ruby-ivar">@locked_deps</span> = []
|
|
50: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>([])
|
|
51: <span class="ruby-ivar">@locked_sources</span> = []
|
|
52: <span class="ruby-keyword kw">end</span>
|
|
53: <span class="ruby-keyword kw">else</span>
|
|
54: <span class="ruby-ivar">@unlock</span> = {}
|
|
55: <span class="ruby-ivar">@platforms</span> = []
|
|
56: <span class="ruby-ivar">@locked_deps</span> = []
|
|
57: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>([])
|
|
58: <span class="ruby-ivar">@locked_sources</span> = []
|
|
59: <span class="ruby-keyword kw">end</span>
|
|
60:
|
|
61: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator">||=</span> []
|
|
62: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>] <span class="ruby-operator">||=</span> []
|
|
63:
|
|
64: <span class="ruby-identifier">current_platform</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">generic</span>(<span class="ruby-identifier">p</span>) }.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">last</span>
|
|
65: <span class="ruby-ivar">@new_platform</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">current_platform</span>)
|
|
66: <span class="ruby-ivar">@platforms</span> <span class="ruby-operator">|=</span> [<span class="ruby-identifier">current_platform</span>]
|
|
67:
|
|
68: <span class="ruby-identifier">eager_unlock</span> = <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>])
|
|
69: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] = <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">eager_unlock</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }
|
|
70:
|
|
71: <span class="ruby-identifier">converge_sources</span>
|
|
72: <span class="ruby-identifier">converge_dependencies</span>
|
|
73: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="public-instance-method-details" class="method-section section">
|
|
<h3 class="section-header">Public Instance Methods</h3>
|
|
|
|
|
|
<div id="current-dependencies-method" class="method-detail ">
|
|
<a name="method-i-current_dependencies"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">current_dependencies</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="current-dependencies-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 128</span>
|
|
128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_dependencies</span>
|
|
129: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> }
|
|
130: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="ensure-equivalent-gemfile-and-lockfile-method" class="method-detail ">
|
|
<a name="method-i-ensure_equivalent_gemfile_and_lockfile"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">ensure_equivalent_gemfile_and_lockfile</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="ensure-equivalent-gemfile-and-lockfile-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 238</span>
|
|
238: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_equivalent_gemfile_and_lockfile</span>
|
|
239: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">false</span>
|
|
240:
|
|
241: <span class="ruby-identifier">msg</span> = <span class="ruby-value str">"You have modified your Gemfile in development but did not check\n"</span> <span class="ruby-value str">"the resulting snapshot (Gemfile.lock) into version control"</span>
|
|
242:
|
|
243: <span class="ruby-identifier">added</span> = []
|
|
244: <span class="ruby-identifier">deleted</span> = []
|
|
245: <span class="ruby-identifier">changed</span> = []
|
|
246:
|
|
247: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@locked_sources</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@sources</span>
|
|
248: <span class="ruby-identifier">new_sources</span> = <span class="ruby-ivar">@sources</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_sources</span>
|
|
249: <span class="ruby-identifier">deleted_sources</span> = <span class="ruby-ivar">@locked_sources</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@sources</span>
|
|
250:
|
|
251: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_sources</span>.<span class="ruby-identifier">any?</span>
|
|
252: <span class="ruby-identifier">added</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">new_sources</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span> <span class="ruby-node">"* source: #{source}"</span> }
|
|
253: <span class="ruby-keyword kw">end</span>
|
|
254:
|
|
255: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted_sources</span>.<span class="ruby-identifier">any?</span>
|
|
256: <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">deleted_sources</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span> <span class="ruby-node">"* source: #{source}"</span> }
|
|
257: <span class="ruby-keyword kw">end</span>
|
|
258:
|
|
259: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">true</span>
|
|
260: <span class="ruby-keyword kw">end</span>
|
|
261:
|
|
262: <span class="ruby-identifier">both_sources</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [<span class="ruby-value str">"no specified source"</span>, <span class="ruby-value str">"no specified source"</span>] }
|
|
263: <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">both_sources</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>][<span class="ruby-value">0</span>] = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> }
|
|
264: <span class="ruby-ivar">@locked_deps</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">both_sources</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>][<span class="ruby-value">1</span>] = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> }
|
|
265: <span class="ruby-identifier">both_sources</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">v</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">v</span>[<span class="ruby-value">1</span>] }
|
|
266:
|
|
267: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@locked_deps</span>
|
|
268: <span class="ruby-identifier">new_deps</span> = <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_deps</span>
|
|
269: <span class="ruby-identifier">deleted_deps</span> = <span class="ruby-ivar">@locked_deps</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@dependencies</span>
|
|
270:
|
|
271: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_deps</span>.<span class="ruby-identifier">any?</span>
|
|
272: <span class="ruby-identifier">added</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">new_deps</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">"* #{pretty_dep(d)}"</span> }
|
|
273: <span class="ruby-keyword kw">end</span>
|
|
274:
|
|
275: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted_deps</span>.<span class="ruby-identifier">any?</span>
|
|
276: <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">deleted_deps</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">"* #{pretty_dep(d)}"</span> }
|
|
277: <span class="ruby-keyword kw">end</span>
|
|
278:
|
|
279: <span class="ruby-identifier">both_sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">sources</span><span class="ruby-operator">|</span>
|
|
280: <span class="ruby-identifier">changed</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"* #{name} from `#{sources[0]}` to `#{sources[1]}`"</span>
|
|
281: <span class="ruby-keyword kw">end</span>
|
|
282:
|
|
283: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">true</span>
|
|
284: <span class="ruby-keyword kw">end</span>
|
|
285:
|
|
286: <span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\nYou have added to the Gemfile:\n"</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">any?</span>
|
|
287: <span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\nYou have deleted from the Gemfile:\n"</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">any?</span>
|
|
288: <span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\nYou have changed in the Gemfile:\n"</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">any?</span>
|
|
289:
|
|
290: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ProductionError</span>, <span class="ruby-identifier">msg</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">any?</span>
|
|
291: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="groups-method" class="method-detail ">
|
|
<a name="method-i-groups"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">groups</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="groups-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 176</span>
|
|
176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">groups</span>
|
|
177: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> }.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>
|
|
178: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="index-method" class="method-detail ">
|
|
<a name="method-i-index"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">index</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="index-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 156</span>
|
|
156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
|
|
157: <span class="ruby-ivar">@index</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Index</span>.<span class="ruby-identifier">build</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
|
|
158: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
|
159: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">specs</span>
|
|
160: <span class="ruby-keyword kw">end</span>
|
|
161: <span class="ruby-keyword kw">end</span>
|
|
162: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="lock-method" class="method-detail ">
|
|
<a name="method-i-lock"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">lock</span><span
|
|
class="method-args">(file)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="lock-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 180</span>
|
|
180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock</span>(<span class="ruby-identifier">file</span>)
|
|
181: <span class="ruby-identifier">contents</span> = <span class="ruby-identifier">to_lock</span>
|
|
182:
|
|
183: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lockfile_contents</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">contents</span>
|
|
184:
|
|
185: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>]
|
|
186: <span class="ruby-comment cmt"># TODO: Warn here if we got here.</span>
|
|
187: <span class="ruby-keyword kw">return</span>
|
|
188: <span class="ruby-keyword kw">end</span>
|
|
189:
|
|
190: <span class="ruby-comment cmt"># Convert to \r\n if the existing lock has them</span>
|
|
191: <span class="ruby-comment cmt"># i.e., Windows with `git config core.autocrlf=true`</span>
|
|
192: <span class="ruby-identifier">contents</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-value str">"\r\n"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lockfile_contents</span>.<span class="ruby-identifier">match</span>(<span class="ruby-value str">"\r\n"</span>)
|
|
193:
|
|
194: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">'wb'</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">contents</span>) }
|
|
195: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="missing-specs-method" class="method-detail ">
|
|
<a name="method-i-missing_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">missing_specs</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="missing-specs-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 114</span>
|
|
114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">missing_specs</span>
|
|
115: <span class="ruby-identifier">missing</span> = []
|
|
116: <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">materialize</span>(<span class="ruby-identifier">requested_dependencies</span>, <span class="ruby-identifier">missing</span>)
|
|
117: <span class="ruby-identifier">missing</span>
|
|
118: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="new-platform--method" class="method-detail ">
|
|
<a name="method-i-new_platform%3F"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">new_platform?</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="new-platform--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 110</span>
|
|
110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_platform?</span>
|
|
111: <span class="ruby-ivar">@new_platform</span>
|
|
112: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="new-specs-method" class="method-detail ">
|
|
<a name="method-i-new_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">new_specs</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="new-specs-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 102</span>
|
|
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_specs</span>
|
|
103: <span class="ruby-identifier">specs</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_specs</span>
|
|
104: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="no-sources--method" class="method-detail ">
|
|
<a name="method-i-no_sources%3F"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">no_sources?</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="no-sources--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 172</span>
|
|
172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">no_sources?</span>
|
|
173: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">empty?</span>
|
|
174: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="removed-specs-method" class="method-detail ">
|
|
<a name="method-i-removed_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">removed_specs</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="removed-specs-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 106</span>
|
|
106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">removed_specs</span>
|
|
107: <span class="ruby-ivar">@locked_specs</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">specs</span>
|
|
108: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="requested-specs-method" class="method-detail ">
|
|
<a name="method-i-requested_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">requested_specs</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="requested-specs-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 120</span>
|
|
120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requested_specs</span>
|
|
121: <span class="ruby-ivar">@requested_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
|
|
122: <span class="ruby-identifier">groups</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">groups</span> <span class="ruby-operator">-</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span>
|
|
123: <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
|
|
124: <span class="ruby-identifier">specs_for</span>(<span class="ruby-identifier">groups</span>)
|
|
125: <span class="ruby-keyword kw">end</span>
|
|
126: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="resolve-method" class="method-detail ">
|
|
<a name="method-i-resolve"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">resolve</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="resolve-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 138</span>
|
|
138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve</span>
|
|
139: <span class="ruby-ivar">@resolve</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
|
|
140: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>]
|
|
141: <span class="ruby-ivar">@locked_specs</span>
|
|
142: <span class="ruby-keyword kw">else</span>
|
|
143: <span class="ruby-identifier">last_resolve</span> = <span class="ruby-identifier">converge_locked_specs</span>
|
|
144: <span class="ruby-identifier">source_requirements</span> = {}
|
|
145: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
|
|
146: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
|
|
147: <span class="ruby-identifier">source_requirements</span>[<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>
|
|
148: <span class="ruby-keyword kw">end</span>
|
|
149:
|
|
150: <span class="ruby-comment cmt"># Run a resolve against the locally available gems</span>
|
|
151: <span class="ruby-identifier">last_resolve</span>.<span class="ruby-identifier">merge</span> <span class="ruby-constant">Resolver</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">expanded_dependencies</span>, <span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span>, <span class="ruby-identifier">last_resolve</span>)
|
|
152: <span class="ruby-keyword kw">end</span>
|
|
153: <span class="ruby-keyword kw">end</span>
|
|
154: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="resolve-remotely--method" class="method-detail ">
|
|
<a name="method-i-resolve_remotely%21"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">resolve_remotely!</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="resolve-remotely--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 81</span>
|
|
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_remotely!</span>
|
|
82: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Specs already loaded"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@specs</span>
|
|
83: <span class="ruby-ivar">@remote</span> = <span class="ruby-keyword kw">true</span>
|
|
84: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">remote!</span> }
|
|
85: <span class="ruby-identifier">specs</span>
|
|
86: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="resolve-with-cache--method" class="method-detail ">
|
|
<a name="method-i-resolve_with_cache%21"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">resolve_with_cache!</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="resolve-with-cache--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 75</span>
|
|
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_with_cache!</span>
|
|
76: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Specs already loaded"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@specs</span>
|
|
77: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">cached!</span> }
|
|
78: <span class="ruby-identifier">specs</span>
|
|
79: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="rubygems-index-method" class="method-detail ">
|
|
<a name="method-i-rubygems_index"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">rubygems_index</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="rubygems-index-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 164</span>
|
|
164: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rubygems_index</span>
|
|
165: <span class="ruby-ivar">@rubygems_index</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Index</span>.<span class="ruby-identifier">build</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
|
|
166: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find_all</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span>) }.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
|
167: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">specs</span>
|
|
168: <span class="ruby-keyword kw">end</span>
|
|
169: <span class="ruby-keyword kw">end</span>
|
|
170: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="specs-method" class="method-detail ">
|
|
<a name="method-i-specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">specs</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="specs-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 88</span>
|
|
88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs</span>
|
|
89: <span class="ruby-ivar">@specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
|
|
90: <span class="ruby-identifier">specs</span> = <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">materialize</span>(<span class="ruby-identifier">requested_dependencies</span>)
|
|
91:
|
|
92: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">specs</span>[<span class="ruby-value str">"bundler"</span>].<span class="ruby-identifier">any?</span>
|
|
93: <span class="ruby-identifier">local</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">rubygems_index</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">index</span>
|
|
94: <span class="ruby-identifier">bundler</span> = <span class="ruby-identifier">local</span>.<span class="ruby-identifier">search</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'bundler'</span>, <span class="ruby-constant">VERSION</span>)).<span class="ruby-identifier">last</span>
|
|
95: <span class="ruby-identifier">specs</span>[<span class="ruby-value str">"bundler"</span>] = <span class="ruby-identifier">bundler</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bundler</span>
|
|
96: <span class="ruby-keyword kw">end</span>
|
|
97:
|
|
98: <span class="ruby-identifier">specs</span>
|
|
99: <span class="ruby-keyword kw">end</span>
|
|
100: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="specs-for-method" class="method-detail ">
|
|
<a name="method-i-specs_for"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">specs_for</span><span
|
|
class="method-args">(groups)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="specs-for-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 132</span>
|
|
132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs_for</span>(<span class="ruby-identifier">groups</span>)
|
|
133: <span class="ruby-identifier">deps</span> = <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> (<span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> & <span class="ruby-identifier">groups</span>).<span class="ruby-identifier">any?</span> }
|
|
134: <span class="ruby-identifier">deps</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> }
|
|
135: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">deps</span>))
|
|
136: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="to-lock-method" class="method-detail ">
|
|
<a name="method-i-to_lock"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">to_lock</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="to-lock-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 197</span>
|
|
197: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
|
|
198: <span class="ruby-identifier">out</span> = <span class="ruby-value str">""</span>
|
|
199:
|
|
200: <span class="ruby-identifier">sorted_sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
|
|
201: <span class="ruby-comment cmt"># Add the source header</span>
|
|
202: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">to_lock</span>
|
|
203: <span class="ruby-comment cmt"># Find all specs for this source</span>
|
|
204: <span class="ruby-identifier">resolve</span>.
|
|
205: <span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }.
|
|
206: <span class="ruby-comment cmt"># This needs to be sorted by full name so that</span>
|
|
207: <span class="ruby-comment cmt"># gems with the same name, but different platform</span>
|
|
208: <span class="ruby-comment cmt"># are ordered consistantly</span>
|
|
209: <span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">full_name</span> }.
|
|
210: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span>
|
|
211: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
|
|
212: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">to_lock</span>
|
|
213: <span class="ruby-keyword kw">end</span>
|
|
214: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
|
215: <span class="ruby-keyword kw">end</span>
|
|
216:
|
|
217: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"PLATFORMS\n"</span>
|
|
218:
|
|
219: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
|
|
220: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" #{p}\n"</span>
|
|
221: <span class="ruby-keyword kw">end</span>
|
|
222:
|
|
223: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
|
224: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"DEPENDENCIES\n"</span>
|
|
225:
|
|
226: <span class="ruby-identifier">handled</span> = []
|
|
227: <span class="ruby-identifier">dependencies</span>.
|
|
228: <span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span> }.
|
|
229: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
|
|
230: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">handled</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>)
|
|
231: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">to_lock</span>
|
|
232: <span class="ruby-identifier">handled</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>
|
|
233: <span class="ruby-keyword kw">end</span>
|
|
234:
|
|
235: <span class="ruby-identifier">out</span>
|
|
236: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="private-instance-method-details" class="method-section section">
|
|
<h3 class="section-header">Private Instance Methods</h3>
|
|
|
|
|
|
<div id="converge-dependencies-method" class="method-detail ">
|
|
<a name="method-i-converge_dependencies"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">converge_dependencies</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="converge-dependencies-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 320</span>
|
|
320: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_dependencies</span>
|
|
321: (<span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@locked_deps</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
|
|
322: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
|
|
323: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s</span> }
|
|
324: <span class="ruby-keyword kw">end</span>
|
|
325: <span class="ruby-keyword kw">end</span>
|
|
326: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="converge-locked-specs-method" class="method-detail ">
|
|
<a name="method-i-converge_locked_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">converge_locked_specs</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
<p>
|
|
Remove elements from the locked specs that are expired. This will most
|
|
commonly happen if the Gemfile has changed since the lockfile was last
|
|
generated
|
|
</p>
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="converge-locked-specs-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 331</span>
|
|
331: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_locked_specs</span>
|
|
332: <span class="ruby-identifier">deps</span> = []
|
|
333:
|
|
334: <span class="ruby-comment cmt"># Build a list of dependencies that are the same in the Gemfile</span>
|
|
335: <span class="ruby-comment cmt"># and Gemfile.lock. If the Gemfile modified a dependency, but</span>
|
|
336: <span class="ruby-comment cmt"># the gem in the Gemfile.lock still satisfies it, this is fine</span>
|
|
337: <span class="ruby-comment cmt"># too.</span>
|
|
338: <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
|
|
339: <span class="ruby-identifier">locked_dep</span> = <span class="ruby-ivar">@locked_deps</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dep</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">d</span> }
|
|
340:
|
|
341: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">in_locked_deps?</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">locked_dep</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">satisfies_locked_spec?</span>(<span class="ruby-identifier">dep</span>)
|
|
342: <span class="ruby-identifier">deps</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">dep</span>
|
|
343: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">current_platform?</span> <span class="ruby-operator">&&</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">locked_dep</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">locked_dep</span>.<span class="ruby-identifier">source</span>)
|
|
344: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
|
345: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
|
|
346: <span class="ruby-keyword kw">end</span>
|
|
347:
|
|
348: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>)
|
|
349: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }
|
|
350: <span class="ruby-keyword kw">end</span>
|
|
351: <span class="ruby-keyword kw">end</span>
|
|
352:
|
|
353: <span class="ruby-identifier">converged</span> = []
|
|
354: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
|
355: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">src</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">src</span> }
|
|
356:
|
|
357: <span class="ruby-comment cmt"># Don't add a spec to the list if its source is expired. For example,</span>
|
|
358: <span class="ruby-comment cmt"># if you change a Git gem to Rubygems.</span>
|
|
359: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span>)
|
|
360: <span class="ruby-comment cmt"># If the spec is from a path source and it doesn't exist anymore</span>
|
|
361: <span class="ruby-comment cmt"># then we just unlock it.</span>
|
|
362:
|
|
363: <span class="ruby-comment cmt"># Path sources have special logic</span>
|
|
364: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>)
|
|
365: <span class="ruby-identifier">other</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>[<span class="ruby-identifier">s</span>].<span class="ruby-identifier">first</span>
|
|
366:
|
|
367: <span class="ruby-comment cmt"># If the spec is no longer in the path source, unlock it. This</span>
|
|
368: <span class="ruby-comment cmt"># commonly happens if the version changed in the gemspec</span>
|
|
369: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">other</span>
|
|
370: <span class="ruby-comment cmt"># If the dependencies of the path source have changed, unlock it</span>
|
|
371: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">sort</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">sort</span>
|
|
372: <span class="ruby-keyword kw">end</span>
|
|
373:
|
|
374: <span class="ruby-identifier">converged</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">s</span>
|
|
375: <span class="ruby-keyword kw">end</span>
|
|
376:
|
|
377: <span class="ruby-identifier">resolve</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">converged</span>)
|
|
378: <span class="ruby-identifier">resolve</span> = <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">deps</span>, <span class="ruby-keyword kw">true</span>), <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>])
|
|
379: <span class="ruby-identifier">diff</span> = <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">to_a</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">to_a</span>
|
|
380:
|
|
381: <span class="ruby-comment cmt"># Now, we unlock any sources that do not have anymore gems pinned to it</span>
|
|
382: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
|
|
383: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>)
|
|
384:
|
|
385: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }
|
|
386: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">diff</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">diff</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }
|
|
387: <span class="ruby-keyword kw">end</span>
|
|
388: <span class="ruby-keyword kw">end</span>
|
|
389:
|
|
390: <span class="ruby-identifier">resolve</span>
|
|
391: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="converge-sources-method" class="method-detail ">
|
|
<a name="method-i-converge_sources"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">converge_sources</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="converge-sources-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 303</span>
|
|
303: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_sources</span>
|
|
304: <span class="ruby-identifier">locked_gem</span> = <span class="ruby-ivar">@locked_sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">s</span> }
|
|
305: <span class="ruby-identifier">actual_gem</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">s</span> }
|
|
306:
|
|
307: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">locked_gem</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">actual_gem</span>
|
|
308: <span class="ruby-identifier">locked_gem</span>.<span class="ruby-identifier">merge_remotes</span> <span class="ruby-identifier">actual_gem</span>
|
|
309: <span class="ruby-keyword kw">end</span>
|
|
310:
|
|
311: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
|
|
312: <span class="ruby-ivar">@locked_sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> } <span class="ruby-operator">||</span> <span class="ruby-identifier">source</span>
|
|
313: <span class="ruby-keyword kw">end</span>
|
|
314:
|
|
315: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
|
|
316: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>) <span class="ruby-operator">&&</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">source</span>.<span class="ruby-identifier">name</span>)
|
|
317: <span class="ruby-keyword kw">end</span>
|
|
318: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="expand-dependencies-method" class="method-detail ">
|
|
<a name="method-i-expand_dependencies"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">expand_dependencies</span><span
|
|
class="method-args">(dependencies, remote = false)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="expand-dependencies-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 405</span>
|
|
405: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">remote</span> = <span class="ruby-keyword kw">false</span>)
|
|
406: <span class="ruby-identifier">deps</span> = []
|
|
407: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
|
|
408: <span class="ruby-identifier">dep</span> = <span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-value str">">= 0"</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:name</span>)
|
|
409: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">gem_platforms</span>(<span class="ruby-ivar">@platforms</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
|
|
410: <span class="ruby-identifier">deps</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">DepProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">p</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">remote</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">generic</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">local</span>)
|
|
411: <span class="ruby-keyword kw">end</span>
|
|
412: <span class="ruby-keyword kw">end</span>
|
|
413: <span class="ruby-identifier">deps</span>
|
|
414: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="expanded-dependencies-method" class="method-detail ">
|
|
<a name="method-i-expanded_dependencies"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">expanded_dependencies</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="expanded-dependencies-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 401</span>
|
|
401: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expanded_dependencies</span>
|
|
402: <span class="ruby-ivar">@expanded_dependencies</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">dependencies</span>, <span class="ruby-ivar">@remote</span>)
|
|
403: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="in-locked-deps--method" class="method-detail ">
|
|
<a name="method-i-in_locked_deps%3F"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">in_locked_deps?</span><span
|
|
class="method-args">(dep, d)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="in-locked-deps--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 393</span>
|
|
393: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">in_locked_deps?</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">d</span>)
|
|
394: <span class="ruby-identifier">d</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span>
|
|
395: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="pretty-dep-method" class="method-detail ">
|
|
<a name="method-i-pretty_dep"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">pretty_dep</span><span
|
|
class="method-args">(dep, source = false)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="pretty-dep-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 296</span>
|
|
296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty_dep</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">false</span>)
|
|
297: <span class="ruby-identifier">msg</span> = <span class="ruby-node">"#{dep.name}"</span>
|
|
298: <span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" (#{dep.requirement})"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Requirement</span>.<span class="ruby-identifier">default</span>
|
|
299: <span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" from the `#{dep.source}` source"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
|
|
300: <span class="ruby-identifier">msg</span>
|
|
301: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="requested-dependencies-method" class="method-detail ">
|
|
<a name="method-i-requested_dependencies"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">requested_dependencies</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="requested-dependencies-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 423</span>
|
|
423: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requested_dependencies</span>
|
|
424: <span class="ruby-identifier">groups</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">groups</span> <span class="ruby-operator">-</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span>
|
|
425: <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
|
|
426: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> & <span class="ruby-identifier">groups</span>).<span class="ruby-identifier">empty?</span> }
|
|
427: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="satisfies-locked-spec--method" class="method-detail ">
|
|
<a name="method-i-satisfies_locked_spec%3F"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">satisfies_locked_spec?</span><span
|
|
class="method-args">(dep)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="satisfies-locked-spec--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 397</span>
|
|
397: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">satisfies_locked_spec?</span>(<span class="ruby-identifier">dep</span>)
|
|
398: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">satisfies?</span>(<span class="ruby-identifier">dep</span>) <span class="ruby-operator">&&</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>) }
|
|
399: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="sorted-sources-method" class="method-detail ">
|
|
<a name="method-i-sorted_sources"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">sorted_sources</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="sorted-sources-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 416</span>
|
|
416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sorted_sources</span>
|
|
417: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">sort_by</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
|
418: <span class="ruby-comment cmt"># Place GEM at the top</span>
|
|
419: [ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span>) <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_s</span> ]
|
|
420: <span class="ruby-keyword kw">end</span>
|
|
421: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
|
|
|
<p>Disabled; run with --debug to generate this.</p>
|
|
|
|
</div>
|
|
|
|
<div id="validator-badges">
|
|
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
Rdoc Generator</a> 1.1.6</small>.</p>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|
|
|