1#!/usr/bin/env python
2# Software License Agreement (BSD License)
3#
4# Copyright (c) 2010, Willow Garage, Inc.
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10#
11#  * Redistributions of source code must retain the above copyright
12#    notice, this list of conditions and the following disclaimer.
13#  * Redistributions in binary form must reproduce the above
14#    copyright notice, this list of conditions and the following
15#    disclaimer in the documentation and/or other materials provided
16#    with the distribution.
17#  * Neither the name of Willow Garage, Inc. nor the names of its
18#    contributors may be used to endorse or promote products derived
19#    from this software without specific prior written permission.
20#
21# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32# POSSIBILITY OF SUCH DAMAGE.
33#
34# Revision $Id: rosws 14389 2011-07-20 18:38:40Z tfoote $
35# $Author: tfoote $
36
37"""%(prog)s is a command to manipulate ROS workspaces.
38
39Official usage:
40  %(prog)s CMD [INSTALL_PATH] [ROSINSTALL FILES OR DIRECTORIES] [OPTIONS]
41
42rosws will try to infer install path from context
43"rosws install" replaces the rosinstall command
44
45Type '%(prog)s --help' for usage.
46"""
47
48from __future__ import print_function
49import sys
50
51import pkg_resources  # else python warning
52import rosinstall.rosws_stacks_cli
53from rosinstall.helpers import ROSInstallException
54from wstool.common import MultiProjectException
55
56
57if __name__ == "__main__":
58    try:
59        sys.exit(rosinstall.rosws_stacks_cli.rosws_stacks_main(sys.argv))
60    except ROSInstallException as e:
61        sys.stderr.write("ERROR in rosinstall: %s" % str(e))
62        sys.exit(1)
63    except MultiProjectException as e:
64        sys.stderr.write("ERROR in config: %s" % str(e))
65        sys.exit(1)
66