jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tri...@apache.org
Subject svn commit: r1512568 [2/39] - in /jackrabbit/commons/filevault/trunk: ./ parent/ vault-cli/ vault-cli/src/ vault-cli/src/main/ vault-cli/src/main/appassembler/ vault-cli/src/main/assembly/ vault-cli/src/main/java/ vault-cli/src/main/java/org/ vault-cli...
Date Sat, 10 Aug 2013 05:53:54 GMT
Added: jackrabbit/commons/filevault/trunk/LICENSE.txt
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/LICENSE.txt?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/LICENSE.txt (added)
+++ jackrabbit/commons/filevault/trunk/LICENSE.txt Sat Aug 10 05:53:42 2013
@@ -0,0 +1,264 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
+
+APACHE JACKRABBIT SUBCOMPONENTS
+
+Apache Jackrabbit includes parts with separate copyright notices and license
+terms. Your use of these subcomponents is subject to the terms and conditions
+of the following licenses:
+
+    XPath 2.0/XQuery 1.0 Parser:
+    http://www.w3.org/2002/11/xquery-xpath-applets/xgrammar.zip
+
+    Copyright (C) 2002 World Wide Web Consortium, (Massachusetts Institute of
+    Technology, European Research Consortium for Informatics and Mathematics,
+    Keio University). All Rights Reserved.
+
+    This work is distributed under the W3C(R) Software License in the hope
+    that it will be useful, but WITHOUT ANY WARRANTY; without even the
+    implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+    W3C(R) SOFTWARE NOTICE AND LICENSE
+    http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+    This work (and included software, documentation such as READMEs, or
+    other related items) is being provided by the copyright holders under
+    the following license. By obtaining, using and/or copying this work,
+    you (the licensee) agree that you have read, understood, and will comply
+    with the following terms and conditions.
+
+    Permission to copy, modify, and distribute this software and its
+    documentation, with or without modification, for any purpose and
+    without fee or royalty is hereby granted, provided that you include
+    the following on ALL copies of the software and documentation or
+    portions thereof, including modifications:
+
+       1. The full text of this NOTICE in a location viewable to users
+          of the redistributed or derivative work.
+
+       2. Any pre-existing intellectual property disclaimers, notices,
+          or terms and conditions. If none exist, the W3C Software Short
+          Notice should be included (hypertext is preferred, text is
+          permitted) within the body of any redistributed or derivative code.
+
+       3. Notice of any changes or modifications to the files, including
+          the date changes were made. (We recommend you provide URIs to the
+          location from which the code is derived.)
+
+    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+    HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+    INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
+    FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
+    DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+    TRADEMARKS OR OTHER RIGHTS.
+
+    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
+    OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+    DOCUMENTATION.
+
+    The name and trademarks of copyright holders may NOT be used in
+    advertising or publicity pertaining to the software without specific,
+    written prior permission. Title to copyright in this software and
+    any associated documentation will at all times remain with
+    copyright holders.

Added: jackrabbit/commons/filevault/trunk/NOTICE.txt
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/NOTICE.txt?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/NOTICE.txt (added)
+++ jackrabbit/commons/filevault/trunk/NOTICE.txt Sat Aug 10 05:53:42 2013
@@ -0,0 +1,9 @@
+Apache Jackrabbit File Vault
+Copyright 2013 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+Based on source code originally developed by
+* Day Software (http://www.day.com/).
+* Adobe Systems Incorporated (http://www.adobe.com/).
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/README.txt
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/README.txt?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/README.txt (added)
+++ jackrabbit/commons/filevault/trunk/README.txt Sat Aug 10 05:53:42 2013
@@ -0,0 +1,71 @@
+=======================================================================
+Welcome to Apache Jackrabbit FileVault <http://jackrabbit.apache.org/>
+=======================================================================
+
+The FileVault introduces a JCR repository to filesystem mapping. The mapping is exposed by and API and used by the 
+_CRX Content Packaging_  that allows to create portable packages of repository content.
+The Vault Command Line Interface aka _vlt_ that provides a subversion like utility to work and develop with repository content.
+
+Apache Jackrabbit FileVault is a project of the Apache Software Foundation.
+
+Building FileVault
+===================
+
+You can build FileVault like this:
+
+    mvn clean install
+
+You need Maven 2.0.9 (or higher) with Java 5 (or higher) for the build.
+For more instructions, please see the documentation at:
+
+   http://jackrabbit.apache.org/building-jackrabbit.html
+
+License (see also LICENSE.txt)
+==============================
+
+Collective work: Copyright 2013 The Apache Software Foundation.
+
+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.
+
+Mailing Lists
+=============
+
+To get involved with the Apache Jackrabbit project, start by having a
+look at our website and joining our mailing lists. For more details about
+Jackrabbit mailing lists as well as links to list archives, please see:
+
+   http://jackrabbit.apache.org/mailing-lists.html
+
+Latest development
+==================
+
+The latest FileVault source code is available via Subversion at
+
+   https://svn.apache.org/repos/asf/commons/filevault/trunk
+
+or with ViewVC at
+
+   https://svn.apache.org/viewvc/commons/filevault/trunk
+
+To checkout the main Jackrabbit source tree, run
+
+   svn checkout https://svn.apache.org/repos/asf/commons/filevault/trunk filevault
+
+Credits
+=======
+
+See http://jackrabbit.apache.org/jackrabbit-team.html for the list of 
+Jackrabbit committers and main contributors.

Added: jackrabbit/commons/filevault/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/RELEASE-NOTES.txt?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/RELEASE-NOTES.txt (added)
+++ jackrabbit/commons/filevault/trunk/RELEASE-NOTES.txt Sat Aug 10 05:53:42 2013
@@ -0,0 +1,61 @@
+Release Notes -- Apache Jackrabbit FileVault -- Version 3.0.0
+
+Introduction
+------------
+
+The FileVault introduces a JCR repository to filesystem mapping. The mapping is exposed by and API and used by the
+_CRX Content Packaging_  that allows to create portable packages of repository content.
+The Vault Command Line Interface aka _vlt_ that provides a subversion like utility to work and develop with repository content.
+
+Changes in Jackrabbit FileVault 3.0.0
+-------------------------------------
+
+New features
+
+Version 3.0.0 is the initial version of this contribution to the Apache Jackrabbit project.
+
+For more detailed information about all the changes in this and other
+FileVault releases, please see the FileVault issue tracker at
+
+    https://issues.apache.org/jira/browse/JCR
+
+Release Contents
+----------------
+
+This release consists of a single source archive packaged as a zip file.
+The archive can be unpacked with the jar tool from your JDK installation.
+See the README.txt file for instructions on how to build this release.
+
+The source archive is accompanied by SHA1 and MD5 checksums and a PGP
+signature that you can use to verify the authenticity of your download.
+The public key used for the PGP signature can be found at
+https://svn.apache.org/repos/asf/jackrabbit/dist/KEYS.
+
+About Apache Jackrabbit
+-----------------------
+
+Apache Jackrabbit is a fully conforming implementation of the Content
+Repository for Java Technology API (JCR). A content repository is a
+hierarchical content store with support for structured and unstructured
+content, full text search, versioning, transactions, observation, and
+more.
+
+For more information, visit http://jackrabbit.apache.org/
+
+About The Apache Software Foundation
+------------------------------------
+
+Established in 1999, The Apache Software Foundation provides organizational,
+legal, and financial support for more than 100 freely-available,
+collaboratively-developed Open Source projects. The pragmatic Apache License
+enables individual and commercial users to easily deploy Apache software;
+the Foundation's intellectual property framework limits the legal exposure
+of its 2,500+ contributors.
+
+For more information, visit http://www.apache.org/
+
+Trademarks
+----------
+
+Apache Jackrabbit, Jackrabbit, Apache, the Apache feather logo, and the Apache
+Jackrabbit project logo are trademarks of The Apache Software Foundation.

Added: jackrabbit/commons/filevault/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/parent/pom.xml?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/parent/pom.xml (added)
+++ jackrabbit/commons/filevault/trunk/parent/pom.xml Sat Aug 10 05:53:42 2013
@@ -0,0 +1,306 @@
+<?xml version="1.0"?><!--
+  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.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
+    <modelVersion>4.0.0</modelVersion>
+    <!-- ====================================================================== -->
+    <!-- P A R E N T  P R O J E C T  D E S C R I P T I O N                      -->
+    <!-- ====================================================================== -->
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>10</version>
+        <relativePath />
+    </parent>
+
+    <!-- ====================================================================== -->
+    <!-- P R O J E C T  D E S C R I P T I O N                                   -->
+    <!-- ====================================================================== -->
+    <groupId>org.apache.jackrabbit.vault</groupId>
+    <artifactId>parent</artifactId>
+    <version>3.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>Apache Jackrabbit FileVault (Parent Project)</name>
+    <description>
+        Parent project for the FileVault
+    </description>
+
+    <properties>
+        <jackrabbit.version>2.6.0</jackrabbit.version>
+    </properties>
+
+    <!-- ====================================================================== -->
+    <!-- S C M  D E F I N I T I O N                                             -->
+    <!-- ====================================================================== -->
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk/parent</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk/parent</developerConnection>
+        <url>http://svn.apache.org/viewvc/asf/jackrabbit/commons/filevault/trunk/parent</url>
+    </scm>
+
+    <mailingLists>
+
+        <mailingList>
+            <name>Jackrabbit Developer List</name>
+            <subscribe>dev-subscribe@jackrabbit.apache.org</subscribe>
+            <unsubscribe>dev-unsubscribe@jackrabbit.apache.org</unsubscribe>
+            <post>mailto:dev@jackrabbit.apache.org</post>
+            <archive>http://mail-archives.apache.org/mod_mbox/jackrabbit-dev/</archive>
+        </mailingList>
+
+        <mailingList>
+            <name>Jackrabbit User List</name>
+            <subscribe>users-subscribe@jackrabbit.apache.org</subscribe>
+            <unsubscribe>users-unsubscribe@jackrabbit.apache.org</unsubscribe>
+            <post>mailto:users@jackrabbit.apache.org</post>
+            <archive>http://mail-archives.apache.org/mod_mbox/jackrabbit-users/</archive>
+        </mailingList>
+
+    </mailingLists>
+
+    <issueManagement>
+        <url>https://issues.apache.org/jira/browse/JCR</url>
+    </issueManagement>
+
+    <!-- ====================================================================== -->
+    <!-- B U I L D   D E F I N I T I O N                                        -->
+    <!-- ====================================================================== -->
+    <build>
+        <plugins>
+            <!-- compiler stuff -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                    <debug>true</debug>
+                    <showDeprecation>false</showDeprecation>
+                    <showWarnings>true</showWarnings>
+                    <optimize>false</optimize>
+                </configuration>
+            </plugin>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!-- ====================================================================== -->
+                <!-- S C R   P L U G I N                                                    -->
+                <!-- ====================================================================== -->
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-scr-plugin</artifactId>
+                    <version>1.7.2</version>
+                    <executions>
+                        <execution>
+                            <id>generate-scr-scrdescriptor</id>
+                            <goals>
+                                <goal>scr</goal>
+                            </goals>
+                            <configuration>
+                                <!-- Private service properties for all services. -->
+                                <properties>
+                                    <service.vendor>Apache Software Foundation</service.vendor>
+                                </properties>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+                <!-- ====================================================================== -->
+                <!-- S L I N G   P L U G I N                                                -->
+                <!-- ====================================================================== -->
+                <plugin>
+                    <groupId>org.apache.sling</groupId>
+                    <artifactId>maven-sling-plugin</artifactId>
+                    <version>2.0.4-incubator</version>
+                    <configuration>
+                        <slingUrl>http://localhost:4502</slingUrl>
+                        <slingUrlSuffix>/libs/system/install</slingUrlSuffix>
+                        <usePut>true</usePut>
+                    </configuration>
+                </plugin>
+                <!-- ====================================================================== -->
+                <!-- B U N D L E   P L U G I N                                              -->
+                <!-- ====================================================================== -->
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <version>2.2.0</version>
+                    <inherited>true</inherited>
+                </plugin>
+                <!-- ====================================================================== -->
+                <!-- S U R E F I R E   P L U G I N                                          -->
+                <!-- ====================================================================== -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.4.2</version>
+                </plugin>
+                <!-- ====================================================================== -->
+                <!-- R E L E A S E    P L U G I N                                           -->
+                <!-- ====================================================================== -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-release-plugin</artifactId>
+                    <version>2.1</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <!-- ====================================================================== -->
+    <!-- D E P E N D E N C Y   M A N A G E M E N T                              -->
+    <!-- ====================================================================== -->
+    <dependencyManagement>
+        <dependencies>
+            <!-- CLI Stuff -->
+            <dependency>
+                <groupId>org.apache.mahout.commons</groupId>
+                <artifactId>commons-cli</artifactId>
+                <version>2.0-mahout</version>
+            </dependency>
+            <dependency>
+                <groupId>jline</groupId>
+                <artifactId>jline</artifactId>
+                <version>0.9.94</version>
+            </dependency>
+
+            <!-- jackrabbit -->
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-api</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-spi</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-jcr-commons</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-spi-commons</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-jcr2spi</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-jcr-client</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-spi2dav</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.jackrabbit</groupId>
+                <artifactId>jackrabbit-webdav</artifactId>
+                <version>${jackrabbit.version}</version>
+            </dependency>
+
+            <!-- JCR Stuff -->
+            <dependency>
+                <groupId>javax.jcr</groupId>
+                <artifactId>jcr</artifactId>
+                <version>2.0</version>
+                <scope>provided</scope>
+            </dependency>
+
+            <!-- SLF4j / Log4j -->
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-log4j12</artifactId>
+                <version>1.5.8</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>1.5.8</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>log4j</groupId>
+                <artifactId>log4j</artifactId>
+                <version>1.2.12</version>
+                <scope>provided</scope>
+            </dependency>
+
+            <!-- other -->
+            <!-- osgi stuff -->
+            <dependency>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.scr.annotations</artifactId>
+                <version>1.6.0</version>
+            </dependency>
+
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>1.4</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-collections</groupId>
+                <artifactId>commons-collections</artifactId>
+                <version>3.2.1</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-codec</groupId>
+                <artifactId>commons-codec</artifactId>
+                <version>1.2</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-httpclient</groupId>
+                <artifactId>commons-httpclient</artifactId>
+                <version>3.0</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-logging</groupId>
+                <artifactId>commons-logging</artifactId>
+                <version>1.0.3</version>
+            </dependency>
+            <dependency>
+                <groupId>concurrent</groupId>
+                <artifactId>concurrent</artifactId>
+                <version>1.3.4</version>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>4.8.2</version>
+                <scope>test</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <!-- ====================================================================== -->
+    <!-- P R O F I L E S                                                        -->
+    <!-- ====================================================================== -->
+    <profiles>
+    </profiles>
+
+</project>

Added: jackrabbit/commons/filevault/trunk/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/pom.xml?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/pom.xml (added)
+++ jackrabbit/commons/filevault/trunk/pom.xml Sat Aug 10 05:53:42 2013
@@ -0,0 +1,118 @@
+<?xml version="1.0"?><!--
+  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.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
+    <modelVersion>4.0.0</modelVersion>
+    <!-- ====================================================================== -->
+    <!-- P A R E N T  P R O J E C T  D E S C R I P T I O N                      -->
+    <!-- ====================================================================== -->
+    <parent>
+        <groupId>org.apache.jackrabbit.vault</groupId>
+        <artifactId>parent</artifactId>
+        <relativePath>parent/pom.xml</relativePath>
+        <version>3.0.0-SNAPSHOT</version>
+    </parent>
+
+    <!-- ====================================================================== -->
+    <!-- P R O J E C T  D E S C R I P T I O N                                   -->
+    <!-- ====================================================================== -->
+    <artifactId>vault-reactor</artifactId>
+    <packaging>pom</packaging>
+
+    <name>Apache Jackrabbit FileVault (Reactor Project)</name>
+
+    <!-- ====================================================================== -->
+    <!-- S C M  D E F I N I T I O N                                             -->
+    <!-- ====================================================================== -->
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk</developerConnection>
+        <url>http://svn.apache.org/viewvc/asf/jackrabbit/commons/filevault/trunk</url>
+    </scm>
+
+    <!-- ====================================================================== -->
+    <!-- M O D U L E S                                                          -->
+    <!-- ====================================================================== -->
+    <modules>
+        <module>parent</module>
+        <module>vault-core</module>
+        <module>vault-diff</module>
+        <module>vault-rcp</module>
+        <module>vault-davex</module>
+        <module>vault-vlt</module>
+        <module>vault-cli</module>
+        <module>vault-hook-example</module>
+        <module>vault-hook-externalclass-test</module>
+        <module>vault-sync</module>
+    </modules>
+
+    <!-- ====================================================================== -->
+    <!-- J A V A D O C   P L U G I N                                            -->
+    <!-- ====================================================================== -->
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.7</version>
+                <configuration>
+                    <!-- Default configuration for all reports -->
+                    <windowtitle>Apache Jackrabbit FileVault ${project.version} API</windowtitle>
+                    <doctitle>Apache Jackrabbit FileVault ${project.version} API</doctitle>
+                    <excludePackageNames>
+                        org.apache.jackrabbit.vault.cli*,org.apache.jackrabbit.vault.davex,*.impl*,org.apache.jackrabbit.vault.util.xml,org.apache.jackrabbit.vault.vlt.actions,org.apache.jackrabbit.vault.vlt.meta.*,org.apache.jackrabbit.vault.packaging.hotfix
+                    </excludePackageNames>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>aggregate</id>
+                        <goals>
+                            <goal>aggregate</goal>
+                        </goals>
+                        <phase>site</phase>
+                    </execution>
+                    <execution>
+                        <id>aggregate-jar</id>
+                        <goals>
+                            <goal>aggregate-jar</goal>
+                        </goals>
+                        <phase>package</phase>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <!-- ====================================================================== -->
+    <!-- R E P O R T I N G                                                      -->
+    <!-- ====================================================================== -->
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.7</version>
+            </plugin>
+        </plugins>
+    </reporting>
+
+    <!-- ====================================================================== -->
+    <!-- P R O F I L E S                                                        -->
+    <!-- ====================================================================== -->
+    <profiles>
+    </profiles>
+
+</project>

Added: jackrabbit/commons/filevault/trunk/vault-cli/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/pom.xml?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/pom.xml (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/pom.xml Sat Aug 10 05:53:42 2013
@@ -0,0 +1,173 @@
+<?xml version="1.0"?><!--
+  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.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
+    <modelVersion>4.0.0</modelVersion>
+    <!-- ====================================================================== -->
+    <!-- P A R E N T  P R O J E C T  D E S C R I P T I O N                      -->
+    <!-- ====================================================================== -->
+    <parent>
+        <groupId>org.apache.jackrabbit.vault</groupId>
+        <artifactId>parent</artifactId>
+        <relativePath>../parent/pom.xml</relativePath>
+        <version>3.0.0-SNAPSHOT</version>
+    </parent>
+
+    <!-- ====================================================================== -->
+    <!-- P R O J E C T  D E S C R I P T I O N                                   -->
+    <!-- ====================================================================== -->
+    <artifactId>vault-cli</artifactId>
+    <version>3.0.0-SNAPSHOT</version>
+    <packaging>jar</packaging>
+
+    <name>Apache Jackrabbit FileVault Command Line Interface</name>
+    <description>
+        Provides a simple shell-like console that access the file vault.
+    </description>
+
+    <!-- ====================================================================== -->
+    <!-- S C M  D E F I N I T I O N                                             -->
+    <!-- ====================================================================== -->
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk/vault-cli</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk/vault-cli</developerConnection>
+        <url>http://svn.apache.org/viewvc/asf/jackrabbit/commons/filevault/trunk/vault-cli</url>
+    </scm>
+
+    <!-- ====================================================================== -->
+    <!-- B U I L D   D E F I N I T I O N                                        -->
+    <!-- ====================================================================== -->
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>appassembler-maven-plugin</artifactId>
+                <version>1.3</version>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>assemble</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <licenseHeaderFile>${basedir}/src/main/appassembler/license-header.txt</licenseHeaderFile>
+                    <unixScriptTemplate>${basedir}/src/main/appassembler/unix-template</unixScriptTemplate>
+                    <windowsScriptTemplate>${basedir}/src/main/appassembler/windows-template</windowsScriptTemplate>
+                    <repositoryLayout>flat</repositoryLayout>
+                    <repositoryName>lib</repositoryName>
+                    <includeConfigurationDirectoryInClasspath>false</includeConfigurationDirectoryInClasspath>
+                    <extraJvmArguments>-Xms500m -Xmx500m -XX:PermSize=128m -XX:-UseGCOverheadLimit</extraJvmArguments>
+                    <programs>
+                        <program>
+                            <mainClass>org.apache.jackrabbit.vault.cli.VaultFsApp</mainClass>
+                            <name>vlt</name>
+                        </program>
+                    </programs>
+                </configuration>
+            </plugin>
+            <!-- assemble dist -->
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.2</version>
+                <executions>
+                    <execution>
+                        <id>assemble-distribution</id>
+                        <configuration>
+                            <descriptors>
+                                <descriptor>${basedir}/src/main/assembly/assembly.xml</descriptor>
+                            </descriptors>
+                        </configuration>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- skip tests -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <!-- ====================================================================== -->
+    <!-- D E P E N D E N C I E S                                                -->
+    <!-- ====================================================================== -->
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.jackrabbit.vault</groupId>
+            <artifactId>org.apache.jackrabbit.vault</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit.vault</groupId>
+            <artifactId>vault-vlt</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit.vault</groupId>
+            <artifactId>vault-sync</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit.vault</groupId>
+            <artifactId>vault-davex</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+        </dependency>
+
+        <!-- CLI Stuff -->
+        <dependency>
+            <groupId>org.apache.mahout.commons</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+
+        <!-- JCR Stuff -->
+        <dependency>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <!-- SLF4j / Log4j -->
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+</project>

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/license-header.txt
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/license-header.txt?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/license-header.txt (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/license-header.txt Sat Aug 10 05:53:42 2013
@@ -0,0 +1,15 @@
+
+ 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.
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/unix-template
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/unix-template?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/unix-template (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/unix-template Sat Aug 10 05:53:42 2013
@@ -0,0 +1,130 @@
+#!/bin/sh
+@LICENSE_HEADER@
+#----------------------------------------------------------------------------
+#File Vault Start Up Batch script
+#
+#Required ENV vars:
+#------------------
+#  JAVA_HOME - location of a JDK home dir
+#
+#Optional ENV vars
+#-----------------
+#  VLT_OPTS - parameters passed to the Java VM when running Vault
+#    e.g. to debug vault itself, use
+#      set VLT_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+#----------------------------------------------------------------------------
+
+if [ -f /etc/vaultrc ] ; then
+  . /etc/vaultrc
+fi
+
+if [ -f "$HOME/.vaultrc" ] ; then
+  . "$HOME/.vaultrc"
+fi
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+PRGDIR=`dirname "$PRG"`
+VLT_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
+
+@ENV_SETUP@
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# If a specific java binary isn't specified search for the standard 'java' binary
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD=`which java`
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly." 1>&2
+  echo "  We cannot execute $JAVACMD" 1>&2
+  exit 1
+fi
+
+if [ -z "$REPO" ]
+then
+  REPO="$VLT_HOME"/@REPO@
+fi
+
+CLASSPATH=$CLASSPATH_PREFIX:@CLASSPATH@
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  [ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"`
+  [ -n "$VLT_HOME" ] && VLT_HOME=`cygpath --path --windows "$VLT_HOME"`
+  [ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"`
+fi
+
+EXTRA_JVM_ARGUMENTS="@EXTRA_JVM_ARGUMENTS@"
+
+# try to determine terminal width
+COLS=$COLUMNS
+if [ -x "/bin/stty" ]; then
+    TERM_SIZE=`/bin/stty size 2>/dev/null` 
+    for a in ${TERM_SIZE}; do
+        COLS=$a
+    done
+fi
+
+if [ -n "$COLS" ]; then
+    EXTRA_JVM_ARGUMENTS="$EXTRA_JVM_ARGUMENTS -Denv.term.width=${COLS}"
+fi
+
+exec "$JAVACMD" $VLT_OPTS $EXTRA_JVM_ARGUMENTS \
+  -classpath "$CLASSPATH" \
+  -Dapp.name="@APP_NAME@" \
+  -Dapp.pid="$$" \
+  -Dapp.repo="$REPO" \
+  -Dvlt.home="$VLT_HOME" \
+  @MAINCLASS@ \
+  @APP_ARGUMENTS@"$@"@UNIX_BACKGROUND@

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/windows-template
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/windows-template?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/windows-template (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/appassembler/windows-template Sat Aug 10 05:53:42 2013
@@ -0,0 +1,117 @@
+#LICENSE_HEADER#
+@REM ----------------------------------------------------------------------------
+@REM Vault Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM VLT_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM VLT_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM VLT_OPTS - parameters passed to the Java VM when running vlt
+@REM     e.g. to debug vlt itself, use
+@REM set VLT_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case VLT_BATCH_ECHO is 'on'
+@echo off
+@REM enable echoing my setting VLT_BATCH_ECHO to 'on'
+@if "%VLT_BATCH_ECHO%" == "on"  echo %VLT_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set HOME=%HOMEDRIVE%%HOMEPATH%)
+
+@REM Execute a user defined script before this one
+if exist "%HOME%\vltrc_pre.bat" call "%HOME%\vltrc_pre.bat"
+
+set ERROR_CODE=0
+
+:init
+@REM Decide how to startup depending on the version of windows
+
+@REM -- Win98ME
+if NOT "%OS%"=="Windows_NT" goto Win9xArg
+
+@REM set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" @setlocal
+
+@REM -- 4NT shell
+if "%eval[2+2]" == "4" goto 4NTArgs
+
+@REM -- Regular WinNT shell
+set CMD_LINE_ARGS=%*
+goto WinNTGetScriptDir
+
+@REM The 4NT Shell from jp software
+:4NTArgs
+set CMD_LINE_ARGS=%$
+goto WinNTGetScriptDir
+
+:Win9xArg
+@REM Slurp the command line arguments.  This loop allows for an unlimited number
+@REM of arguments (up to the command line limit, anyway).
+set CMD_LINE_ARGS=
+:Win9xApp
+if %1a==a goto Win9xGetScriptDir
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto Win9xApp
+
+:Win9xGetScriptDir
+set SAVEDIR=%CD%
+%0\
+cd %0\..\.. 
+set VLT_HOME=%CD%
+cd %SAVEDIR%
+set SAVE_DIR=
+goto repoSetup
+
+:WinNTGetScriptDir
+set VLT_HOME=%~dp0\..
+
+:repoSetup
+#ENV_SETUP#
+
+if "%JAVACMD%"=="" set JAVACMD=#JAVA_BINARY#
+
+if "%REPO%"=="" set REPO=%VLT_HOME%\#REPO#
+
+set CLASSPATH=#CLASSPATH#
+goto endInit
+
+@REM Reaching here means variables are defined and arguments have been captured
+:endInit
+
+%JAVACMD% %VLT_OPTS% #EXTRA_JVM_ARGUMENTS# -classpath %CLASSPATH_PREFIX%;%CLASSPATH% -Dapp.name="#APP_NAME#" -Dapp.repo="%REPO%" -Dapp.home="%VLT_HOME%" -Dvlt.home="%VLT_HOME%" #MAINCLASS# #APP_ARGUMENTS#%CMD_LINE_ARGS%
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+if "%OS%"=="Windows_NT" @endlocal
+set ERROR_CODE=%ERRORLEVEL%
+
+:end
+@REM set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" goto endNT
+
+@REM For old DOS remove the set variables from ENV - we assume they were not set
+@REM before we started - at least we don't leave any baggage around
+set CMD_LINE_ARGS=
+goto postExec
+
+:endNT
+@REM If error code is set to 1 then the endlocal was done already in :error.
+if %ERROR_CODE% EQU 0 @endlocal
+
+
+:postExec
+if exist "%HOME%\vltrc_post.bat" call "%HOME%\vltrc_post.bat"
+@REM pause the batch file if VLT_BATCH_PAUSE is set to 'on'
+if "%VLT_BATCH_PAUSE%" == "on" pause
+
+
+if "%FORCE_EXIT_ON_ERROR%" == "on" (
+  if %ERROR_CODE% NEQ 0 exit %ERROR_CODE%
+)
+
+exit /B %ERROR_CODE%

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/assembly/assembly.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/assembly/assembly.xml?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/assembly/assembly.xml (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/assembly/assembly.xml Sat Aug 10 05:53:42 2013
@@ -0,0 +1,51 @@
+<!--
+  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.
+  -->
+<assembly>
+  <id>bin</id>
+  <formats>
+    <format>zip</format>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+      <source>${project.build.directory}/appassembler/bin/vlt</source>
+      <lineEnding>unix</lineEnding>
+      <fileMode>755</fileMode>
+      <outputDirectory>/bin</outputDirectory>
+    </file>
+    <file>
+      <source>${project.build.directory}/appassembler/bin/vlt.bat</source>
+      <lineEnding>dos</lineEnding>
+      <outputDirectory>/bin</outputDirectory>
+      <fileMode>644</fileMode>
+    </file>
+  </files>
+  <fileSets>
+    <fileSet>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.build.directory}/appassembler/lib/</directory>
+      <outputDirectory>/lib</outputDirectory>
+    </fileSet>
+  </fileSets>
+</assembly>

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractCmdLs.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractCmdLs.java?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractCmdLs.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractCmdLs.java Sat Aug 10 05:53:42 2013
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+package org.apache.jackrabbit.vault.cli;
+
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.apache.commons.cli2.CommandLine;
+import org.apache.commons.cli2.Option;
+import org.apache.commons.cli2.builder.ArgumentBuilder;
+import org.apache.jackrabbit.vault.util.console.ConsoleFile;
+import org.apache.jackrabbit.vault.util.console.util.Table;
+
+/**
+ * Implements the 'ls' command.
+ *
+ */
+abstract public class AbstractCmdLs extends AbstractJcrFsCommand {
+
+    protected static final int F_MASK = 0x0f;
+
+    protected final Option argPath = new ArgumentBuilder()
+                                        .withName("path")
+                                        .withDescription("the path to list")
+                                        .withMinimum(0)
+                                        .withMaximum(1)
+                                        .create();
+
+    protected void doExecute(VaultFsConsoleExecutionContext ctx, CommandLine cl) throws Exception {
+        int fmtFlag = getFormatFlags(ctx, cl);
+        String path = (String) cl.getValue(argPath);
+        ConsoleFile file = ctx.getFile(path, true);
+        ls(file, fmtFlag, 0);
+    }
+
+    abstract protected int getFormatFlags(VaultFsConsoleExecutionContext ctx, CommandLine cl);
+
+    abstract protected void formatFile(ConsoleFile file, Table.Row row, int flags);
+
+    private void ls(ConsoleFile file, int flags, int maxDepth)
+            throws IOException {
+        int numCols = 1;
+        int f = flags & F_MASK;
+        while (f != 0) {
+            if ((f & 1) == 1) {
+                numCols++;
+            }
+            f >>= 1;
+        }
+        Table t = new Table(numCols);
+
+        ConsoleFile[] files = file.listFiles();
+        for (ConsoleFile file1 : files) {
+            Table.Row r = t.createRow();
+            formatFile(file1, r, flags);
+            t.addRow(r);
+        }
+
+        t.print();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getShortDescription() {
+        return "Print a list of files and directories";
+    }
+
+    public static String formatSize(long size) {
+        if (size < 0) {
+            return "";
+        } else {
+            String[] units = new String[]{"B", "K", "M", "G", "T"};
+            int i=0;
+            while (size > 1000) {
+                size /= 1000;
+                i++;
+            }
+            return String.valueOf(size) + units[i];
+        }
+    }
+
+    public static String formatDate(long date) {
+        final SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+        return date == 0 ? "" : fmt.format(new Date(date));
+    }
+}
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractJcrFsCommand.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractJcrFsCommand.java?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractJcrFsCommand.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractJcrFsCommand.java Sat Aug 10 05:53:42 2013
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+package org.apache.jackrabbit.vault.cli;
+
+import org.apache.commons.cli2.CommandLine;
+import org.apache.jackrabbit.vault.util.console.ConsoleExecutionContext;
+import org.apache.jackrabbit.vault.util.console.commands.AbstractConsoleCommand;
+
+/**
+ * <code>AbstractJcrFsCommand</code> provides base functionality for JcrFs
+ * commands.
+ *
+ */
+public abstract class AbstractJcrFsCommand extends AbstractConsoleCommand {
+
+    protected void doExecute(ConsoleExecutionContext ctx, CommandLine cl)
+            throws Exception {
+        doExecute((VaultFsConsoleExecutionContext) ctx, cl);
+    }
+
+    abstract protected void doExecute(VaultFsConsoleExecutionContext ctx, CommandLine cl)
+            throws Exception;
+
+}
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractVaultCommand.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractVaultCommand.java?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractVaultCommand.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AbstractVaultCommand.java Sat Aug 10 05:53:42 2013
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+package org.apache.jackrabbit.vault.cli;
+
+import org.apache.commons.cli2.CommandLine;
+import org.apache.jackrabbit.vault.util.console.ExecutionContext;
+
+/**
+ * <code>AbstractJcrFsCommand</code> provides base functionality for JcrFs
+ * commands.
+ *
+ */
+public abstract class AbstractVaultCommand extends AbstractJcrFsCommand {
+
+    public void doExecute(ExecutionContext ctx, CommandLine cl)
+            throws Exception {
+        if (ctx instanceof VltExecutionContext) {
+            doExecute((VltExecutionContext) ctx, cl);
+        } else {
+            super.doExecute(ctx, cl);
+        }
+    }
+
+    protected void doExecute(VaultFsConsoleExecutionContext ctx, CommandLine cl)
+            throws Exception {
+        doExecute(ctx.getVaultFsApp(), cl);
+    }
+
+    protected void doExecute(VltExecutionContext ctx, CommandLine cl)
+            throws Exception {
+        doExecute(ctx.getJcrFsApp(), cl);
+    }
+
+    abstract protected void doExecute(VaultFsApp app, CommandLine cl) throws Exception;
+}
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateCFile.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateCFile.java?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateCFile.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateCFile.java Sat Aug 10 05:53:42 2013
@@ -0,0 +1,89 @@
+/*
+ * 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.
+ */
+
+package org.apache.jackrabbit.vault.cli;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.List;
+
+import javax.jcr.RepositoryException;
+
+import org.apache.jackrabbit.vault.fs.api.Aggregate;
+import org.apache.jackrabbit.vault.util.console.ConsoleFile;
+
+/**
+ * <code>JcrCWO</code>...
+ *
+ */
+public class AggregateCFile implements ConsoleFile {
+
+    private final Aggregate aggregate;
+
+    public AggregateCFile(Aggregate file) {
+        this.aggregate = file;
+    }
+
+    public Object unwrap() {
+        return aggregate;
+    }
+
+    public String getPath() {
+        return aggregate.getPath();
+    }
+
+    public ConsoleFile getFile(String path, boolean mustExist)
+            throws IOException {
+        try {
+            Aggregate node = aggregate.getManager().getRoot();
+            if (!path.equals("/")) {
+                node = this.aggregate.getAggregate(path);
+                if (node == null) {
+                    throw new FileNotFoundException(path);
+                }
+            }
+            return new AggregateCFile(node);
+        } catch (RepositoryException e) {
+            throw new IOException("Error while retrieving file: " + e.toString());
+        }
+    }
+
+    public ConsoleFile[] listFiles() throws IOException {
+        try {
+            List<? extends Aggregate> files = aggregate.getLeaves();
+            if (files == null || files.isEmpty()) {
+                return ConsoleFile.EMPTY_ARRAY;
+            }
+            AggregateCFile[] ret = new AggregateCFile[files.size()];
+            int i=0;
+            for (Aggregate node: files) {
+                ret[i++] = new AggregateCFile(node);
+            }
+            return ret;
+        } catch (RepositoryException e) {
+            throw new IOException(e.toString());
+        }
+    }
+
+    public boolean allowsChildren() {
+        return aggregate.allowsChildren();
+    }
+
+    public String getName() {
+        return aggregate.getRelPath();
+    }
+}
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateExecutionContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateExecutionContext.java?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateExecutionContext.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/AggregateExecutionContext.java Sat Aug 10 05:53:42 2013
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+
+package org.apache.jackrabbit.vault.cli;
+
+import org.apache.jackrabbit.vault.fs.api.Aggregate;
+import org.apache.jackrabbit.vault.util.console.commands.CmdCtx;
+import org.apache.jackrabbit.vault.util.console.platform.CmdCd;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Implements a console/shell that operates on a jcrfs.
+ *
+ */
+public class AggregateExecutionContext extends VaultFsConsoleExecutionContext {
+
+    protected static Logger log = LoggerFactory.getLogger(AggregateExecutionContext.class);
+
+    public AggregateExecutionContext(VaultFsApp app, String name, Aggregate rootNode) {
+        super(app, name);
+
+        installCommand(new CmdCd());
+        installCommand(new CmdCtx());
+        installCommand(new CmdLogin());
+        installCommand(new CmdLogout());
+        installCommand(new CmdConnect());
+        installCommand(new CmdDisconnect());
+        installCommand(new CmdExport());
+        installCommand(new CmdGet());
+        installCommand(new CmdImport());
+        installCommand(new CmdLsAggregate());
+        installCommand(new CmdMount());
+        installCommand(new CmdPut());
+        installCommand(new CmdRm());
+        installCommand(new CmdTree());
+        installCommand(new CmdUnmount());
+        installCommand(new CmdDump());
+        setFileSystem(new AggregateCFile(rootNode));
+    }
+
+}
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdAdd.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdAdd.java?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdAdd.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdAdd.java Sat Aug 10 05:53:42 2013
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+package org.apache.jackrabbit.vault.cli;
+
+import java.io.File;
+import java.util.List;
+
+import org.apache.commons.cli2.Argument;
+import org.apache.commons.cli2.CommandLine;
+import org.apache.commons.cli2.Option;
+import org.apache.commons.cli2.builder.ArgumentBuilder;
+import org.apache.commons.cli2.builder.CommandBuilder;
+import org.apache.commons.cli2.builder.DefaultOptionBuilder;
+import org.apache.commons.cli2.builder.GroupBuilder;
+import org.apache.commons.cli2.option.Command;
+import org.apache.jackrabbit.vault.vlt.VltContext;
+import org.apache.jackrabbit.vault.vlt.actions.Add;
+
+/**
+ * Implements the 'add' command.
+ *
+ */
+public class CmdAdd extends AbstractVaultCommand {
+
+    private Option optForce;
+    private Option optNonRecursive;
+    private Argument argLocalPath;
+
+    @SuppressWarnings("unchecked")
+    protected void doExecute(VaultFsApp app, CommandLine cl) throws Exception {
+        List<String> localPaths = cl.getValues(argLocalPath);
+        List<File> localFiles = app.getPlatformFiles(localPaths, false);
+        File localDir = app.getPlatformFile("", true);
+
+        VltContext vCtx = app.createVaultContext(localDir);
+        vCtx.setVerbose(cl.hasOption(OPT_VERBOSE));
+        vCtx.setQuiet(cl.hasOption(OPT_QUIET));
+
+        Add a = new Add(localDir, localFiles, cl.hasOption(optNonRecursive), cl.hasOption(optForce));
+        vCtx.execute(a);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getShortDescription() {
+        return "Put files and directories under version control.";
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getLongDescription() {
+        return "Put files and directories under version control, scheduling " +
+               "them for addition to repository. They will be added in next commit.";
+    }
+
+    protected Command createCommand() {
+        return new CommandBuilder()
+                .withName("add")
+                .withDescription(getShortDescription())
+                .withChildren(new GroupBuilder()
+                        .withName("Options:")
+                        .withOption(OPT_VERBOSE)
+                        .withOption(OPT_QUIET)
+                        .withOption(optNonRecursive = new DefaultOptionBuilder()
+                                .withShortName("N")
+                                .withLongName("non-recursive")
+                                .withDescription("operate on single directory")
+                                .create())
+                        .withOption(optForce = new DefaultOptionBuilder()
+                                .withLongName("force")
+                                .withDescription("force operation to run")
+                                .create())
+                        .withOption(argLocalPath = new ArgumentBuilder()
+                                .withName("file")
+                                .withDescription("local file or directory to add")
+                                .withMinimum(1)
+                                .create()
+                        )
+                        .create()
+                )
+                .create();
+    }
+}
\ No newline at end of file

Added: jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdCat.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdCat.java?rev=1512568&view=auto
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdCat.java (added)
+++ jackrabbit/commons/filevault/trunk/vault-cli/src/main/java/org/apache/jackrabbit/vault/cli/CmdCat.java Sat Aug 10 05:53:42 2013
@@ -0,0 +1,101 @@
+/*
+ * 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.
+ */
+
+package org.apache.jackrabbit.vault.cli;
+
+import java.io.IOException;
+
+import javax.jcr.RepositoryException;
+
+import org.apache.commons.cli2.Argument;
+import org.apache.commons.cli2.CommandLine;
+import org.apache.commons.cli2.builder.ArgumentBuilder;
+import org.apache.commons.cli2.builder.CommandBuilder;
+import org.apache.commons.cli2.builder.GroupBuilder;
+import org.apache.commons.cli2.option.Command;
+import org.apache.jackrabbit.vault.fs.api.VaultFile;
+import org.apache.jackrabbit.vault.util.console.ConsoleFile;
+import org.apache.jackrabbit.vault.util.console.ExecutionException;
+
+/**
+ * Implements the 'get' command.
+ *
+ */
+public class CmdCat extends AbstractJcrFsCommand {
+
+    protected void doExecute(VaultFsConsoleExecutionContext ctx, CommandLine cl) throws Exception {
+        String jcrPath = (String) cl.getValue(argJcrPath);
+
+        ConsoleFile wo = ctx.getFile(jcrPath, true);
+        if (wo instanceof VaultFsCFile) {
+            VaultFile file = (VaultFile) wo.unwrap();
+            try {
+                String ct = file.getContentType();
+                if (ct == null) {
+                    ct = "application/octet-stream";
+                }
+                if (ct.startsWith("text/")) {
+                    file.getArtifact().spool(System.out);
+                    System.out.flush();
+                } else {
+                    System.out.printf("Refusing to print contents of a '%s' file.%n", ct);
+                }
+            } catch (IOException e) {
+                throw new ExecutionException("Error while downloading file.",e);
+            } catch (RepositoryException e) {
+                throw new ExecutionException("Error while downloading file", e);
+            }
+        } else {
+            throw new ExecutionException("'cat' only possible in jcr fs context");
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getShortDescription() {
+        return "Print a file";
+    }
+
+
+    public String getLongDescription() {
+        return  "Retrieve a Jcr file from the repository and print its " +
+                "content to the console.";
+
+    }
+
+    private Argument argJcrPath;
+
+    protected Command createCommand() {
+        return new CommandBuilder()
+                .withName("cat")
+                .withDescription(getShortDescription())
+                .withChildren(new GroupBuilder()
+                        .withName("Options:")
+                        .withOption(argJcrPath = new ArgumentBuilder()
+                                .withName("jcr-path")
+                                .withDescription("the jcr path")
+                                .withMinimum(1)
+                                .withMaximum(1)
+                                .create()
+                        )
+                        .create()
+                )
+                .create();
+    }
+
+}
\ No newline at end of file



Mime
View raw message