You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/09/04 22:37:03 UTC

svn commit: r831145 [2/2] - in /websites/production/maventest/content/plugins/maven-scm-publish-plugin: dependencies.html index.html various-tips.html

Modified: websites/production/maventest/content/plugins/maven-scm-publish-plugin/index.html
==============================================================================
--- websites/production/maventest/content/plugins/maven-scm-publish-plugin/index.html (original)
+++ websites/production/maventest/content/plugins/maven-scm-publish-plugin/index.html Tue Sep  4 20:37:03 2012
@@ -197,7 +197,7 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <!-- Licensed to the Apache Software Foundation (ASF) under one --><!-- or more contributor license agreements.  See the NOTICE file --><!-- distributed with this work for additional information --><!-- regarding copyright ownership.  The ASF licenses this file --><!-- to you under the Apache License, Version 2.0 (the --><!-- "License"); you may not use this file except in compliance --><!-- with the License.  You may obtain a copy of the License at --><!--  --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!--  --><!-- Unless required by applicable law or agreed to in writing, --><!-- software distributed under the License is distributed on an --><!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --><!-- KIND, either express or implied.  See the License for the --><!-- specific language governing permissions and limitations --><!-- under the License. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/doxia/referen
 ces/apt-format.html --><div class="section"><h2>Maven SCM Publish Plugin<a name="Maven_SCM_Publish_Plugin"></a></h2><p>The maven-scm-publish-plugin is a utility plugin to allow Apache projects to publish Maven websites via the ASF svnpubsub system, and more generally to publish a site generated by Maven or any content to any supported SCM. In addition to SCM operations, it takes care to fix newline inconsistencies generated by <tt>maven-site-plugin</tt>, which prevents simple content import to SCM.</p><p>The plugin has been tested with git scm too and by example can push content for github pages too.</p><p>The plugin provides two goals: <b>prepare</b> and <b>publish</b>. (TODO: deprecated by new <b>publish-scm</b> goal, which does everything in one step) </p><p>The prepare goal checks out the contents of a directory from the SCM into (by default) <tt>target/scmpublish-checkout</tt>. It then lists the files known to the SCM and stores them in (by default) <tt>target/scmpublis
 h-inventory.js</tt>. This provides the point of reference for an eventual SCM checkin. Then it deletes every files to let a clean place for site generation.</p><p>After running the prepare goal, the POM must run <tt>site</tt> phase then <tt>site:stage</tt> goal, with the <i>stagingDirectory</i> set to <tt>target/scmpublish-checkout</tt>.</p><p>Finally, the <b>publish</b> goal compares the output of <tt>site:stage</tt> with the inventory from the <b>prepare</b> goal, and issues appropriate SCM commands to add and delete, followed by a checkin.</p><p>The <i>scmpublish.dryRun</i> parameter to the <b>publish</b> goal avoids all SCM operations, and simply logs out the added, deleted, and changed files.</p><p>The <b>scmpublish.skipCheckin</b> parameter omits the final checkin. This allows you to visit <tt>target/scmpublish-checkout</tt>, and validate its contents before submitting to the SCM.</p></div><div class="section"><h2>Publishing any content to SCM<a name="Publishing_any_co
 ntent_to_SCM"></a></h2><p>Even without any pom.xml/Maven project, you can update SCM content with a local content:</p><div class="source"><pre>mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:... -Dscmpublish.content=...path-to-content...</pre></div><p>SCM content will be checked-out to a temporary directory, then local content will be applied to the check-out, before it is checked-in back.</p><p>See <a href="./examples/importing-maven-site.html">maven.apache.org content import script</a> for an example.</p></div><div class="section"><h2>Known Limitations<a name="Known_Limitations"></a></h2><p>There are 2 known limitations:</p><ul><li>For svn the plugin can create the initial SCM directory if not exist. But for git by example if you use a branch the branch won't be created , you have to create it manually.</li><li>the plugin works well for multi-module websites publishing to a complete directory: you just need to publish <tt>mvn site:stage</tt> content. But if one modu
 le does not publish its content to the same directory (like Surefire or Enforcer, which have a base directory and one plugin in <tt>/plugins/</tt>), this staging area can't be simply imported,</li></ul></div><div class="section"><h2>Future Dreams<a name="Future_Dreams"></a></h2><p>Ideally, scm urls would be supported in <tt>&lt;distributionManagement</tt>&gt; section of the POM, then publishing would simply be <tt>mvn site-deploy</tt>, without any problems for non-flat multi-modules sites.</p><p>To reach such a dream, there are some steps:</p><ul><li>fix inconsistent newlines generated by <tt>maven-site-plugin</tt> (caused by site.vm template and resources taken from skin jar without fixing newlines)</li><li>improve <a href="/wagon/wagon-providers/wagon-scm/"><tt>wagon-scm</tt></a> to put a whole directory content in one commit, and not with one commit per file.</li></ul><p>Then this plugin will be outdated, replaced by natural <tt>maven-site-plugin</tt>.</p></div>
+        <!-- Licensed to the Apache Software Foundation (ASF) under one --><!-- or more contributor license agreements.  See the NOTICE file --><!-- distributed with this work for additional information --><!-- regarding copyright ownership.  The ASF licenses this file --><!-- to you under the Apache License, Version 2.0 (the --><!-- "License"); you may not use this file except in compliance --><!-- with the License.  You may obtain a copy of the License at --><!--  --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!--  --><!-- Unless required by applicable law or agreed to in writing, --><!-- software distributed under the License is distributed on an --><!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --><!-- KIND, either express or implied.  See the License for the --><!-- specific language governing permissions and limitations --><!-- under the License. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/doxia/referen
 ces/apt-format.html --><div class="section"><h2>Maven SCM Publish Plugin<a name="Maven_SCM_Publish_Plugin"></a></h2><p>The maven-scm-publish-plugin is a utility plugin to allow publishing Maven website to any supported SCM. The primary goal was to have an utility plugin to allow Apache projects to publish Maven websites via the ASF svnpubsub system</p><p>In addition to SCM operations, it takes care to fix newline inconsistencies generated by <tt>maven-site-plugin</tt>, which prevents simple content import to SCM.</p><p>The plugin has been tested with git scm too and by example can push content for github pages too.</p></div><div class="section"><h2>Implementation<a name="Implementation"></a></h2><p>The plugin provides two goals: <b>prepare</b> and <b>publish</b>. (TODO: deprecated by new <b>publish-scm</b> goal, which does everything in one step) </p><p>The prepare goal checks out the contents of a directory from the SCM into (by default) <tt>target/scmpublish-checkout</tt>.
  It then lists the files known to the SCM and stores them in (by default) <tt>target/scmpublish-inventory.js</tt>. This provides the point of reference for an eventual SCM checkin. Then it deletes every files to let a clean place for site generation.</p><p>After running the prepare goal, the POM must run <tt>site</tt> phase then <tt>site:stage</tt> goal, with the <i>stagingDirectory</i> set to <tt>target/scmpublish-checkout</tt>.</p><p>Finally, the <b>publish</b> goal compares the output of <tt>site:stage</tt> with the inventory from the <b>prepare</b> goal, and issues appropriate SCM commands to add and delete, followed by a checkin.</p><p>The <i>scmpublish.dryRun</i> parameter to the <b>publish</b> goal avoids all SCM operations, and simply logs out the added, deleted, and changed files.</p><p>The <b>scmpublish.skipCheckin</b> parameter omits the final checkin. This allows you to visit <tt>target/scmpublish-checkout</tt>, and validate its contents before submitting to the 
 SCM.</p></div><div class="section"><h2>Publishing any content to SCM<a name="Publishing_any_content_to_SCM"></a></h2><p>Even without any pom.xml/Maven project, you can update SCM content with a local content:</p><div class="source"><pre>mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:... -Dscmpublish.content=...path-to-content...</pre></div><p>SCM content will be checked-out to a temporary directory, then local content will be applied to the check-out, before it is checked-in back.</p><p>See <a href="./examples/importing-maven-site.html">maven.apache.org content import script</a> for an example.</p></div><div class="section"><h2>Known Limitations<a name="Known_Limitations"></a></h2><p>There are 2 known limitations:</p><ul><li>For svn the plugin can create the initial SCM directory if not exist. But for git by example if you use a branch the branch won't be created , you have to create it manually.</li><li>the plugin works well for multi-module websites publishing to a
  complete directory: you just need to publish <tt>mvn site:stage</tt> content. But if one module does not publish its content to the same directory (like Surefire or Enforcer, which have a base directory and one plugin in <tt>/plugins/</tt>), this staging area can't be simply imported,</li></ul></div><div class="section"><h2>Future Dreams<a name="Future_Dreams"></a></h2><p>Ideally, scm urls would be supported in <tt>&lt;distributionManagement</tt>&gt; section of the POM, then publishing would simply be <tt>mvn site-deploy</tt>, without any problems for non-flat multi-modules sites.</p><p>To reach such a dream, there are some steps:</p><ul><li>fix inconsistent newlines generated by <tt>maven-site-plugin</tt> (caused by site.vm template and resources taken from skin jar without fixing newlines)</li><li>improve <a href="/wagon/wagon-providers/wagon-scm/"><tt>wagon-scm</tt></a> to put a whole directory content in one commit, and not with one commit per file.</li></ul><p>Then thi
 s plugin will be outdated, replaced by natural <tt>maven-site-plugin</tt>.</p></div>
       </div>
     </div>
     <div class="clear">

Modified: websites/production/maventest/content/plugins/maven-scm-publish-plugin/various-tips.html
==============================================================================
--- websites/production/maventest/content/plugins/maven-scm-publish-plugin/various-tips.html (original)
+++ websites/production/maventest/content/plugins/maven-scm-publish-plugin/various-tips.html Tue Sep  4 20:37:03 2012
@@ -156,7 +156,7 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        <!-- Licensed to the Apache Software Foundation (ASF) under one --><!-- or more contributor license agreements.  See the NOTICE file --><!-- distributed with this work for additional information --><!-- regarding copyright ownership.  The ASF licenses this file --><!-- to you under the Apache License, Version 2.0 (the --><!-- "License"); you may not use this file except in compliance --><!-- with the License.  You may obtain a copy of the License at --><!--  --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!--  --><!-- Unless required by applicable law or agreed to in writing, --><!-- software distributed under the License is distributed on an --><!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --><!-- KIND, either express or implied.  See the License for the --><!-- specific language governing permissions and limitations --><!-- under the License. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/doxia/referen
 ces/apt-format.html --><div class="section"><h2>Various tips for using this plugin<a name="Various_tips_for_using_this_plugin"></a></h2><div class="section"><h3>URLS format<a name="URLS_format"></a></h3><p>You must a scm url format: +---------------- scm:<i>scm_provider</i><i>delimiter</i><i>provider_specific_part</i> +----------------</p><p>Svn example: scm:svn:https://svn.apache.org/repos/infra/websites/production/maventest/content/plugins/maven-scm-publish-plugin/</p><p>And configure is as it:</p><div class="source"><pre>
+        <!-- Licensed to the Apache Software Foundation (ASF) under one --><!-- or more contributor license agreements.  See the NOTICE file --><!-- distributed with this work for additional information --><!-- regarding copyright ownership.  The ASF licenses this file --><!-- to you under the Apache License, Version 2.0 (the --><!-- "License"); you may not use this file except in compliance --><!-- with the License.  You may obtain a copy of the License at --><!--  --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!--  --><!-- Unless required by applicable law or agreed to in writing, --><!-- software distributed under the License is distributed on an --><!-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --><!-- KIND, either express or implied.  See the License for the --><!-- specific language governing permissions and limitations --><!-- under the License. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/doxia/referen
 ces/apt-format.html --><div class="section"><h2>Various tips for using this plugin<a name="Various_tips_for_using_this_plugin"></a></h2><div class="section"><h3>URLS format<a name="URLS_format"></a></h3><p>You must a scm url format:</p><div class="source"><pre>  scm:&lt;scm_provider&gt;&lt;delimiter&gt;&lt;provider_specific_part&gt;</pre></div><p>Svn example: scm:svn:https://svn.apache.org/repos/infra/websites/production/maventest/content/plugins/maven-scm-publish-plugin/</p><p>And configure is as it:</p><div class="source"><pre>
     &lt;plugin&gt;
       &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
       &lt;artifactId&gt;maven-scm-publish-plugin&lt;/artifactId&gt;
@@ -165,7 +165,7 @@
         &lt;pubScmUrl&gt;scmUrl&lt;/pubScmUrl&gt;
       &lt;/configuration&gt;
     &lt;/plugin&gt;
-</pre></div><p><tt>NOTE</tt>: with the svn if the remote url doesn't exist it will be created.</p><p>To use git branch (by example: github gh-pages)</p><div class="source"><pre>
+</pre></div><p><b>NOTE</b>: with the svn if the remote url doesn't exist it will be created.</p></div><div class="section"><h3>Git branch<a name="Git_branch"></a></h3><p>To use git branch (by example: github gh-pages)</p><div class="source"><pre>
     &lt;plugin&gt;
       &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
       &lt;artifactId&gt;maven-scm-publish-plugin&lt;/artifactId&gt;