You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by do...@apache.org on 2013/10/06 09:17:12 UTC

svn commit: r1529576 [9/18] - in /buildr/site: ./ rdoc/ rdoc/Benchmark/ rdoc/Buildr/ rdoc/Buildr/ArchiveTask/ rdoc/Buildr/ArtifactNamespace/ rdoc/Buildr/Assets/ rdoc/Buildr/Checks/ rdoc/Buildr/Cobertura/ rdoc/Buildr/Cobertura/CoberturaExtension/ rdoc/B...

Modified: buildr/site/rdoc/Buildr/IntellijIdea/IdeaModule.html
URL: http://svn.apache.org/viewvc/buildr/site/rdoc/Buildr/IntellijIdea/IdeaModule.html?rev=1529576&r1=1529575&r2=1529576&view=diff
==============================================================================
--- buildr/site/rdoc/Buildr/IntellijIdea/IdeaModule.html (original)
+++ buildr/site/rdoc/Buildr/IntellijIdea/IdeaModule.html Sun Oct  6 07:17:05 2013
@@ -131,6 +131,8 @@
     
     <li ><a href="#method-i-resolve_path">#resolve_path</a>
     
+    <li ><a href="#method-i-root_project">#root_project</a>
+    
     <li ><a href="#method-i-skip_content-21">#skip_content!</a>
     
     <li ><a href="#method-i-skip_content-3F">#skip_content?</a>
@@ -204,6 +206,12 @@
   
     <li><a href="../../Buildr/ArtifactSearch.html">Buildr::ArtifactSearch</a>
   
+    <li><a href="../../Buildr/Assets.html">Buildr::Assets</a>
+  
+    <li><a href="../../Buildr/Assets/AssetsTask.html">Buildr::Assets::AssetsTask</a>
+  
+    <li><a href="../../Buildr/Assets/ProjectExtension.html">Buildr::Assets::ProjectExtension</a>
+  
     <li><a href="../../Buildr/Build.html">Buildr::Build</a>
   
     <li><a href="../../Buildr/CC.html">Buildr::CC</a>
@@ -738,6 +746,10 @@
   
     <li><a href="../../Rake.html">Rake</a>
   
+    <li><a href="../../Rake/FileList.html">Rake::FileList</a>
+  
+    <li><a href="../../Rake/FileList.html">Rake::FileList</a>
+  
     <li><a href="../../Rake/FileTask.html">Rake::FileTask</a>
   
     <li><a href="../../Range.html">Range</a>
@@ -1125,18 +1137,30 @@
 
           
           <div class="method-source-code" id="add_ejb_facet-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 360</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 402</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_ejb_facet</span>(<span class="ruby-identifier">options</span> = {})
   <span class="ruby-identifier">name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;EJB&quot;</span>
-  <span class="ruby-identifier">default_ejb_xml</span> = <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">_</span>(<span class="ruby-value">:source</span>, <span class="ruby-value">:main</span>, <span class="ruby-value">:resources</span>, <span class="ruby-string">&quot;WEB-INF/ejb-jar.xml&quot;</span>)
-  <span class="ruby-identifier">ejb_xml</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:ejb_xml</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_ejb_xml</span>
-  <span class="ruby-identifier">ejb_roots</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:ejb_roots</span>] <span class="ruby-operator">||</span> [<span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">compile</span>.<span class="ruby-identifier">sources</span>, <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">resources</span>.<span class="ruby-identifier">sources</span>].<span class="ruby-identifier">flatten</span>
+
+  <span class="ruby-identifier">default_ejb_roots</span> = [<span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">iml</span>.<span class="ruby-identifier">main_source_directories</span>, <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">compile</span>.<span class="ruby-identifier">sources</span>, <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">resources</span>.<span class="ruby-identifier">sources</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>
+  <span class="ruby-identifier">ejb_roots</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:ejb_roots</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_ejb_roots</span>
+
+  <span class="ruby-identifier">default_deployment_descriptors</span> = []
+  [<span class="ruby-string">'ejb-jar.xml'</span>, <span class="ruby-string">'glassfish-ejb-jar.xml'</span>, <span class="ruby-string">'ibm-ejb-jar-bnd.xml'</span>, <span class="ruby-string">'ibm-ejb-jar-ext-pme.xml'</span>, <span class="ruby-string">'ibm-ejb-jar-ext.xml'</span>,
+   <span class="ruby-string">'jboss.xml'</span>, <span class="ruby-string">'jbosscmp-jdbc.xml'</span>, <span class="ruby-string">'openejb-jar.xml'</span>, <span class="ruby-string">'sun-cmp-mapping.xml'</span>, <span class="ruby-string">'sun-ejb-jar.xml'</span>,
+   <span class="ruby-string">'weblogic-cmp-rdbms-jar.xml'</span>, <span class="ruby-string">'weblogic-ejb-jar.xml'</span>].
+    <span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">descriptor</span><span class="ruby-operator">|</span>
+    <span class="ruby-identifier">ejb_roots</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-operator">|</span>
+      <span class="ruby-identifier">d</span> = <span class="ruby-node">&quot;#{path}/WEB-INF/#{descriptor}&quot;</span>
+      <span class="ruby-identifier">default_deployment_descriptors</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">d</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">d</span>)
+    <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-identifier">deployment_descriptors</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:deployment_descriptors</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_deployment_descriptors</span>
 
   <span class="ruby-identifier">add_facet</span>(<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;ejb&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">facet</span><span class="ruby-operator">|</span>
     <span class="ruby-identifier">facet</span>.<span class="ruby-identifier">configuration</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
       <span class="ruby-identifier">c</span>.<span class="ruby-identifier">descriptors</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
-        <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">ejb_xml</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">default_ejb_xml</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">ejb_xml</span>
-          <span class="ruby-identifier">d</span>.<span class="ruby-identifier">deploymentDescriptor</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'ejb-jar.xml'</span>, <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">ejb_xml</span>)
+        <span class="ruby-identifier">deployment_descriptors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">deployment_descriptor</span><span class="ruby-operator">|</span>
+          <span class="ruby-identifier">d</span>.<span class="ruby-identifier">deploymentDescriptor</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">deployment_descriptor</span>), <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">deployment_descriptor</span>)
         <span class="ruby-keyword">end</span>
       <span class="ruby-keyword">end</span>
       <span class="ruby-identifier">c</span>.<span class="ruby-identifier">ejbRoots</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
@@ -1287,28 +1311,49 @@
 
           
           <div class="method-source-code" id="add_jpa_facet-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 334</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 355</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_jpa_facet</span>(<span class="ruby-identifier">options</span> = {})
   <span class="ruby-identifier">name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;JPA&quot;</span>
+
+  <span class="ruby-identifier">source_roots</span> = [<span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">iml</span>.<span class="ruby-identifier">main_source_directories</span>, <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">compile</span>.<span class="ruby-identifier">sources</span>, <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">resources</span>.<span class="ruby-identifier">sources</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>
+  <span class="ruby-identifier">default_deployment_descriptors</span> = []
+  [<span class="ruby-string">'orm.xml'</span>, <span class="ruby-string">'persistence.xml'</span>].
+    <span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">descriptor</span><span class="ruby-operator">|</span>
+    <span class="ruby-identifier">source_roots</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-operator">|</span>
+      <span class="ruby-identifier">d</span> = <span class="ruby-node">&quot;#{path}/META-INF/#{descriptor}&quot;</span>
+      <span class="ruby-identifier">default_deployment_descriptors</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">d</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">d</span>)
+    <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-identifier">deployment_descriptors</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:deployment_descriptors</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_deployment_descriptors</span>
+
   <span class="ruby-identifier">factory_entry</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:factory_entry</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>
   <span class="ruby-identifier">validation_enabled</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:validation_enabled</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:validation_enabled</span>]
-  <span class="ruby-identifier">provider_enabled</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:provider_enabled</span>] <span class="ruby-operator">||</span> <span class="ruby-string">'Hibernate'</span>
-  <span class="ruby-identifier">default_persistence_xml</span> = <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">_</span>(<span class="ruby-value">:source</span>, <span class="ruby-value">:main</span>, <span class="ruby-value">:resources</span>, <span class="ruby-string">&quot;META-INF/persistence.xml&quot;</span>)
-  <span class="ruby-identifier">persistence_xml</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:persistence_xml</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_persistence_xml</span>
-  <span class="ruby-identifier">default_orm_xml</span> = <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">_</span>(<span class="ruby-value">:source</span>, <span class="ruby-value">:main</span>, <span class="ruby-value">:resources</span>, <span class="ruby-string">&quot;META-INF/orm.xml&quot;</span>)
-  <span class="ruby-identifier">orm_xml</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:orm_xml</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_orm_xml</span>
+  <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:provider_enabled</span>]
+    <span class="ruby-identifier">provider</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:provider_enabled</span>]
+  <span class="ruby-keyword">else</span>
+    <span class="ruby-identifier">provider</span> = <span class="ruby-keyword">nil</span>
+    {<span class="ruby-string">'org.hibernate.ejb.HibernatePersistence'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'Hibernate'</span>,
+     <span class="ruby-string">'org.eclipse.persistence.jpa.PersistenceProvider'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'EclipseLink'</span>}.
+      <span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">match</span>, <span class="ruby-identifier">candidate_provider</span><span class="ruby-operator">|</span>
+      <span class="ruby-identifier">deployment_descriptors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">descriptor</span><span class="ruby-operator">|</span>
+        <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">descriptor</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-node">/#{Regexp.escape(match)}/</span> <span class="ruby-operator">=~</span> <span class="ruby-constant">IO</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">descriptor</span>)
+          <span class="ruby-identifier">provider</span> = <span class="ruby-identifier">candidate_provider</span>
+        <span class="ruby-keyword">end</span>
+      <span class="ruby-keyword">end</span>
+    <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">end</span>
+
   <span class="ruby-identifier">add_facet</span>(<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;jpa&quot;</span>) <span class="ruby-keyword">do</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">configuration</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
-      <span class="ruby-identifier">c</span>.<span class="ruby-identifier">setting</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;validation-enabled&quot;</span>, <span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">validation_enabled</span>
-      <span class="ruby-identifier">c</span>.<span class="ruby-identifier">setting</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;provider-name&quot;</span>, <span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">provider_enabled</span>
+      <span class="ruby-keyword">if</span> <span class="ruby-identifier">provider</span>
+        <span class="ruby-identifier">c</span>.<span class="ruby-identifier">setting</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;validation-enabled&quot;</span>, <span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">validation_enabled</span>
+        <span class="ruby-identifier">c</span>.<span class="ruby-identifier">setting</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;provider-name&quot;</span>, <span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">provider</span>
+      <span class="ruby-keyword">end</span>
       <span class="ruby-identifier">c</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-string">'datasource-mapping'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ds</span><span class="ruby-operator">|</span>
         <span class="ruby-identifier">ds</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-string">'factory-entry'</span>, <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">factory_entry</span>)
       <span class="ruby-keyword">end</span>
-      <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">persistence_xml</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">default_persistence_xml</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">persistence_xml</span>
-        <span class="ruby-identifier">c</span>.<span class="ruby-identifier">deploymentDescriptor</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'persistence.xml'</span>, <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">persistence_xml</span>)
-      <span class="ruby-keyword">end</span>
-      <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">orm_xml</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">default_orm_xml</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">orm_xml</span>
-        <span class="ruby-identifier">c</span>.<span class="ruby-identifier">deploymentDescriptor</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'orm.xml'</span>, <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">orm_xml</span>)
+      <span class="ruby-identifier">deployment_descriptors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">descriptor</span><span class="ruby-operator">|</span>
+        <span class="ruby-identifier">c</span>.<span class="ruby-identifier">deploymentDescriptor</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">descriptor</span>), <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">descriptor</span>)
       <span class="ruby-keyword">end</span>
     <span class="ruby-keyword">end</span>
   <span class="ruby-keyword">end</span>
@@ -1342,13 +1387,18 @@
 
           
           <div class="method-source-code" id="add_jruby_facet-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 324</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 340</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_jruby_facet</span>(<span class="ruby-identifier">options</span> = {})
   <span class="ruby-identifier">name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;JRuby&quot;</span>
-  <span class="ruby-identifier">jruby_version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:jruby_version</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;jruby-1.5.2-p249&quot;</span>
+
+  <span class="ruby-identifier">ruby_version_file</span> = <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">_</span>(<span class="ruby-string">'.ruby-version'</span>)
+  <span class="ruby-identifier">default_jruby_version</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">ruby_version_file</span>) <span class="ruby-operator">?</span> <span class="ruby-node">&quot;rbenv: #{IO.read(ruby_version_file).strip}&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">'jruby-1.6.7.2'</span>
+  <span class="ruby-identifier">jruby_version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:jruby_version</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_jruby_version</span>
   <span class="ruby-identifier">add_facet</span>(<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;JRUBY&quot;</span>) <span class="ruby-keyword">do</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">configuration</span>(<span class="ruby-value">:number</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
+    <span class="ruby-identifier">f</span>.<span class="ruby-identifier">configuration</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
       <span class="ruby-identifier">c</span>.<span class="ruby-constant">JRUBY_FACET_CONFIG_ID</span> <span class="ruby-value">:NAME</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;JRUBY_SDK_NAME&quot;</span>, <span class="ruby-value">:VALUE</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">jruby_version</span>
+      <span class="ruby-identifier">c</span>.<span class="ruby-constant">LOAD_PATH</span> <span class="ruby-value">:number</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;0&quot;</span>
+      <span class="ruby-identifier">c</span>.<span class="ruby-constant">I18N_FOLDERS</span> <span class="ruby-value">:number</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;0&quot;</span>
     <span class="ruby-keyword">end</span>
   <span class="ruby-keyword">end</span>
 <span class="ruby-keyword">end</span></pre>
@@ -1384,26 +1434,42 @@
             <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 299</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_web_facet</span>(<span class="ruby-identifier">options</span> = {})
   <span class="ruby-identifier">name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;Web&quot;</span>
-  <span class="ruby-identifier">url_base</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:url_base</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;/&quot;</span>
-  <span class="ruby-identifier">default_webroots</span> = [<span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">_</span>(<span class="ruby-value">:source</span>, <span class="ruby-value">:main</span>, <span class="ruby-value">:webapp</span>)]
+  <span class="ruby-identifier">default_webroots</span> = {}
+  <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">assets</span>.<span class="ruby-identifier">paths</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">default_webroots</span>[<span class="ruby-identifier">p</span>] = <span class="ruby-string">&quot;/&quot;</span> }
   <span class="ruby-identifier">webroots</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:webroots</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_webroots</span>
-  <span class="ruby-identifier">default_web_xml</span> = <span class="ruby-node">&quot;#{buildr_project._(:source, :main, :webapp)}/WEB-INF/web.xml&quot;</span>
-  <span class="ruby-identifier">web_xml</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:web_xml</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_web_xml</span>
-  <span class="ruby-identifier">version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:version</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;3.0&quot;</span>
+  <span class="ruby-identifier">default_deployment_descriptors</span> = []
+  [<span class="ruby-string">'web.xml'</span>, <span class="ruby-string">'sun-web.xml'</span>, <span class="ruby-string">'glassfish-web.xml'</span>, <span class="ruby-string">'jetty-web.xml'</span>, <span class="ruby-string">'geronimo-web.xml'</span>,
+   <span class="ruby-string">'context.xml'</span>, <span class="ruby-string">'weblogic.xml'</span>,
+   <span class="ruby-string">'jboss-deployment-structure.xml'</span>, <span class="ruby-string">'jboss-web.xml'</span>,
+   <span class="ruby-string">'ibm-web-bnd.xml'</span>, <span class="ruby-string">'ibm-web-ext.xml'</span>, <span class="ruby-string">'ibm-web-ext-pme.xml'</span>].
+    <span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">descriptor</span><span class="ruby-operator">|</span>
+    <span class="ruby-identifier">webroots</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span>, <span class="ruby-identifier">relative_url</span><span class="ruby-operator">|</span>
+      <span class="ruby-keyword">next</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">relative_url</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;/&quot;</span>
+      <span class="ruby-identifier">d</span> = <span class="ruby-node">&quot;#{path}/WEB-INF/#{descriptor}&quot;</span>
+      <span class="ruby-identifier">default_deployment_descriptors</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">d</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">d</span>)
+    <span class="ruby-keyword">end</span>
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-identifier">deployment_descriptors</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:deployment_descriptors</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">default_deployment_descriptors</span>
 
   <span class="ruby-identifier">add_facet</span>(<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;web&quot;</span>) <span class="ruby-keyword">do</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">configuration</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
       <span class="ruby-identifier">c</span>.<span class="ruby-identifier">descriptors</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
-        <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">web_xml</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">default_web_xml</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">web_xml</span>
-          <span class="ruby-identifier">d</span>.<span class="ruby-identifier">deploymentDescriptor</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'web.xml'</span>, <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">web_xml</span>), <span class="ruby-value">:optional</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;true&quot;</span>, <span class="ruby-value">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">version</span>
+        <span class="ruby-identifier">deployment_descriptors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">deployment_descriptor</span><span class="ruby-operator">|</span>
+          <span class="ruby-identifier">d</span>.<span class="ruby-identifier">deploymentDescriptor</span> <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">deployment_descriptor</span>), <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">deployment_descriptor</span>)
         <span class="ruby-keyword">end</span>
       <span class="ruby-keyword">end</span>
       <span class="ruby-identifier">c</span>.<span class="ruby-identifier">webroots</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">w</span><span class="ruby-operator">|</span>
-        <span class="ruby-identifier">webroots</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">webroot</span><span class="ruby-operator">|</span>
-          <span class="ruby-identifier">w</span>.<span class="ruby-identifier">root</span> <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">webroot</span>), <span class="ruby-value">:relative</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">url_base</span>
+        <span class="ruby-identifier">webroots</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">webroot</span>, <span class="ruby-identifier">relative_url</span><span class="ruby-operator">|</span>
+          <span class="ruby-identifier">w</span>.<span class="ruby-identifier">root</span> <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-identifier">webroot</span>), <span class="ruby-value">:relative</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">relative_url</span>
         <span class="ruby-keyword">end</span>
       <span class="ruby-keyword">end</span>
     <span class="ruby-keyword">end</span>
+    <span class="ruby-identifier">default_enable_jsf</span> = <span class="ruby-identifier">webroots</span>.<span class="ruby-identifier">select</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">webroot</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-node">&quot;#{webroot}/WEB-INF/faces-config.xml&quot;</span>)}
+    <span class="ruby-identifier">enable_jsf</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:enable_jsf</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">default_enable_jsf</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:enable_jsf</span>]
+    <span class="ruby-identifier">enable_jsf</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">root_project</span>.<span class="ruby-identifier">ipr?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">root_project</span>.<span class="ruby-identifier">ipr</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-string">'13'</span>
+    <span class="ruby-identifier">f</span>.<span class="ruby-identifier">facet</span>(<span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'jsf'</span>, <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'JSF'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">jsf</span><span class="ruby-operator">|</span>
+      <span class="ruby-identifier">jsf</span>.<span class="ruby-identifier">configuration</span>
+    <span class="ruby-keyword">end</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">enable_jsf</span>
   <span class="ruby-keyword">end</span>
 <span class="ruby-keyword">end</span></pre>
           </div><!-- add_web_facet-source -->
@@ -1852,7 +1918,7 @@
 
           
           <div class="method-source-code" id="base_document-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 400</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 462</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">base_document</span>
   <span class="ruby-identifier">target</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
   <span class="ruby-constant">Builder</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMarkup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:target</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">target</span>).<span class="ruby-identifier">module</span>(<span class="ruby-value">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;4&quot;</span>, <span class="ruby-value">:relativePaths</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;true&quot;</span>, <span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">type</span>)
@@ -1887,7 +1953,7 @@
 
           
           <div class="method-source-code" id="default_components-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 410</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 472</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">default_components</span>
   [
     <span class="ruby-identifier">lambda</span> { <span class="ruby-identifier">module_root_component</span> },
@@ -1923,9 +1989,9 @@
 
           
           <div class="method-source-code" id="facet_component-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 417</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 479</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">facet_component</span>
-  <span class="ruby-identifier">create_composite_component</span>(<span class="ruby-string">&quot;FacetManager&quot;</span>, <span class="ruby-keyword">self</span>.<span class="ruby-identifier">facets</span>)
+  <span class="ruby-identifier">create_composite_component</span>(<span class="ruby-string">&quot;FacetManager&quot;</span>, {}, <span class="ruby-keyword">self</span>.<span class="ruby-identifier">facets</span>)
 <span class="ruby-keyword">end</span></pre>
           </div><!-- facet_component-source -->
           
@@ -1956,7 +2022,7 @@
 
           
           <div class="method-source-code" id="generate_compile_output-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 476</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 538</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_compile_output</span>(<span class="ruby-identifier">xml</span>)
   <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">output</span>(<span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">main_output_dir</span>.<span class="ruby-identifier">to_s</span>))
   <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-string">&quot;output-test&quot;</span>, <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">file_path</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">test_output_dir</span>.<span class="ruby-identifier">to_s</span>))
@@ -1991,7 +2057,7 @@
 
           
           <div class="method-source-code" id="generate_content-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 482</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 544</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_content</span>(<span class="ruby-identifier">xml</span>)
   <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">content</span>(<span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;file://$MODULE_DIR$&quot;</span>) <span class="ruby-keyword">do</span>
     <span class="ruby-comment"># Source folders</span>
@@ -2042,7 +2108,7 @@
 
           
           <div class="method-source-code" id="generate_initial_order_entries-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 508</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 570</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_initial_order_entries</span>(<span class="ruby-identifier">xml</span>)
   <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">orderEntry</span> <span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;sourceFolder&quot;</span>, <span class="ruby-value">:forTests</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;false&quot;</span>
   <span class="ruby-identifier">xml</span>.<span class="ruby-identifier">orderEntry</span> <span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;jdk&quot;</span>, <span class="ruby-value">:jdkName</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">jdk_version</span>, <span class="ruby-value">:jdkType</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;JavaSDK&quot;</span>
@@ -2076,7 +2142,7 @@
 
           
           <div class="method-source-code" id="generate_lib-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 443</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 505</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_lib</span>(<span class="ruby-identifier">xml</span>, <span class="ruby-identifier">dependency_path</span>, <span class="ruby-identifier">export</span>, <span class="ruby-identifier">source_path</span>, <span class="ruby-identifier">project_dependencies</span>)
   <span class="ruby-identifier">project_for_dependency</span> = <span class="ruby-constant">Buildr</span>.<span class="ruby-identifier">projects</span>.<span class="ruby-identifier">detect</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-identifier">project</span>.<span class="ruby-identifier">packages</span>, <span class="ruby-identifier">project</span>.<span class="ruby-identifier">compile</span>.<span class="ruby-identifier">target</span>, <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>.<span class="ruby-identifier">target</span>, <span class="ruby-identifier">project</span>.<span class="ruby-identifier">test</span>.<span class="ruby-identifier">compile</span>.<span class="ruby-identifier">target</span>, <span class="ruby-identifier">project</span>.<span class="ruby-identifier">test</span>.<span class="ruby-identifier">resources</span>.<span class="ruby-identifier">target</span>].<span class="ruby-identifier">flatten</span>.
@@ -2122,7 +2188,7 @@
 
           
           <div class="method-source-code" id="generate_module_lib-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 520</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 582</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_module_lib</span>(<span class="ruby-identifier">xml</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">export</span>, <span class="ruby-identifier">source_path</span>, <span class="ruby-identifier">test</span> = <span class="ruby-keyword">false</span>)
   <span class="ruby-identifier">attribs</span> = {<span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'module-library'</span>}
   <span class="ruby-identifier">attribs</span>[<span class="ruby-value">:exported</span>] = <span class="ruby-string">''</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">export</span>
@@ -2170,7 +2236,7 @@
 
           
           <div class="method-source-code" id="generate_project_dependency-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 513</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 575</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_project_dependency</span>(<span class="ruby-identifier">xml</span>, <span class="ruby-identifier">other_project</span>, <span class="ruby-identifier">export</span>, <span class="ruby-identifier">test</span> = <span class="ruby-keyword">false</span>)
   <span class="ruby-identifier">attribs</span> = {<span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'module'</span>, <span class="ruby-string">&quot;module-name&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">other_project</span>}
   <span class="ruby-identifier">attribs</span>[<span class="ruby-value">:exported</span>] = <span class="ruby-string">''</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">export</span>
@@ -2206,7 +2272,7 @@
 
           
           <div class="method-source-code" id="initial_components-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 406</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 468</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">initial_components</span>
   []
 <span class="ruby-keyword">end</span></pre>
@@ -2239,7 +2305,7 @@
 
           
           <div class="method-source-code" id="jar_path-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 460</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 522</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">jar_path</span>(<span class="ruby-identifier">path</span>)
   <span class="ruby-node">&quot;jar://#{resolve_path(path)}!/&quot;</span>
 <span class="ruby-keyword">end</span></pre>
@@ -2272,7 +2338,7 @@
 
           
           <div class="method-source-code" id="module_root_component-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 421</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 483</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">module_root_component</span>
   <span class="ruby-identifier">create_component</span>(<span class="ruby-string">&quot;NewModuleRootManager&quot;</span>, <span class="ruby-string">&quot;inherit-compiler-output&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;false&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">xml</span><span class="ruby-operator">|</span>
     <span class="ruby-identifier">generate_compile_output</span>(<span class="ruby-identifier">xml</span>)
@@ -2323,7 +2389,7 @@
 
           
           <div class="method-source-code" id="net_excluded_directories-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 540</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 602</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">net_excluded_directories</span>
   <span class="ruby-identifier">net</span> = []
   <span class="ruby-identifier">all</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">excluded_directories</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">buildr_project</span>.<span class="ruby-identifier">_</span>(<span class="ruby-identifier">dir</span>.<span class="ruby-identifier">to_s</span>) }.<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">size</span> }
@@ -2363,7 +2429,7 @@
 
           
           <div class="method-source-code" id="relative_dir_inside_dir-3F-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 504</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 566</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">relative_dir_inside_dir?</span>(<span class="ruby-identifier">dir</span>)
   <span class="ruby-operator">!</span><span class="ruby-identifier">dir</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">&quot;../&quot;</span>)
 <span class="ruby-keyword">end</span></pre>
@@ -2396,7 +2462,7 @@
 
           
           <div class="method-source-code" id="resolve_path-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 472</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 534</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">resolve_path</span>(<span class="ruby-identifier">path</span>)
   <span class="ruby-identifier">resolve_path_from_base</span>(<span class="ruby-identifier">path</span>, <span class="ruby-string">&quot;$MODULE_DIR$&quot;</span>)
 <span class="ruby-keyword">end</span></pre>
@@ -2410,6 +2476,43 @@
       </div><!-- resolve_path-method -->
 
     
+      <div id="method-i-root_project" class="method-detail ">
+        
+        <div class="method-heading">
+          <span class="method-name">root_project</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="root_project-source">
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 438</span>
+<span class="ruby-keyword">def</span> <span class="ruby-identifier">root_project</span>
+  <span class="ruby-identifier">p</span> = <span class="ruby-identifier">buildr_project</span>
+  <span class="ruby-keyword">while</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
+    <span class="ruby-identifier">p</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
+  <span class="ruby-keyword">end</span>
+  <span class="ruby-identifier">p</span>
+<span class="ruby-keyword">end</span></pre>
+          </div><!-- root_project-source -->
+          
+        </div>
+
+        
+
+        
+      </div><!-- root_project-method -->
+
+    
       <div id="method-i-test_dependency_details" class="method-detail ">
         
         <div class="method-heading">
@@ -2429,7 +2532,7 @@
 
           
           <div class="method-source-code" id="test_dependency_details-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 384</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 446</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">test_dependency_details</span>
   <span class="ruby-identifier">main_dependencies_paths</span> = <span class="ruby-identifier">main_dependencies</span>.<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:to_s</span>)
   <span class="ruby-identifier">target_dir</span> = <span class="ruby-identifier">buildr_project</span>.<span class="ruby-identifier">compile</span>.<span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span>
@@ -2474,7 +2577,7 @@
 
           
           <div class="method-source-code" id="url_for_path-source">
-            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 464</span>
+            <pre><span class="ruby-comment"># File lib/buildr/ide/idea.rb, line 526</span>
 <span class="ruby-keyword">def</span> <span class="ruby-identifier">url_for_path</span>(<span class="ruby-identifier">path</span>)
   <span class="ruby-keyword">if</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/jar$/</span>
     <span class="ruby-identifier">jar_path</span>(<span class="ruby-identifier">path</span>)