Added: dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Plugin.html
==============================================================================
--- dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Plugin.html (added)
+++ dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Plugin.html Sat Sep 17 06:23:20 
2016
@@ -0,0 +1,130 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Buildr::Eclipse::Plugin - buildr</title>
+
+<script type="text/javascript">
+  var rdoc_rel_prefix = "../../";
+</script>
+
+<script src="../../js/jquery.js"></script>
+<script src="../../js/darkfish.js"></script>
+
+<link href="../../css/fonts.css" rel="stylesheet">
+<link href="../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+  <div id="project-navigation">
+    <div id="home-section" role="region" title="Quick navigation" 
class="nav-section">
+  <h2>
+    <a href="../../index.html" rel="home">Home</a>
+  </h2>
+
+  <div id="table-of-contents-navigation">
+    <a href="../../table_of_contents.html#pages">Pages</a>
+    <a href="../../table_of_contents.html#classes">Classes</a>
+    <a href="../../table_of_contents.html#methods">Methods</a>
+  </div>
+</div>
+
+    <div id="search-section" role="search" class="project-section 
initially-hidden">
+  <form action="#" method="get" accept-charset="utf-8">
+    <div id="search-field-wrapper">
+      <input id="search-field" role="combobox" aria-label="Search"
+             aria-autocomplete="list" aria-controls="search-results"
+             type="text" name="search" placeholder="Search" spellcheck="false"
+             title="Type to search, Up and Down to navigate, Enter to load">
+    </div>
+
+    <ul id="search-results" aria-label="Search Results"
+        aria-busy="false" aria-expanded="false"
+        aria-atomic="false" class="initially-hidden"></ul>
+  </form>
+</div>
+
+  </div>
+
+  
+
+  <div id="class-metadata">
+    
+    
+    <div id="includes-section" class="nav-section">
+  <h3>Included Modules</h3>
+
+  <ul class="link-list">
+  
+  
+    <li><a class="include" href="../Extension.html">Buildr::Extension</a>
+  
+  
+  </ul>
+</div>
+
+    
+    
+  </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Buildr::Eclipse::Plugin">
+  <h1 id="module-Buildr::Eclipse::Plugin" class="module">
+    module Buildr::Eclipse::Plugin
+  </h1>
+
+  <section class="description">
+    
+  </section>
+
+  
+  
+  
+  <section id="5Buntitled-5D" class="documentation-section">
+    
+
+    
+
+    
+    <section class="constants-list">
+      <header>
+        <h3>Constants</h3>
+      </header>
+      <dl>
+      
+        <dt id="BUILDERS">BUILDERS
+        
+        <dd>
+        
+      
+        <dt id="CONTAINER">CONTAINER
+        
+        <dd>
+        
+      
+        <dt id="NATURE">NATURE
+        
+        <dd>
+        
+      
+      </dl>
+    </section>
+    
+
+    
+
+    
+  </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+  <p><a href="http://validator.w3.org/check/referer";>Validate</a>
+  <p>Generated by <a href="http://docs.seattlerb.org/rdoc/";>RDoc</a> 4.2.2.
+  <p>Based on <a 
href="http://deveiate.org/projects/Darkfish-RDoc/";>Darkfish</a> by <a 
href="http://deveiate.org";>Michael Granger</a>.
+</footer>
+

Added: dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Scala.html
==============================================================================
--- dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Scala.html (added)
+++ dev/buildr/1.5.0/site/rdoc/Buildr/Eclipse/Scala.html Sat Sep 17 06:23:20 
2016
@@ -0,0 +1,130 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Buildr::Eclipse::Scala - buildr</title>
+
+<script type="text/javascript">
+  var rdoc_rel_prefix = "../../";
+</script>
+
+<script src="../../js/jquery.js"></script>
+<script src="../../js/darkfish.js"></script>
+
+<link href="../../css/fonts.css" rel="stylesheet">
+<link href="../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+  <div id="project-navigation">
+    <div id="home-section" role="region" title="Quick navigation" 
class="nav-section">
+  <h2>
+    <a href="../../index.html" rel="home">Home</a>
+  </h2>
+
+  <div id="table-of-contents-navigation">
+    <a href="../../table_of_contents.html#pages">Pages</a>
+    <a href="../../table_of_contents.html#classes">Classes</a>
+    <a href="../../table_of_contents.html#methods">Methods</a>
+  </div>
+</div>
+
+    <div id="search-section" role="search" class="project-section 
initially-hidden">
+  <form action="#" method="get" accept-charset="utf-8">
+    <div id="search-field-wrapper">
+      <input id="search-field" role="combobox" aria-label="Search"
+             aria-autocomplete="list" aria-controls="search-results"
+             type="text" name="search" placeholder="Search" spellcheck="false"
+             title="Type to search, Up and Down to navigate, Enter to load">
+    </div>
+
+    <ul id="search-results" aria-label="Search Results"
+        aria-busy="false" aria-expanded="false"
+        aria-atomic="false" class="initially-hidden"></ul>
+  </form>
+</div>
+
+  </div>
+
+  
+
+  <div id="class-metadata">
+    
+    
+    <div id="includes-section" class="nav-section">
+  <h3>Included Modules</h3>
+
+  <ul class="link-list">
+  
+  
+    <li><a class="include" href="../Extension.html">Buildr::Extension</a>
+  
+  
+  </ul>
+</div>
+
+    
+    
+  </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Buildr::Eclipse::Scala">
+  <h1 id="module-Buildr::Eclipse::Scala" class="module">
+    module Buildr::Eclipse::Scala
+  </h1>
+
+  <section class="description">
+    
+  </section>
+
+  
+  
+  
+  <section id="5Buntitled-5D" class="documentation-section">
+    
+
+    
+
+    
+    <section class="constants-list">
+      <header>
+        <h3>Constants</h3>
+      </header>
+      <dl>
+      
+        <dt id="BUILDER">BUILDER
+        
+        <dd>
+        
+      
+        <dt id="CONTAINER">CONTAINER
+        
+        <dd>
+        
+      
+        <dt id="NATURE">NATURE
+        
+        <dd>
+        
+      
+      </dl>
+    </section>
+    
+
+    
+
+    
+  </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+  <p><a href="http://validator.w3.org/check/referer";>Validate</a>
+  <p>Generated by <a href="http://docs.seattlerb.org/rdoc/";>RDoc</a> 4.2.2.
+  <p>Based on <a 
href="http://deveiate.org/projects/Darkfish-RDoc/";>Darkfish</a> by <a 
href="http://deveiate.org";>Michael Granger</a>.
+</footer>
+

Added: dev/buildr/1.5.0/site/rdoc/Buildr/Emma.html
==============================================================================
--- dev/buildr/1.5.0/site/rdoc/Buildr/Emma.html (added)
+++ dev/buildr/1.5.0/site/rdoc/Buildr/Emma.html Sat Sep 17 06:23:20 2016
@@ -0,0 +1,325 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Buildr::Emma - buildr</title>
+
+<script type="text/javascript">
+  var rdoc_rel_prefix = "../";
+</script>
+
+<script src="../js/jquery.js"></script>
+<script src="../js/darkfish.js"></script>
+
+<link href="../css/fonts.css" rel="stylesheet">
+<link href="../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+  <div id="project-navigation">
+    <div id="home-section" role="region" title="Quick navigation" 
class="nav-section">
+  <h2>
+    <a href="../index.html" rel="home">Home</a>
+  </h2>
+
+  <div id="table-of-contents-navigation">
+    <a href="../table_of_contents.html#pages">Pages</a>
+    <a href="../table_of_contents.html#classes">Classes</a>
+    <a href="../table_of_contents.html#methods">Methods</a>
+  </div>
+</div>
+
+    <div id="search-section" role="search" class="project-section 
initially-hidden">
+  <form action="#" method="get" accept-charset="utf-8">
+    <div id="search-field-wrapper">
+      <input id="search-field" role="combobox" aria-label="Search"
+             aria-autocomplete="list" aria-controls="search-results"
+             type="text" name="search" placeholder="Search" spellcheck="false"
+             title="Type to search, Up and Down to navigate, Enter to load">
+    </div>
+
+    <ul id="search-results" aria-label="Search Results"
+        aria-busy="false" aria-expanded="false"
+        aria-atomic="false" class="initially-hidden"></ul>
+  </form>
+</div>
+
+  </div>
+
+  
+
+  <div id="class-metadata">
+    
+    
+    
+    
+    <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+  <h3>Methods</h3>
+
+  <ul class="link-list" role="directory">
+    
+    <li ><a href="#method-c-ant">::ant</a>
+    
+    <li ><a href="#method-c-data_file">::data_file</a>
+    
+    <li ><a href="#method-c-dependencies">::dependencies</a>
+    
+    <li ><a href="#method-c-report_to">::report_to</a>
+    
+    <li ><a href="#method-c-version">::version</a>
+    
+  </ul>
+</div>
+
+  </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Buildr::Emma">
+  <h1 id="module-Buildr::Emma" class="module">
+    module Buildr::Emma
+  </h1>
+
+  <section class="description">
+    
+<p>Provides the <code>emma:html</code> and <code>emma:xml</code> tasks.
+Require explicitly using <code>require &quot;buildr/emma&quot;</code>.</p>
+
+<p>You can generate emma reports for a single project using the project name
+as prefix:</p>
+
+<pre>project_name:emma:html</pre>
+
+<p>You can also specify which classes to include/exclude from instrumentation
+by passing a class name regexp to the <code>emma.include</code> or
+<code>emma.exclude</code> methods.</p>
+
+<pre class="ruby"><span class="ruby-identifier">define</span> <span 
class="ruby-string">&#39;someModule&#39;</span> <span 
class="ruby-keyword">do</span>
+   <span class="ruby-identifier">emma</span>.<span 
class="ruby-identifier">include</span> <span 
class="ruby-string">&#39;some.package.*&#39;</span>
+   <span class="ruby-identifier">emma</span>.<span 
class="ruby-identifier">exclude</span> <span 
class="ruby-string">&#39;some.foo.util.SimpleUtil&#39;</span>
+<span class="ruby-keyword">end</span>
+</pre>
+
+  </section>
+
+  
+  
+  
+  <section id="5Buntitled-5D" class="documentation-section">
+    
+
+    
+
+    
+    <section class="constants-list">
+      <header>
+        <h3>Constants</h3>
+      </header>
+      <dl>
+      
+        <dt id="VERSION">VERSION
+        
+        <dd>
+        
+      
+      </dl>
+    </section>
+    
+
+    
+
+    
+     <section id="public-class-5Buntitled-5D-method-details" 
class="method-section">
+       <header>
+         <h3>Public Class Methods</h3>
+       </header>
+
+    
+      <div id="method-c-ant" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">ant</span><span
+            class="method-args">() { |ant| ... }</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          
+          
+          
+
+          
+          <div class="method-source-code" id="ant-source">
+            <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, 
line 56</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">ant</span>
+
+  <span class="ruby-constant">Buildr</span>.<span 
class="ruby-identifier">ant</span> <span 
class="ruby-string">&#39;emma&#39;</span> <span class="ruby-keyword">do</span> 
<span class="ruby-operator">|</span><span 
class="ruby-identifier">ant</span><span class="ruby-operator">|</span>
+    <span class="ruby-identifier">ant</span>.<span 
class="ruby-identifier">taskdef</span> <span 
class="ruby-value">:resource=</span><span 
class="ruby-operator">&gt;</span><span 
class="ruby-string">&#39;emma_ant.properties&#39;</span>,
+      <span class="ruby-value">:classpath=</span><span 
class="ruby-operator">&gt;</span><span 
class="ruby-constant">Buildr</span>.<span 
class="ruby-identifier">artifacts</span>(<span 
class="ruby-identifier">dependencies</span>).<span 
class="ruby-identifier">each</span>(<span 
class="ruby-operator">&amp;</span><span 
class="ruby-value">:invoke</span>).<span 
class="ruby-identifier">map</span>(<span 
class="ruby-operator">&amp;</span><span class="ruby-value">:to_s</span>).<span 
class="ruby-identifier">join</span>(<span 
class="ruby-constant">File</span><span class="ruby-operator">::</span><span 
class="ruby-constant">PATH_SEPARATOR</span>)
+    <span class="ruby-identifier">ant</span>.<span 
class="ruby-identifier">emma</span> <span 
class="ruby-value">:verbosity=</span><span 
class="ruby-operator">&gt;</span>(<span 
class="ruby-identifier">trace?</span>(<span class="ruby-value">:emma</span>) 
<span class="ruby-operator">?</span> <span 
class="ruby-string">&#39;verbose&#39;</span> <span 
class="ruby-operator">:</span> <span 
class="ruby-string">&#39;warning&#39;</span>) <span 
class="ruby-keyword">do</span>
+      <span class="ruby-keyword">yield</span> <span 
class="ruby-identifier">ant</span>
+    <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-c-data_file" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">data_file</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="data_file-source">
+            <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, 
line 52</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">data_file</span>()
+  <span class="ruby-constant">File</span>.<span 
class="ruby-identifier">join</span>(<span 
class="ruby-identifier">report_to</span>, <span 
class="ruby-string">&#39;coverage.es&#39;</span>)
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-c-dependencies" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">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="dependencies-source">
+            <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, 
line 44</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">dependencies</span>
+  <span class="ruby-ivar">@dependencies</span> <span 
class="ruby-operator">||=</span> [<span 
class="ruby-node">&quot;emma:emma_ant:jar:#{version}&quot;</span>, <span 
class="ruby-node">&quot;emma:emma:jar:#{version}&quot;</span>]
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-c-report_to" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">report_to</span><span
+            class="method-args">(format=nil)</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          
+          
+          
+
+          
+          <div class="method-source-code" id="report_to-source">
+            <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, 
line 48</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">report_to</span> <span 
class="ruby-identifier">format</span>=<span class="ruby-keyword">nil</span>
+  <span class="ruby-constant">File</span>.<span 
class="ruby-identifier">expand_path</span>(<span 
class="ruby-string">&#39;reports/emma&#39;</span>)
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-c-version" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">version</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="version-source">
+            <pre><span class="ruby-comment"># File lib/buildr/java/emma.rb, 
line 40</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">version</span>
+  <span class="ruby-constant">Buildr</span>.<span 
class="ruby-identifier">settings</span>.<span 
class="ruby-identifier">build</span>[<span 
class="ruby-string">&#39;emma&#39;</span>] <span 
class="ruby-operator">||</span> <span class="ruby-constant">VERSION</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+    </section>
+  
+  </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+  <p><a href="http://validator.w3.org/check/referer";>Validate</a>
+  <p>Generated by <a href="http://docs.seattlerb.org/rdoc/";>RDoc</a> 4.2.2.
+  <p>Based on <a 
href="http://deveiate.org/projects/Darkfish-RDoc/";>Darkfish</a> by <a 
href="http://deveiate.org";>Michael Granger</a>.
+</footer>
+

Added: dev/buildr/1.5.0/site/rdoc/Buildr/Extension.html
==============================================================================
--- dev/buildr/1.5.0/site/rdoc/Buildr/Extension.html (added)
+++ dev/buildr/1.5.0/site/rdoc/Buildr/Extension.html Sat Sep 17 06:23:20 2016
@@ -0,0 +1,190 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Buildr::Extension - buildr</title>
+
+<script type="text/javascript">
+  var rdoc_rel_prefix = "../";
+</script>
+
+<script src="../js/jquery.js"></script>
+<script src="../js/darkfish.js"></script>
+
+<link href="../css/fonts.css" rel="stylesheet">
+<link href="../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+  <div id="project-navigation">
+    <div id="home-section" role="region" title="Quick navigation" 
class="nav-section">
+  <h2>
+    <a href="../index.html" rel="home">Home</a>
+  </h2>
+
+  <div id="table-of-contents-navigation">
+    <a href="../table_of_contents.html#pages">Pages</a>
+    <a href="../table_of_contents.html#classes">Classes</a>
+    <a href="../table_of_contents.html#methods">Methods</a>
+  </div>
+</div>
+
+    <div id="search-section" role="search" class="project-section 
initially-hidden">
+  <form action="#" method="get" accept-charset="utf-8">
+    <div id="search-field-wrapper">
+      <input id="search-field" role="combobox" aria-label="Search"
+             aria-autocomplete="list" aria-controls="search-results"
+             type="text" name="search" placeholder="Search" spellcheck="false"
+             title="Type to search, Up and Down to navigate, Enter to load">
+    </div>
+
+    <ul id="search-results" aria-label="Search Results"
+        aria-busy="false" aria-expanded="false"
+        aria-atomic="false" class="initially-hidden"></ul>
+  </form>
+</div>
+
+  </div>
+
+  
+
+  <div id="class-metadata">
+    
+    
+    
+    <div id="extends-section" class="nav-section">
+  <h3>Extended With Modules</h3>
+
+  <ul class="link-list">
+    
+  
+    <li><a class="extend" 
href="Extension/ClassMethods.html">Buildr::Extension::ClassMethods</a>
+  
+  
+  </ul>
+</div>
+
+    
+  </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Buildr::Extension">
+  <h1 id="module-Buildr::Extension" class="module">
+    module Buildr::Extension
+  </h1>
+
+  <section class="description">
+    
+<p>The basic mechanism for extending projects in <a
+href="../Buildr.html">Buildr</a> are Ruby modules.  In fact, base features
+like compiling and testing are all developed in the form of modules, and
+then added to the core <a href="Project.html">Project</a> class.</p>
+
+<p>A module defines instance methods that are then mixed into the project and
+become instance methods of the project.  There are two general ways for
+extending projects. You can extend all projects by including the module in
+Project:</p>
+
+<pre class="ruby"><span class="ruby-keyword">class</span> <span 
class="ruby-constant">Project</span>
+  <span class="ruby-identifier">include</span> <span 
class="ruby-constant">MyExtension</span>
+<span class="ruby-keyword">end</span>
+</pre>
+
+<p>You can also extend a given project instance and only that instance by
+extending it with the module:</p>
+
+<pre class="ruby"><span class="ruby-identifier">define</span> <span 
class="ruby-string">&#39;foo&#39;</span> <span class="ruby-keyword">do</span>
+  <span class="ruby-identifier">extend</span> <span 
class="ruby-constant">MyExtension</span>
+<span class="ruby-keyword">end</span>
+</pre>
+
+<p>Some extensions require tighter integration with the project, specifically
+for setting up tasks and properties, or for configuring tasks based on the
+project definition.  You can do that by adding callbacks to the process.</p>
+
+<p>The easiest way to add callbacks is by incorporating the <a
+href="Extension.html">Extension</a> module in your own extension, and using
+the various class methods to define callback behavior:</p>
+<ul><li>
+<p>first_time – This block will be called once for any particular 
extension.</p>
+
+<pre>You can use this to setup top-level and local tasks.</pre>
+</li><li>
+<p>before_define – This block is called once for the project with the 
project</p>
+
+<pre>instance, right before running the project definition.  You can use this
+to add tasks and set properties that will be used in the project 
definition.</pre>
+</li><li>
+<p>after_define – This block is called once for the project with the 
project</p>
+
+<pre>instance, right after running the project definition.  You can use this to
+do any post-processing that depends on the project definition.</pre>
+</li></ul>
+
+<p>This example illustrates how to write a simple extension:</p>
+
+<pre class="ruby"><span class="ruby-keyword">module</span> <span 
class="ruby-constant">LinesOfCode</span>
+  <span class="ruby-identifier">include</span> <span 
class="ruby-constant">Extension</span>
+
+  <span class="ruby-identifier">first_time</span> <span 
class="ruby-keyword">do</span>
+    <span class="ruby-comment"># Define task not specific to any projet.</span>
+    <span class="ruby-identifier">desc</span> <span 
class="ruby-string">&#39;Count lines of code in current project&#39;</span>
+    <span class="ruby-constant">Project</span>.<span 
class="ruby-identifier">local_task</span>(<span 
class="ruby-string">&#39;loc&#39;</span>)
+  <span class="ruby-keyword">end</span>
+
+  <span class="ruby-identifier">before_define</span> <span 
class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span 
class="ruby-identifier">project</span><span class="ruby-operator">|</span>
+    <span class="ruby-comment"># Define the loc task for this particular 
project.</span>
+    <span class="ruby-constant">Rake</span><span 
class="ruby-operator">::</span><span class="ruby-constant">Task</span>.<span 
class="ruby-identifier">define_task</span> <span 
class="ruby-string">&#39;loc&#39;</span> <span class="ruby-keyword">do</span> 
<span class="ruby-operator">|</span><span 
class="ruby-identifier">task</span><span class="ruby-operator">|</span>
+      <span class="ruby-identifier">lines</span> = <span 
class="ruby-identifier">task</span>.<span 
class="ruby-identifier">prerequisites</span>.<span 
class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span 
class="ruby-identifier">path</span><span class="ruby-operator">|</span> <span 
class="ruby-constant">Dir</span>[<span class="ruby-string">&#39;#{path}   
/*&#39;</span>] }.<span class="ruby-identifier">flatten</span>.<span 
class="ruby-identifier">uniq</span>.
+        <span class="ruby-identifier">inject</span>(<span 
class="ruby-value">0</span>) { <span class="ruby-operator">|</span><span 
class="ruby-identifier">total</span>, <span 
class="ruby-identifier">file</span><span class="ruby-operator">|</span> <span 
class="ruby-identifier">total</span> <span class="ruby-operator">+</span> <span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">readlines</span>(<span 
class="ruby-identifier">file</span>).<span class="ruby-identifier">count</span> 
}
+      <span class="ruby-identifier">puts</span> <span 
class="ruby-node">&quot;Project #{project.name} has #{lines} lines of 
code&quot;</span>
+    <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">end</span>
+
+  <span class="ruby-identifier">after_define</span> <span 
class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span 
class="ruby-identifier">project</span><span class="ruby-operator">|</span>
+    <span class="ruby-comment"># Now that we know all the source directories, 
add them.</span>
+    <span class="ruby-identifier">task</span>(<span 
class="ruby-string">&#39;loc&#39;</span>=<span 
class="ruby-operator">&gt;</span><span 
class="ruby-identifier">compile</span>.<span 
class="ruby-identifier">sources</span> <span class="ruby-operator">+</span> 
<span class="ruby-identifier">compile</span>.<span 
class="ruby-identifier">test</span>.<span 
class="ruby-identifier">sources</span>)
+  <span class="ruby-keyword">end</span>
+
+  <span class="ruby-comment"># To use this method in your project:</span>
+  <span class="ruby-comment">#   loc path_1, path_2</span>
+  <span class="ruby-keyword">def</span> <span 
class="ruby-identifier">loc</span>(<span class="ruby-operator">*</span><span 
class="ruby-identifier">paths</span>)
+    <span class="ruby-identifier">task</span>(<span 
class="ruby-string">&#39;loc&#39;</span>=<span 
class="ruby-operator">&gt;</span><span class="ruby-identifier">paths</span>)
+  <span class="ruby-keyword">end</span>
+
+<span class="ruby-keyword">end</span>
+
+<span class="ruby-keyword">class</span> <span 
class="ruby-constant">Buildr</span><span class="ruby-operator">::</span><span 
class="ruby-constant">Project</span>
+  <span class="ruby-identifier">include</span> <span 
class="ruby-constant">LinesOfCode</span>
+<span class="ruby-keyword">end</span>
+</pre>
+
+  </section>
+
+  
+  
+  
+  <section id="5Buntitled-5D" class="documentation-section">
+    
+
+    
+
+    
+
+    
+
+    
+  </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+  <p><a href="http://validator.w3.org/check/referer";>Validate</a>
+  <p>Generated by <a href="http://docs.seattlerb.org/rdoc/";>RDoc</a> 4.2.2.
+  <p>Based on <a 
href="http://deveiate.org/projects/Darkfish-RDoc/";>Darkfish</a> by <a 
href="http://deveiate.org";>Michael Granger</a>.
+</footer>
+

Added: dev/buildr/1.5.0/site/rdoc/Buildr/Extension/ClassMethods.html
==============================================================================
--- dev/buildr/1.5.0/site/rdoc/Buildr/Extension/ClassMethods.html (added)
+++ dev/buildr/1.5.0/site/rdoc/Buildr/Extension/ClassMethods.html Sat Sep 17 
06:23:20 2016
@@ -0,0 +1,259 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>module Buildr::Extension::ClassMethods - buildr</title>
+
+<script type="text/javascript">
+  var rdoc_rel_prefix = "../../";
+</script>
+
+<script src="../../js/jquery.js"></script>
+<script src="../../js/darkfish.js"></script>
+
+<link href="../../css/fonts.css" rel="stylesheet">
+<link href="../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="module">
+<nav role="navigation">
+  <div id="project-navigation">
+    <div id="home-section" role="region" title="Quick navigation" 
class="nav-section">
+  <h2>
+    <a href="../../index.html" rel="home">Home</a>
+  </h2>
+
+  <div id="table-of-contents-navigation">
+    <a href="../../table_of_contents.html#pages">Pages</a>
+    <a href="../../table_of_contents.html#classes">Classes</a>
+    <a href="../../table_of_contents.html#methods">Methods</a>
+  </div>
+</div>
+
+    <div id="search-section" role="search" class="project-section 
initially-hidden">
+  <form action="#" method="get" accept-charset="utf-8">
+    <div id="search-field-wrapper">
+      <input id="search-field" role="combobox" aria-label="Search"
+             aria-autocomplete="list" aria-controls="search-results"
+             type="text" name="search" placeholder="Search" spellcheck="false"
+             title="Type to search, Up and Down to navigate, Enter to load">
+    </div>
+
+    <ul id="search-results" aria-label="Search Results"
+        aria-busy="false" aria-expanded="false"
+        aria-atomic="false" class="initially-hidden"></ul>
+  </form>
+</div>
+
+  </div>
+
+  
+
+  <div id="class-metadata">
+    
+    
+    
+    
+    <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+  <h3>Methods</h3>
+
+  <ul class="link-list" role="directory">
+    
+    <li ><a href="#method-i-after_define">#after_define</a>
+    
+    <li ><a href="#method-i-before_define">#before_define</a>
+    
+    <li ><a href="#method-i-first_time">#first_time</a>
+    
+  </ul>
+</div>
+
+  </div>
+</nav>
+
+<main role="main" aria-labelledby="module-Buildr::Extension::ClassMethods">
+  <h1 id="module-Buildr::Extension::ClassMethods" class="module">
+    module Buildr::Extension::ClassMethods
+  </h1>
+
+  <section class="description">
+    
+<p>Methods added to the extension module when including <a
+href="../Extension.html">Extension</a>.</p>
+
+  </section>
+
+  
+  
+  
+  <section id="5Buntitled-5D" class="documentation-section">
+    
+
+    
+
+    
+
+    
+
+    
+     <section id="public-instance-5Buntitled-5D-method-details" 
class="method-section">
+       <header>
+         <h3>Public Instance Methods</h3>
+       </header>
+
+    
+      <div id="method-i-after_define" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">after_define</span><span
+            class="method-args">(*args, &block)</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          <p>This block is called once for the project with the project 
instance, right
+after running the project definition.  You can use this to do any
+post-processing that depends on the project definition.</p>
+
+<p>The block may be named and dependencies may be declared similar to <a
+href="../../Rake.html">Rake</a> task dependencies:</p>
+
+<pre class="ruby"><span class="ruby-identifier">after_define</span>(:<span 
class="ruby-identifier">my_setup</span>) <span class="ruby-keyword">do</span> 
<span class="ruby-operator">|</span><span 
class="ruby-identifier">project</span><span class="ruby-operator">|</span>
+  <span class="ruby-comment"># do stuff on project</span>
+<span class="ruby-keyword">end</span>
+
+<span class="ruby-comment"># my_setup code must run before :compile (but only 
after project is defined)</span>
+<span class="ruby-identifier">after_define</span>(:<span 
class="ruby-identifier">compile</span> =<span class="ruby-operator">&gt;</span> 
:<span class="ruby-identifier">my_setup</span>)
+</pre>
+          
+          
+
+          
+          <div class="method-source-code" id="after_define-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/project.rb, 
line 860</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">after_define</span>(<span 
class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+  <span class="ruby-keyword">if</span> <span 
class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
+    <span class="ruby-identifier">name</span> = <span 
class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>
+    <span class="ruby-identifier">deps</span> = []
+  <span class="ruby-keyword">else</span>
+    <span class="ruby-identifier">name</span>, <span 
class="ruby-identifier">args</span>, <span class="ruby-identifier">deps</span> 
= <span class="ruby-constant">Buildr</span>.<span 
class="ruby-identifier">application</span>.<span 
class="ruby-identifier">resolve_args</span>(<span 
class="ruby-identifier">args</span>)
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-identifier">module_callbacks</span> <span 
class="ruby-operator">&lt;&lt;</span> <span 
class="ruby-constant">Callback</span>.<span 
class="ruby-identifier">new</span>(<span 
class="ruby-value">:after_define</span>, <span 
class="ruby-identifier">name</span>, <span class="ruby-identifier">deps</span>, 
<span class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-before_define" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">before_define</span><span
+            class="method-args">(*args, &block)</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          <p>This block is called once for the project with the project 
instance, right
+before running the project definition.  You can use this to add tasks and
+set properties that will be used in the project definition.</p>
+
+<p>The block may be named and dependencies may be declared similar to <a
+href="../../Rake.html">Rake</a> task dependencies:</p>
+
+<pre class="ruby"><span class="ruby-identifier">before_define</span>(:<span 
class="ruby-identifier">my_setup</span>) <span class="ruby-keyword">do</span> 
<span class="ruby-operator">|</span><span 
class="ruby-identifier">project</span><span class="ruby-operator">|</span>
+  <span class="ruby-comment"># do stuff on project</span>
+<span class="ruby-keyword">end</span>
+
+<span class="ruby-comment"># my_setup code must run before :compile</span>
+<span class="ruby-identifier">before_define</span>(:<span 
class="ruby-identifier">compile</span> =<span class="ruby-operator">&gt;</span> 
:<span class="ruby-identifier">my_setup</span>)
+</pre>
+          
+          
+
+          
+          <div class="method-source-code" id="before_define-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/project.rb, 
line 836</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">before_define</span>(<span 
class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+  <span class="ruby-keyword">if</span> <span 
class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
+    <span class="ruby-identifier">name</span> = <span 
class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>
+    <span class="ruby-identifier">deps</span> = []
+  <span class="ruby-keyword">else</span>
+    <span class="ruby-identifier">name</span>, <span 
class="ruby-identifier">args</span>, <span class="ruby-identifier">deps</span> 
= <span class="ruby-constant">Buildr</span>.<span 
class="ruby-identifier">application</span>.<span 
class="ruby-identifier">resolve_args</span>(<span 
class="ruby-identifier">args</span>)
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-identifier">module_callbacks</span> <span 
class="ruby-operator">&lt;&lt;</span> <span 
class="ruby-constant">Callback</span>.<span 
class="ruby-identifier">new</span>(<span 
class="ruby-value">:before_define</span>, <span 
class="ruby-identifier">name</span>, <span class="ruby-identifier">deps</span>, 
<span class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-first_time" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">first_time</span><span
+            class="method-args">(&block)</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          <p>This block will be called once for any particular extension 
included in <a
+href="../Project.html">Project</a>. You can use this to setup top-level and
+local tasks.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="first_time-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/project.rb, 
line 818</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">first_time</span>(<span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+  <span class="ruby-identifier">module_callbacks</span> <span 
class="ruby-operator">&lt;&lt;</span> <span 
class="ruby-constant">Callback</span>.<span 
class="ruby-identifier">new</span>(<span class="ruby-value">:first_time</span>, 
<span class="ruby-keyword">self</span>.<span 
class="ruby-identifier">name</span>, [], <span 
class="ruby-identifier">block</span>)
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+    </section>
+  
+  </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+  <p><a href="http://validator.w3.org/check/referer";>Validate</a>
+  <p>Generated by <a href="http://docs.seattlerb.org/rdoc/";>RDoc</a> 4.2.2.
+  <p>Based on <a 
href="http://deveiate.org/projects/Darkfish-RDoc/";>Darkfish</a> by <a 
href="http://deveiate.org";>Michael Granger</a>.
+</footer>
+

Added: dev/buildr/1.5.0/site/rdoc/Buildr/Filter.html
==============================================================================
--- dev/buildr/1.5.0/site/rdoc/Buildr/Filter.html (added)
+++ dev/buildr/1.5.0/site/rdoc/Buildr/Filter.html Sat Sep 17 06:23:20 2016
@@ -0,0 +1,698 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Buildr::Filter - buildr</title>
+
+<script type="text/javascript">
+  var rdoc_rel_prefix = "../";
+</script>
+
+<script src="../js/jquery.js"></script>
+<script src="../js/darkfish.js"></script>
+
+<link href="../css/fonts.css" rel="stylesheet">
+<link href="../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+  <div id="project-navigation">
+    <div id="home-section" role="region" title="Quick navigation" 
class="nav-section">
+  <h2>
+    <a href="../index.html" rel="home">Home</a>
+  </h2>
+
+  <div id="table-of-contents-navigation">
+    <a href="../table_of_contents.html#pages">Pages</a>
+    <a href="../table_of_contents.html#classes">Classes</a>
+    <a href="../table_of_contents.html#methods">Methods</a>
+  </div>
+</div>
+
+    <div id="search-section" role="search" class="project-section 
initially-hidden">
+  <form action="#" method="get" accept-charset="utf-8">
+    <div id="search-field-wrapper">
+      <input id="search-field" role="combobox" aria-label="Search"
+             aria-autocomplete="list" aria-controls="search-results"
+             type="text" name="search" placeholder="Search" spellcheck="false"
+             title="Type to search, Up and Down to navigate, Enter to load">
+    </div>
+
+    <ul id="search-results" aria-label="Search Results"
+        aria-busy="false" aria-expanded="false"
+        aria-atomic="false" class="initially-hidden"></ul>
+  </form>
+</div>
+
+  </div>
+
+  
+
+  <div id="class-metadata">
+    
+    <div id="parent-class-section" class="nav-section">
+  <h3>Parent</h3>
+
+  
+  <p class="link"><a href="../Object.html">Object</a>
+  
+</div>
+
+    
+    
+    <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+  <h3>Methods</h3>
+
+  <ul class="link-list" role="directory">
+    
+    <li ><a href="#method-i-add">#add</a>
+    
+    <li ><a href="#method-i-clear">#clear</a>
+    
+    <li ><a href="#method-i-exclude">#exclude</a>
+    
+    <li ><a href="#method-i-from">#from</a>
+    
+    <li ><a href="#method-i-include">#include</a>
+    
+    <li ><a href="#method-i-into">#into</a>
+    
+    <li ><a href="#method-i-pattern_match">#pattern_match</a>
+    
+    <li ><a href="#method-i-run">#run</a>
+    
+    <li ><a href="#method-i-target">#target</a>
+    
+    <li ><a href="#method-i-to_s">#to_s</a>
+    
+    <li ><a href="#method-i-using">#using</a>
+    
+  </ul>
+</div>
+
+  </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Buildr::Filter">
+  <h1 id="class-Buildr::Filter" class="class">
+    class Buildr::Filter
+  </h1>
+
+  <section class="description">
+    
+<p>A filter knows how to copy files from one directory to another, applying
+mappings to the contents of these files.</p>
+
+<p>You can specify the mapping using a <a href="../Hash.html">Hash</a>, and it
+will map ${key} fields found in each source file into the appropriate value
+in the target file. For example:</p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">using</span> <span 
class="ruby-string">&#39;version&#39;</span>=<span 
class="ruby-operator">&gt;</span><span 
class="ruby-string">&#39;1.2&#39;</span>, <span 
class="ruby-string">&#39;build&#39;</span>=<span 
class="ruby-operator">&gt;</span><span class="ruby-constant">Time</span>.<span 
class="ruby-identifier">now</span>
+</pre>
+
+<p>will replace all occurrences of <code>${version}</code> with
+<code>1.2</code>, and <code>${build}</code> with the current date/time.</p>
+
+<p>You can also specify the mapping by passing a proc or a method, that will
+be called for each source file, with the file name and content, returning
+the modified content.</p>
+
+<p>Without any mapping, the filter simply copies files from the source
+directory into the target directory.</p>
+
+<p>A filter has one target directory, but you can specify any number of source
+directories, either when creating the filter or calling <a
+href="Filter.html#method-i-from">from</a>. Include/exclude patterns are
+specified relative to the source directories, so:</p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">include</span> <span 
class="ruby-string">&#39;*.png&#39;</span>
+</pre>
+
+<p>will only include PNG files from any of the source directories. In the same
+way, you can use regular expressions, so:</p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">include</span> <span 
class="ruby-regexp">/picture_.*\.png/</span>
+</pre>
+
+<p>will only include PNG files starting with picture_ from any of the sources
+directories.</p>
+
+<p>See Buildr#filter.</p>
+
+  </section>
+
+  
+  
+  
+  <section id="5Buntitled-5D" class="documentation-section">
+    
+
+    
+
+    
+
+    
+    <section class="attribute-method-details" class="method-section">
+      <header>
+        <h3>Attributes</h3>
+      </header>
+
+      
+      <div id="attribute-i-sources" class="method-detail">
+        <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">
+        
+        <p>Returns the list of source directories (each being a file task).</p>
+        
+        </div>
+      </div>
+      
+    </section>
+    
+
+    
+     <section id="public-instance-5Buntitled-5D-method-details" 
class="method-section">
+       <header>
+         <h3>Public Instance Methods</h3>
+       </header>
+
+    
+      <div id="method-i-add" class="method-detail method-alias">
+        
+        <div class="method-heading">
+          <span class="method-name">add</span><span
+            class="method-args">(*files)</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          
+          
+          
+
+          
+        </div>
+
+        
+
+        
+        <div class="aliases">
+          Alias for: <a href="Filter.html#method-i-include">include</a>
+        </div>
+        
+      </div>
+
+    
+      <div id="method-i-clear" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            clear &rarr; self
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>Clear filter sources and include/exclude patterns</p>
+          
+          
+
+          
+          <div class="method-source-code" id="clear-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 58</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">clear</span>
+  <span class="ruby-ivar">@include</span> = []
+  <span class="ruby-ivar">@exclude</span> = []
+  <span class="ruby-ivar">@sources</span> = <span 
class="ruby-constant">FileList</span>[]
+  <span class="ruby-ivar">@mapper</span> = <span 
class="ruby-constant">Mapper</span>.<span class="ruby-identifier">new</span>
+  <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-exclude" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            exclude(*files) &rarr; self
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>Specifies files to exclude and returns self. See 
FileList#exclude.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="exclude-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 120</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">exclude</span>(<span 
class="ruby-operator">*</span><span class="ruby-identifier">files</span>)
+  <span class="ruby-ivar">@exclude</span> <span 
class="ruby-operator">+=</span> <span 
class="ruby-identifier">files</span>.<span 
class="ruby-identifier">flatten</span>
+  <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-from" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            from(*sources) &rarr; self
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>Adds additional directories from which to copy resources.</p>
+
+<p>For example:</p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">from</span>(<span 
class="ruby-string">&#39;src&#39;</span>).<span 
class="ruby-identifier">into</span>(<span 
class="ruby-string">&#39;target&#39;</span>).<span 
class="ruby-identifier">using</span>(<span 
class="ruby-string">&#39;build&#39;</span>=<span 
class="ruby-operator">&gt;</span><span class="ruby-constant">Time</span>.<span 
class="ruby-identifier">now</span>)
+</pre>
+          
+          
+
+          
+          <div class="method-source-code" id="from-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 73</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">from</span>(<span class="ruby-operator">*</span><span 
class="ruby-identifier">sources</span>)
+  <span class="ruby-ivar">@sources</span> <span 
class="ruby-operator">|=</span> <span 
class="ruby-identifier">sources</span>.<span 
class="ruby-identifier">flatten</span>.<span class="ruby-identifier">map</span> 
{ <span class="ruby-operator">|</span><span 
class="ruby-identifier">dir</span><span class="ruby-operator">|</span> <span 
class="ruby-identifier">file</span>(<span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">expand_path</span>(<span 
class="ruby-identifier">dir</span>.<span class="ruby-identifier">to_s</span>)) }
+  <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-include" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            include(*files) &rarr; self
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>Specifies files to include and returns self. See 
FileList#include.</p>
+
+<p>By default all files are included. You can use this method to only include
+specific files from the source directory.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="include-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 110</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">include</span>(<span 
class="ruby-operator">*</span><span class="ruby-identifier">files</span>)
+  <span class="ruby-ivar">@include</span> <span 
class="ruby-operator">+=</span> <span 
class="ruby-identifier">files</span>.<span 
class="ruby-identifier">flatten</span>
+  <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+        <div class="aliases">
+          Also aliased as: <a href="Filter.html#method-i-add">add</a>
+        </div>
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-into" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            into(dir) &rarr; self
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>Sets the target directory into which files are copied and returns 
self.</p>
+
+<p>For example:</p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">from</span>(<span 
class="ruby-string">&#39;src&#39;</span>).<span 
class="ruby-identifier">into</span>(<span 
class="ruby-string">&#39;target&#39;</span>).<span 
class="ruby-identifier">using</span>(<span 
class="ruby-string">&#39;build&#39;</span>=<span 
class="ruby-operator">&gt;</span><span class="ruby-constant">Time</span>.<span 
class="ruby-identifier">now</span>)
+</pre>
+          
+          
+
+          
+          <div class="method-source-code" id="into-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 97</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">into</span>(<span class="ruby-identifier">dir</span>)
+  <span class="ruby-ivar">@target_dir</span> = <span 
class="ruby-identifier">dir</span>.<span class="ruby-identifier">to_s</span>
+  <span class="ruby-ivar">@target</span> = <span 
class="ruby-keyword">nil</span>
+  <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-run" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            run &rarr; boolean
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>Runs the filter.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="run-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 170</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>
+  <span class="ruby-identifier">copy_map</span> = <span 
class="ruby-identifier">copy_map</span>()
+
+  <span class="ruby-identifier">mkpath</span> <span 
class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span>
+  <span class="ruby-keyword">return</span> <span 
class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span 
class="ruby-identifier">copy_map</span>.<span 
class="ruby-identifier">empty?</span>
+
+  <span class="ruby-identifier">copy_map</span>.<span 
class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span 
class="ruby-operator">|</span><span class="ruby-identifier">path</span>, <span 
class="ruby-identifier">source</span><span class="ruby-operator">|</span>
+    <span class="ruby-identifier">dest</span> = <span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">expand_path</span>(<span 
class="ruby-identifier">path</span>, <span 
class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span>)
+    <span class="ruby-keyword">if</span> <span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">directory?</span>(<span 
class="ruby-identifier">source</span>)
+      <span class="ruby-identifier">mkpath</span> <span 
class="ruby-identifier">dest</span>
+    <span class="ruby-keyword">else</span>
+      <span class="ruby-identifier">mkpath</span> <span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">dirname</span>(<span 
class="ruby-identifier">dest</span>)
+      <span class="ruby-keyword">if</span> <span 
class="ruby-ivar">@mapper</span>.<span 
class="ruby-identifier">mapper_type</span>
+        <span class="ruby-identifier">mapped</span> = <span 
class="ruby-ivar">@mapper</span>.<span 
class="ruby-identifier">transform</span>(<span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">open</span>(<span 
class="ruby-identifier">source</span>, <span 
class="ruby-string">&#39;rb&#39;</span>) { <span 
class="ruby-operator">|</span><span class="ruby-identifier">file</span><span 
class="ruby-operator">|</span> <span class="ruby-identifier">file</span>.<span 
class="ruby-identifier">read</span> }, <span 
class="ruby-identifier">path</span>)
+        <span class="ruby-constant">File</span>.<span 
class="ruby-identifier">open</span>(<span class="ruby-identifier">dest</span>, 
<span class="ruby-string">&#39;wb&#39;</span>) { <span 
class="ruby-operator">|</span><span class="ruby-identifier">file</span><span 
class="ruby-operator">|</span> <span class="ruby-identifier">file</span>.<span 
class="ruby-identifier">write</span> <span 
class="ruby-identifier">mapped</span> }
+      <span class="ruby-keyword">else</span> <span class="ruby-comment"># no 
mapping</span>
+        <span class="ruby-identifier">cp</span> <span 
class="ruby-identifier">source</span>, <span class="ruby-identifier">dest</span>
+      <span class="ruby-keyword">end</span>
+    <span class="ruby-keyword">end</span>
+    <span class="ruby-constant">File</span>.<span 
class="ruby-identifier">chmod</span>(<span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">stat</span>(<span 
class="ruby-identifier">source</span>).<span 
class="ruby-identifier">mode</span> <span class="ruby-operator">|</span> <span 
class="ruby-value">0200</span>, <span class="ruby-identifier">dest</span>)
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-identifier">touch</span> <span 
class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span>
+  <span class="ruby-keyword">true</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-target" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">target</span><span
+            class="method-args">()</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          <p>The target directory as a file task.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="target-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 79</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">target</span>
+  <span class="ruby-keyword">return</span> <span 
class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span 
class="ruby-ivar">@target_dir</span>
+  <span class="ruby-keyword">unless</span> <span 
class="ruby-ivar">@target</span>
+    <span class="ruby-ivar">@target</span> = <span 
class="ruby-identifier">file</span>(<span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">expand_path</span>(<span 
class="ruby-ivar">@target_dir</span>)) { <span 
class="ruby-operator">|</span><span class="ruby-identifier">task</span><span 
class="ruby-operator">|</span> <span class="ruby-identifier">run</span> <span 
class="ruby-keyword">if</span> <span class="ruby-ivar">@target</span> <span 
class="ruby-operator">==</span> <span class="ruby-identifier">task</span> }
+    <span class="ruby-ivar">@target</span>.<span 
class="ruby-identifier">enhance</span> <span 
class="ruby-ivar">@include</span>.<span class="ruby-identifier">select</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">is_a?</span>(<span 
class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span 
class="ruby-constant">FileTask</span>)}
+    <span class="ruby-ivar">@target</span>.<span 
class="ruby-identifier">enhance</span> <span 
class="ruby-ivar">@exclude</span>.<span class="ruby-identifier">select</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">is_a?</span>(<span 
class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span 
class="ruby-constant">FileTask</span>)}
+    <span class="ruby-ivar">@target</span>.<span 
class="ruby-identifier">enhance</span> <span 
class="ruby-identifier">copy_map</span>.<span 
class="ruby-identifier">values</span>
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-ivar">@target</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-to_s" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">to_s</span><span
+            class="method-args">()</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          <p>Returns the target directory.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="to_s-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 196</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
+  <span class="ruby-identifier">target</span>.<span 
class="ruby-identifier">to_s</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-using" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            using(mapping) &rarr; self
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            using { |file_name, contents| ... } &rarr; self
+          </span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>Specifies the mapping to use and returns self.</p>
+
+<p>The most typical mapping uses a <a href="../Hash.html">Hash</a>, and the
+default mapping uses the Maven style, so <code>${key}</code> are mapped to
+the values. You can change that by passing a different format as the first
+argument. Currently supports:</p>
+<ul><li>
+<p>:ant – Map <code>@key@</code>.</p>
+</li><li>
+<p>:maven – Map <code>${key}</code> (default).</p>
+</li><li>
+<p>:ruby – Map <code>#{key}</code>.</p>
+</li><li>
+<p>:erb – Map <code>&lt;%= key %&gt;</code>.</p>
+</li><li>
+<p>Regexp – Maps the matched data (e.g. <code>/=(.*?)=/</code></p>
+</li></ul>
+
+<p>For example:</p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">using</span> <span 
class="ruby-string">&#39;version&#39;</span>=<span 
class="ruby-operator">&gt;</span><span class="ruby-string">&#39;1.2&#39;</span>
+</pre>
+
+<p>Is the same as:</p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">using</span> :<span 
class="ruby-identifier">maven</span>, <span 
class="ruby-string">&#39;version&#39;</span>=<span 
class="ruby-operator">&gt;</span><span class="ruby-string">&#39;1.2&#39;</span>
+</pre>
+
+<p>You can also pass a proc or method. It will be called with the file name
+and content, to return the mapped content.</p>
+
+<p>Without any mapping, all files are copied as is.</p>
+
+<p>To register new mapping type see the <a
+href="Filter/Mapper.html">Mapper</a> class.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="using-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 161</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">using</span>(<span class="ruby-operator">*</span><span 
class="ruby-identifier">args</span>, <span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+  <span class="ruby-ivar">@mapper</span>.<span 
class="ruby-identifier">using</span>(<span class="ruby-operator">*</span><span 
class="ruby-identifier">args</span>, <span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+  <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+    </section>
+  
+     <section id="protected-instance-5Buntitled-5D-method-details" 
class="method-section">
+       <header>
+         <h3>Protected Instance Methods</h3>
+       </header>
+
+    
+      <div id="method-i-pattern_match" class="method-detail ">
+        
+        
+        <div class="method-heading">
+          <span class="method-callseq">
+            pattern_match(file, pattern) &rarr; boolean
+          </span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+        
+
+        <div class="method-description">
+          
+          <p>This method returns true if the file name matches the pattern. 
The pattern
+may be a String, a Regexp or a Proc.</p>
+          
+          
+
+          
+          <div class="method-source-code" id="pattern_match-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 208</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">pattern_match</span>(<span 
class="ruby-identifier">file</span>, <span 
class="ruby-identifier">pattern</span>)
+  <span class="ruby-keyword">case</span>
+  <span class="ruby-keyword">when</span> <span 
class="ruby-identifier">pattern</span>.<span 
class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Regexp</span>)
+    <span class="ruby-keyword">return</span> <span 
class="ruby-identifier">file</span>.<span 
class="ruby-identifier">match</span>(<span 
class="ruby-identifier">pattern</span>)
+  <span class="ruby-keyword">when</span> <span 
class="ruby-identifier">pattern</span>.<span 
class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
+    <span class="ruby-keyword">return</span> <span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">fnmatch</span>(<span 
class="ruby-identifier">pattern</span>, <span 
class="ruby-identifier">file</span>)
+  <span class="ruby-keyword">when</span> <span 
class="ruby-identifier">pattern</span>.<span 
class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Proc</span>)
+    <span class="ruby-keyword">return</span> <span 
class="ruby-identifier">pattern</span>.<span 
class="ruby-identifier">call</span>(<span class="ruby-identifier">file</span>)
+  <span class="ruby-keyword">when</span> <span 
class="ruby-identifier">pattern</span>.<span 
class="ruby-identifier">is_a?</span>(<span 
class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span 
class="ruby-constant">FileTask</span>)
+    <span class="ruby-keyword">return</span> <span 
class="ruby-identifier">pattern</span>.<span 
class="ruby-identifier">to_s</span>.<span 
class="ruby-identifier">match</span>(<span class="ruby-identifier">file</span>)
+  <span class="ruby-keyword">else</span>
+    <span class="ruby-identifier">raise</span> <span 
class="ruby-node">&quot;Cannot interpret pattern #{pattern}&quot;</span>
+  <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+    </section>
+  
+  </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+  <p><a href="http://validator.w3.org/check/referer";>Validate</a>
+  <p>Generated by <a href="http://docs.seattlerb.org/rdoc/";>RDoc</a> 4.2.2.
+  <p>Based on <a 
href="http://deveiate.org/projects/Darkfish-RDoc/";>Darkfish</a> by <a 
href="http://deveiate.org";>Michael Granger</a>.
+</footer>
+

Added: dev/buildr/1.5.0/site/rdoc/Buildr/Filter/Mapper.html
==============================================================================
--- dev/buildr/1.5.0/site/rdoc/Buildr/Filter/Mapper.html (added)
+++ dev/buildr/1.5.0/site/rdoc/Buildr/Filter/Mapper.html Sat Sep 17 06:23:20 
2016
@@ -0,0 +1,342 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+<meta charset="UTF-8">
+
+<title>class Buildr::Filter::Mapper - buildr</title>
+
+<script type="text/javascript">
+  var rdoc_rel_prefix = "../../";
+</script>
+
+<script src="../../js/jquery.js"></script>
+<script src="../../js/darkfish.js"></script>
+
+<link href="../../css/fonts.css" rel="stylesheet">
+<link href="../../css/rdoc.css" rel="stylesheet">
+
+
+
+<body id="top" role="document" class="class">
+<nav role="navigation">
+  <div id="project-navigation">
+    <div id="home-section" role="region" title="Quick navigation" 
class="nav-section">
+  <h2>
+    <a href="../../index.html" rel="home">Home</a>
+  </h2>
+
+  <div id="table-of-contents-navigation">
+    <a href="../../table_of_contents.html#pages">Pages</a>
+    <a href="../../table_of_contents.html#classes">Classes</a>
+    <a href="../../table_of_contents.html#methods">Methods</a>
+  </div>
+</div>
+
+    <div id="search-section" role="search" class="project-section 
initially-hidden">
+  <form action="#" method="get" accept-charset="utf-8">
+    <div id="search-field-wrapper">
+      <input id="search-field" role="combobox" aria-label="Search"
+             aria-autocomplete="list" aria-controls="search-results"
+             type="text" name="search" placeholder="Search" spellcheck="false"
+             title="Type to search, Up and Down to navigate, Enter to load">
+    </div>
+
+    <ul id="search-results" aria-label="Search Results"
+        aria-busy="false" aria-expanded="false"
+        aria-atomic="false" class="initially-hidden"></ul>
+  </form>
+</div>
+
+  </div>
+
+  
+
+  <div id="class-metadata">
+    
+    <div id="parent-class-section" class="nav-section">
+  <h3>Parent</h3>
+
+  
+  <p class="link"><a href="../../Object.html">Object</a>
+  
+</div>
+
+    
+    
+    <!-- Method Quickref -->
+<div id="method-list-section" class="nav-section">
+  <h3>Methods</h3>
+
+  <ul class="link-list" role="directory">
+    
+    <li ><a href="#method-i-is_binary-3F">#is_binary?</a>
+    
+    <li ><a href="#method-i-transform">#transform</a>
+    
+    <li ><a href="#method-i-using">#using</a>
+    
+  </ul>
+</div>
+
+  </div>
+</nav>
+
+<main role="main" aria-labelledby="class-Buildr::Filter::Mapper">
+  <h1 id="class-Buildr::Filter::Mapper" class="class">
+    class Buildr::Filter::Mapper
+  </h1>
+
+  <section class="description">
+    
+<p>This class implements content replacement logic for <a
+href="../Filter.html">Filter</a>.</p>
+
+<p>To register a new template engine @:foo@, extend this class with a method
+like:</p>
+
+<pre class="ruby"><span class="ruby-keyword">def</span> <span 
class="ruby-identifier">foo_transform</span>(<span 
class="ruby-identifier">content</span>, <span 
class="ruby-identifier">path</span> = <span class="ruby-keyword">nil</span>)
+   <span class="ruby-comment"># if this method yields a key, the value comes 
from the mapping hash</span>
+   <span class="ruby-identifier">content</span>.<span 
class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/world/</span>) { 
<span class="ruby-operator">|</span><span 
class="ruby-identifier">str</span><span class="ruby-operator">|</span> <span 
class="ruby-keyword">yield</span> <span class="ruby-operator">:</span><span 
class="ruby-identifier">bar</span> }
+<span class="ruby-keyword">end</span>
+</pre>
+
+<p>Then you can use :foo mapping type on a <a 
href="../Filter.html">Filter</a></p>
+
+<pre class="ruby"><span class="ruby-identifier">filter</span>.<span 
class="ruby-identifier">using</span> :<span class="ruby-identifier">foo</span>, 
:<span class="ruby-identifier">bar</span> =<span 
class="ruby-operator">&gt;</span> :<span class="ruby-identifier">baz</span>
+</pre>
+
+<p>Or all by your own, simply</p>
+
+<pre class="ruby"><span class="ruby-constant">Mapper</span>.<span 
class="ruby-identifier">new</span>(:<span class="ruby-identifier">foo</span>, 
:<span class="ruby-identifier">bar</span> =<span 
class="ruby-operator">&gt;</span> :<span 
class="ruby-identifier">baz</span>).<span 
class="ruby-identifier">transform</span>(<span class="ruby-string">&quot;Hello 
world&quot;</span>) <span class="ruby-comment"># =&gt; &quot;Hello 
baz&quot;</span>
+</pre>
+
+<p>You can handle configuration arguments by providing a @*_config@ method
+like:</p>
+
+<pre class="ruby"><span class="ruby-comment"># The return value of this method 
is available with the :config accessor.</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">moo_config</span>(<span 
class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+   <span class="ruby-identifier">raise</span> <span 
class="ruby-constant">ArgumentError</span>, <span 
class="ruby-string">&quot;Expected moo block&quot;</span> <span 
class="ruby-keyword">unless</span> <span 
class="ruby-identifier">block_given?</span>
+   { :<span class="ruby-identifier">moos</span> =<span 
class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>, 
:<span class="ruby-identifier">callback</span> =<span 
class="ruby-operator">&gt;</span> <span class="ruby-identifier">block</span> }
+<span class="ruby-keyword">end</span>
+
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">moo_transform</span>(<span 
class="ruby-identifier">content</span>, <span 
class="ruby-identifier">path</span> = <span class="ruby-keyword">nil</span>)
+   <span class="ruby-identifier">content</span>.<span 
class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/moo+/i</span>) 
<span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span 
class="ruby-identifier">str</span><span class="ruby-operator">|</span>
+     <span class="ruby-identifier">moos</span> = <span 
class="ruby-keyword">yield</span> <span class="ruby-operator">:</span><span 
class="ruby-identifier">moos</span> <span class="ruby-comment"># same than 
config[:moos]</span>
+     <span class="ruby-identifier">moo</span> = <span 
class="ruby-identifier">moos</span>[<span 
class="ruby-identifier">str</span>.<span class="ruby-identifier">size</span> 
<span class="ruby-operator">-</span> <span class="ruby-value">3</span>] <span 
class="ruby-operator">||</span> <span class="ruby-identifier">str</span>
+     <span class="ruby-identifier">config</span>[:<span 
class="ruby-identifier">callback</span>].<span 
class="ruby-identifier">call</span>(<span class="ruby-identifier">moo</span>)
+   <span class="ruby-keyword">end</span>
+<span class="ruby-keyword">end</span>
+</pre>
+
+<p>Usage for the @:moo@ mapper would be something like:</p>
+
+<pre class="ruby"><span class="ruby-identifier">mapper</span> = <span 
class="ruby-constant">Mapper</span>.<span 
class="ruby-identifier">new</span>(:<span class="ruby-identifier">moo</span>, 
<span class="ruby-string">&#39;ooone&#39;</span>, <span 
class="ruby-string">&#39;twoo&#39;</span>) <span class="ruby-keyword">do</span> 
<span class="ruby-operator">|</span><span 
class="ruby-identifier">str</span><span class="ruby-operator">|</span>
+  <span class="ruby-identifier">i</span> = <span 
class="ruby-keyword">nil</span>; <span class="ruby-identifier">str</span>.<span 
class="ruby-identifier">capitalize</span>.<span 
class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\w/</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">send</span>( (<span class="ruby-identifier">i</span> = 
<span class="ruby-operator">!</span><span class="ruby-identifier">i</span>) 
<span class="ruby-operator">?</span> <span 
class="ruby-string">&#39;upcase&#39;</span> <span 
class="ruby-operator">:</span> <span 
class="ruby-string">&#39;downcase&#39;</span> ) }
+<span class="ruby-keyword">end</span>
+<span class="ruby-identifier">mapper</span>.<span 
class="ruby-identifier">transform</span>(<span class="ruby-string">&#39;Moo 
cow, mooo cows singing mooooo&#39;</span>) <span class="ruby-comment"># =&gt; 
&#39;OoOnE cow, TwOo cows singing MoOoOo&#39;</span>
+</pre>
+
+  </section>
+
+  
+  
+  
+  <section id="5Buntitled-5D" class="documentation-section">
+    
+
+    
+
+    
+    <section class="constants-list">
+      <header>
+        <h3>Constants</h3>
+      </header>
+      <dl>
+      
+        <dt id="BINARY_FILES">BINARY_FILES
+        
+        <dd>
+        
+      
+      </dl>
+    </section>
+    
+
+    
+    <section class="attribute-method-details" class="method-section">
+      <header>
+        <h3>Attributes</h3>
+      </header>
+
+      
+      <div id="attribute-i-config" class="method-detail">
+        <div class="method-heading attribute-method-heading">
+          <span class="method-name">config</span><span
+            class="attribute-access-type">[R]</span>
+        </div>
+
+        <div class="method-description">
+        
+        
+        
+        </div>
+      </div>
+      
+      <div id="attribute-i-mapper_type" class="method-detail">
+        <div class="method-heading attribute-method-heading">
+          <span class="method-name">mapper_type</span><span
+            class="attribute-access-type">[R]</span>
+        </div>
+
+        <div class="method-description">
+        
+        
+        
+        </div>
+      </div>
+      
+    </section>
+    
+
+    
+     <section id="public-instance-5Buntitled-5D-method-details" 
class="method-section">
+       <header>
+         <h3>Public Instance Methods</h3>
+       </header>
+
+    
+      <div id="method-i-is_binary-3F" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">is_binary?</span><span
+            class="method-args">(content, path)</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          
+          
+          
+
+          
+          <div class="method-source-code" id="is_binary-3F-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 314</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">is_binary?</span>(<span 
class="ruby-identifier">content</span>, <span 
class="ruby-identifier">path</span>)
+  <span class="ruby-operator">!</span><span 
class="ruby-operator">!</span><span class="ruby-identifier">path</span> <span 
class="ruby-operator">&amp;&amp;</span> <span 
class="ruby-constant">BINARY_FILES</span>.<span 
class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span 
class="ruby-identifier">glob</span><span class="ruby-operator">|</span> <span 
class="ruby-constant">File</span>.<span 
class="ruby-identifier">fnmatch</span>(<span 
class="ruby-identifier">glob</span>, <span class="ruby-identifier">path</span>) 
}
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-transform" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">transform</span><span
+            class="method-args">(content, path = nil)</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          
+          
+          
+
+          
+          <div class="method-source-code" id="transform-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 318</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">transform</span>(<span 
class="ruby-identifier">content</span>, <span 
class="ruby-identifier">path</span> = <span class="ruby-keyword">nil</span>)
+  <span class="ruby-keyword">return</span> <span 
class="ruby-identifier">content</span> <span class="ruby-keyword">if</span> 
<span class="ruby-identifier">is_binary?</span>(<span 
class="ruby-identifier">content</span>, <span 
class="ruby-identifier">path</span>)
+  <span class="ruby-identifier">type</span> = <span 
class="ruby-constant">Regexp</span> <span class="ruby-operator">===</span> 
<span class="ruby-identifier">mapper_type</span> <span 
class="ruby-operator">?</span> <span class="ruby-value">:regexp</span> <span 
class="ruby-operator">:</span> <span class="ruby-identifier">mapper_type</span>
+  <span class="ruby-identifier">raise</span> <span 
class="ruby-constant">ArgumentError</span>, <span 
class="ruby-node">&quot;Invalid mapper type: #{type.inspect}&quot;</span> <span 
class="ruby-keyword">unless</span> <span 
class="ruby-identifier">respond_to?</span>(<span 
class="ruby-node">&quot;#{type}_transform&quot;</span>, <span 
class="ruby-keyword">true</span>)
+  <span class="ruby-keyword">self</span>.<span 
class="ruby-identifier">__send__</span>(<span 
class="ruby-node">&quot;#{type}_transform&quot;</span>, <span 
class="ruby-identifier">content</span>, <span 
class="ruby-identifier">path</span>) { <span 
class="ruby-operator">|</span><span class="ruby-identifier">key</span><span 
class="ruby-operator">|</span> <span 
class="ruby-identifier">config</span>[<span class="ruby-identifier">key</span>] 
<span class="ruby-operator">||</span> <span 
class="ruby-identifier">config</span>[<span 
class="ruby-identifier">key</span>.<span 
class="ruby-identifier">to_s</span>.<span 
class="ruby-identifier">to_sym</span>] }
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+      <div id="method-i-using" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">using</span><span
+            class="method-args">(*args, &block)</span>
+          
+          <span class="method-click-advice">click to toggle source</span>
+          
+        </div>
+        
+
+        <div class="method-description">
+          
+          
+          
+          
+
+          
+          <div class="method-source-code" id="using-source">
+            <pre><span class="ruby-comment"># File lib/buildr/core/filter.rb, 
line 288</span>
+<span class="ruby-keyword">def</span> <span 
class="ruby-identifier">using</span>(<span class="ruby-operator">*</span><span 
class="ruby-identifier">args</span>, <span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+  <span class="ruby-keyword">case</span> <span 
class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span>
+  <span class="ruby-keyword">when</span> <span 
class="ruby-constant">Hash</span> <span class="ruby-comment"># Maven hash 
mapping</span>
+    <span class="ruby-identifier">using</span> <span 
class="ruby-value">:maven</span>, <span class="ruby-operator">*</span><span 
class="ruby-identifier">args</span>
+  <span class="ruby-keyword">when</span> <span 
class="ruby-constant">Binding</span> <span class="ruby-comment"># Erb 
binding</span>
+    <span class="ruby-identifier">using</span> <span 
class="ruby-value">:erb</span>, <span class="ruby-operator">*</span><span 
class="ruby-identifier">args</span>
+  <span class="ruby-keyword">when</span> <span 
class="ruby-constant">Symbol</span> <span class="ruby-comment"># Mapping from a 
method</span>
+    <span class="ruby-identifier">raise</span> <span 
class="ruby-constant">ArgumentError</span>, <span 
class="ruby-node">&quot;Unknown mapping type: #{args.first}&quot;</span> <span 
class="ruby-keyword">unless</span> <span 
class="ruby-identifier">respond_to?</span>(<span 
class="ruby-node">&quot;#{args.first}_transform&quot;</span>, <span 
class="ruby-keyword">true</span>)
+    <span class="ruby-identifier">configure</span>(<span 
class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span 
class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+  <span class="ruby-keyword">when</span> <span 
class="ruby-constant">Regexp</span> <span class="ruby-comment"># Mapping using 
a regular expression</span>
+    <span class="ruby-identifier">raise</span> <span 
class="ruby-constant">ArgumentError</span>, <span 
class="ruby-string">&#39;Expected regular expression followed by mapping 
hash&#39;</span> <span class="ruby-keyword">unless</span> <span 
class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> 
<span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span 
class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Hash</span> 
<span class="ruby-operator">===</span> <span 
class="ruby-identifier">args</span>[<span class="ruby-value">1</span>]
+    <span class="ruby-ivar">@mapper_type</span>, <span 
class="ruby-ivar">@config</span> = <span class="ruby-operator">*</span><span 
class="ruby-identifier">args</span>
+  <span class="ruby-keyword">else</span>
+    <span class="ruby-keyword">unless</span> <span 
class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span> 
<span class="ruby-operator">&amp;&amp;</span> <span 
class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span>
+      <span class="ruby-identifier">raise</span> <span 
class="ruby-constant">ArgumentError</span>, <span 
class="ruby-string">&#39;Expected proc, method or a block&#39;</span> <span 
class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span 
class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> 
<span class="ruby-value">1</span> <span class="ruby-operator">||</span> (<span 
class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> 
<span class="ruby-operator">&amp;&amp;</span> <span 
class="ruby-identifier">block</span>)
+      <span class="ruby-ivar">@mapper_type</span> = <span 
class="ruby-value">:callback</span>
+      <span class="ruby-identifier">config</span> = <span 
class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> 
<span class="ruby-operator">||</span> <span class="ruby-identifier">block</span>
+      <span class="ruby-identifier">raise</span> <span 
class="ruby-constant">ArgumentError</span>, <span 
class="ruby-string">&#39;Expected proc, method or callable&#39;</span> <span 
class="ruby-keyword">unless</span> <span 
class="ruby-identifier">config</span>.<span 
class="ruby-identifier">respond_to?</span>(<span 
class="ruby-value">:call</span>)
+      <span class="ruby-ivar">@config</span> = <span 
class="ruby-identifier">config</span>
+    <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">self</span>
+<span class="ruby-keyword">end</span></pre>
+          </div>
+          
+        </div>
+
+        
+
+        
+      </div>
+
+    
+    </section>
+  
+  </section>
+</main>
+
+
+<footer id="validator-badges" role="contentinfo">
+  <p><a href="http://validator.w3.org/check/referer";>Validate</a>
+  <p>Generated by <a href="http://docs.seattlerb.org/rdoc/";>RDoc</a> 4.2.2.
+  <p>Based on <a 
href="http://deveiate.org/projects/Darkfish-RDoc/";>Darkfish</a> by <a 
href="http://deveiate.org";>Michael Granger</a>.
+</footer>
+


Reply via email to