components/ruby/Solaris/scripts/index_gem_repository.rb
author April Chin <april.chin@oracle.com>
Mon, 25 Apr 2011 15:05:59 -0700
changeset 199 b87534be1a76
permissions -rw-r--r--
7023222 move ruby to userland 7032819 ruby 1.8.7-p174 needs a newer patch to build against OpenSSL 1.0.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
199
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     1
#!/usr/ruby/1.8/bin/ruby
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     2
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     3
# CDDL HEADER START
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     4
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     6
# Common Development and Distribution License (the "License").
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     7
# You may not use this file except in compliance with the License.
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     8
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    11
# See the License for the specific language governing permissions
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    12
# and limitations under the License.
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    13
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    19
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    20
# CDDL HEADER END
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    21
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    22
 
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    23
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    24
# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    25
#
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    26
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    27
require 'optparse'
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    28
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    29
$pass_on_opts = ["generate_index"]
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    30
suppress = false
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    31
deprecation_msg =  "WARNING: index_gem_repository.rb has been deprecated and will be removed in a future release of Solaris, use 'gem generate_index' instead. (use '-s' to suppress these warnings)\n\n"
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    32
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    33
options = OptionParser.new do |opts|
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    34
    opts.on('-d', '--dir=DIRNAME', '--directory=DIRNAME',
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    35
         "repository base dir containing gems subdir",
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    36
         String) do |value|
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    37
           $pass_on_opts << '-d'
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    38
           $pass_on_opts << value
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    39
    end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    40
        
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    41
    opts.on( '--[no-]quick',
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    42
         "include quick index"
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    43
     ) do |value|
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    44
      print "WARNING: Quick index always generated with RubyGems 1.3.1\n"
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    45
    end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    46
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    47
    opts.on('-v', '--verbose',
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    48
         "show verbose output"
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    49
       ) do
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    50
         $pass_on_opts << '-V'
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    51
    end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    52
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    53
    opts.on('-V', '--version',
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    54
         "show version"
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    55
       ) do
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    56
         print deprecation_msg
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    57
         system("gem", "env", "version")
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    58
         exit
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    59
    end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    60
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    61
    opts.on_tail('-s', '--suppress-warnings', 
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    62
           "Suppress deprecation warning"
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    63
       ) do
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    64
        suppress = true
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    65
    end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    66
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    67
    opts.on_tail('-h', '--help', "Display this help message"
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    68
       ) do
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    69
        puts deprecation_msg
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    70
        puts opts
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    71
        exit
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    72
     end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    73
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    74
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    75
end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    76
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    77
begin
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    78
  options.parse!(ARGV)
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    79
rescue OptionParser::InvalidArgument => err
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    80
  puts options
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    81
  puts
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    82
  puts err.message
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    83
  exit(-1)
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    84
end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    85
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    86
ARGV.each do |arg|
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    87
  $pass_on_opts << arg
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    88
end
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    89
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    90
print deprecation_msg unless suppress
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    91
b87534be1a76 7023222 move ruby to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    92
system("gem", *$pass_on_opts)