shoesgem 0.1430.0 → 0.1469.0
Sign up to get free protection for your applications and to get access to all the features.
- data/shoes/VERSION.txt +1 -1
- data/shoes/freetype6.dll +0 -0
- data/shoes/lib/shoes/help.rb +2 -1
- data/shoes/libcairo-2.dll +0 -0
- data/shoes/libeay32.dll +0 -0
- data/shoes/libexpat-1.dll +0 -0
- data/shoes/libfontconfig-1.dll +0 -0
- data/shoes/libgio-2.0-0.dll +0 -0
- data/shoes/libglib-2.0-0.dll +0 -0
- data/shoes/libgmodule-2.0-0.dll +0 -0
- data/shoes/libgobject-2.0-0.dll +0 -0
- data/shoes/libgthread-2.0-0.dll +0 -0
- data/shoes/libiconv2.dll +0 -0
- data/shoes/libjpeg-8.dll +0 -0
- data/shoes/libpango-1.0-0.dll +0 -0
- data/shoes/libpangocairo-1.0-0.dll +0 -0
- data/shoes/libpangoft2-1.0-0.dll +0 -0
- data/shoes/libpangowin32-1.0-0.dll +0 -0
- data/shoes/libpng14-14.dll +0 -0
- data/shoes/libportaudio-2.dll +0 -0
- data/shoes/libshoes.dll +0 -0
- data/shoes/libssl32.dll +0 -0
- data/shoes/libungif4.dll +0 -0
- data/shoes/msvcrt-ruby191.dll +0 -0
- data/shoes/nsis/shoes.nsi +1 -1
- data/shoes/readline5.dll +0 -0
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/fast_xs.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot_scan.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/generator.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/parser.so +0 -0
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/constants.rb +0 -0
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/database.rb +152 -305
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/errors.rb +0 -24
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/pragmas.rb +16 -7
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/resultset.rb +26 -80
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/statement.rb +22 -107
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/translator.rb +6 -1
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/value.rb +0 -0
- data/shoes/ruby/gems/1.9.1/gems/{sqlite3-ruby-1.2.5-x86-mswin32 → sqlite3-ruby-1.3.0}/lib/sqlite3/version.rb +3 -3
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.3.0/lib/sqlite3.rb +11 -0
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.3.0/lib/sqlite3_native.so +0 -0
- data/shoes/ruby/gems/1.9.1/specifications/sqlite3-ruby-1.3.0.gemspec +48 -0
- data/shoes/ruby/lib/ftsearch/suffix_array_reader.rb +4 -2
- data/shoes/ruby/lib/i386-mingw32/bigdecimal.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/binject.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/bloops.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/chipmunk.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/continuation.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/coverage.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/curses.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/bubblebabble.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/md5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/rmd160.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/sha1.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest/sha2.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/digest.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/dl.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/big5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/cp949.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/emacs_mule.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/encdb.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/euc_jp.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/euc_kr.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/euc_tw.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/gb18030.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/gb2312.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/gbk.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_1.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_10.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_11.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_13.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_14.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_15.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_16.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_2.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_3.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_4.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_6.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_7.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_8.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_9.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/koi8_r.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/koi8_u.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/shift_jis.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/big5.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/chinese.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/escape.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/gb18030.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/gbk.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/iso2022.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_euc.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_sjis.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/korean.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/single_byte.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/transdb.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/trans/utf_16_32.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_16be.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_16le.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_32be.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/utf_32le.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/enc/windows_1251.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/etc.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/fcntl.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/fiber.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/ftsearchrt.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/gdbm.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/iconv.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/io/wait.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/json/ext/generator.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/json/ext/parser.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/mathn/complex.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/mathn/rational.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/nkf.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/openssl.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/racc/cparse.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/readline.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/ripper.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/sdbm.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/socket.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/stringio.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/strscan.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/syck.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/win32ole.so +0 -0
- data/shoes/ruby/lib/i386-mingw32/zlib.so +0 -0
- data/shoes/ruby/lib/rbconfig/datadir.rb +24 -24
- data/shoes/ruby/lib/rubygems/builder.rb +88 -88
- data/shoes/ruby/lib/rubygems/command.rb +406 -406
- data/shoes/ruby/lib/rubygems/command_manager.rb +146 -146
- data/shoes/ruby/lib/rubygems/commands/build_command.rb +53 -53
- data/shoes/ruby/lib/rubygems/commands/cert_command.rb +86 -86
- data/shoes/ruby/lib/rubygems/commands/check_command.rb +75 -75
- data/shoes/ruby/lib/rubygems/commands/cleanup_command.rb +91 -91
- data/shoes/ruby/lib/rubygems/commands/contents_command.rb +74 -74
- data/shoes/ruby/lib/rubygems/commands/dependency_command.rb +188 -188
- data/shoes/ruby/lib/rubygems/commands/environment_command.rb +128 -128
- data/shoes/ruby/lib/rubygems/commands/fetch_command.rb +62 -62
- data/shoes/ruby/lib/rubygems/commands/generate_index_command.rb +57 -57
- data/shoes/ruby/lib/rubygems/commands/help_command.rb +172 -172
- data/shoes/ruby/lib/rubygems/commands/install_command.rb +148 -148
- data/shoes/ruby/lib/rubygems/commands/list_command.rb +35 -35
- data/shoes/ruby/lib/rubygems/commands/lock_command.rb +110 -110
- data/shoes/ruby/lib/rubygems/commands/mirror_command.rb +111 -111
- data/shoes/ruby/lib/rubygems/commands/outdated_command.rb +33 -33
- data/shoes/ruby/lib/rubygems/commands/pristine_command.rb +93 -93
- data/shoes/ruby/lib/rubygems/commands/query_command.rb +233 -233
- data/shoes/ruby/lib/rubygems/commands/rdoc_command.rb +82 -82
- data/shoes/ruby/lib/rubygems/commands/search_command.rb +37 -37
- data/shoes/ruby/lib/rubygems/commands/server_command.rb +48 -48
- data/shoes/ruby/lib/rubygems/commands/sources_command.rb +152 -152
- data/shoes/ruby/lib/rubygems/commands/specification_command.rb +77 -77
- data/shoes/ruby/lib/rubygems/commands/stale_command.rb +27 -27
- data/shoes/ruby/lib/rubygems/commands/uninstall_command.rb +73 -73
- data/shoes/ruby/lib/rubygems/commands/unpack_command.rb +95 -95
- data/shoes/ruby/lib/rubygems/commands/update_command.rb +181 -181
- data/shoes/ruby/lib/rubygems/commands/which_command.rb +87 -87
- data/shoes/ruby/lib/rubygems/config_file.rb +266 -266
- data/shoes/ruby/lib/rubygems/custom_require.rb +46 -46
- data/shoes/ruby/lib/rubygems/defaults.rb +88 -89
- data/shoes/ruby/lib/rubygems/dependency.rb +119 -119
- data/shoes/ruby/lib/rubygems/dependency_installer.rb +258 -258
- data/shoes/ruby/lib/rubygems/dependency_list.rb +165 -165
- data/shoes/ruby/lib/rubygems/digest/digest_adapter.rb +39 -39
- data/shoes/ruby/lib/rubygems/digest/md5.rb +23 -23
- data/shoes/ruby/lib/rubygems/digest/sha1.rb +16 -16
- data/shoes/ruby/lib/rubygems/digest/sha2.rb +17 -17
- data/shoes/ruby/lib/rubygems/doc_manager.rb +214 -214
- data/shoes/ruby/lib/rubygems/exceptions.rb +84 -84
- data/shoes/ruby/lib/rubygems/ext/builder.rb +56 -56
- data/shoes/ruby/lib/rubygems/ext/configure_builder.rb +24 -24
- data/shoes/ruby/lib/rubygems/ext/ext_conf_builder.rb +23 -23
- data/shoes/ruby/lib/rubygems/ext/rake_builder.rb +27 -27
- data/shoes/ruby/lib/rubygems/ext.rb +18 -18
- data/shoes/ruby/lib/rubygems/format.rb +87 -87
- data/shoes/ruby/lib/rubygems/gem_openssl.rb +83 -83
- data/shoes/ruby/lib/rubygems/gem_path_searcher.rb +100 -100
- data/shoes/ruby/lib/rubygems/gem_runner.rb +58 -58
- data/shoes/ruby/lib/rubygems/indexer.rb +370 -370
- data/shoes/ruby/lib/rubygems/install_update_options.rb +113 -113
- data/shoes/ruby/lib/rubygems/installer.rb +575 -578
- data/shoes/ruby/lib/rubygems/local_remote_options.rb +134 -134
- data/shoes/ruby/lib/rubygems/old_format.rb +148 -148
- data/shoes/ruby/lib/rubygems/package/f_sync_dir.rb +24 -24
- data/shoes/ruby/lib/rubygems/package/tar_header.rb +245 -245
- data/shoes/ruby/lib/rubygems/package/tar_input.rb +219 -219
- data/shoes/ruby/lib/rubygems/package/tar_output.rb +143 -143
- data/shoes/ruby/lib/rubygems/package/tar_reader/entry.rb +99 -99
- data/shoes/ruby/lib/rubygems/package/tar_reader.rb +86 -86
- data/shoes/ruby/lib/rubygems/package/tar_writer.rb +180 -180
- data/shoes/ruby/lib/rubygems/package.rb +95 -95
- data/shoes/ruby/lib/rubygems/platform.rb +178 -178
- data/shoes/ruby/lib/rubygems/remote_fetcher.rb +344 -344
- data/shoes/ruby/lib/rubygems/require_paths_builder.rb +14 -14
- data/shoes/ruby/lib/rubygems/requirement.rb +163 -163
- data/shoes/ruby/lib/rubygems/rubygems_version.rb +6 -6
- data/shoes/ruby/lib/rubygems/security.rb +786 -786
- data/shoes/ruby/lib/rubygems/server.rb +629 -629
- data/shoes/ruby/lib/rubygems/source_index.rb +559 -559
- data/shoes/ruby/lib/rubygems/source_info_cache.rb +393 -393
- data/shoes/ruby/lib/rubygems/source_info_cache_entry.rb +56 -56
- data/shoes/ruby/lib/rubygems/spec_fetcher.rb +249 -249
- data/shoes/ruby/lib/rubygems/specification.rb +1264 -1262
- data/shoes/ruby/lib/rubygems/test_utilities.rb +131 -131
- data/shoes/ruby/lib/rubygems/timer.rb +25 -25
- data/shoes/ruby/lib/rubygems/uninstaller.rb +242 -242
- data/shoes/ruby/lib/rubygems/user_interaction.rb +360 -360
- data/shoes/ruby/lib/rubygems/validator.rb +209 -208
- data/shoes/ruby/lib/rubygems/version.rb +167 -167
- data/shoes/ruby/lib/rubygems/version_option.rb +48 -48
- data/shoes/ruby/lib/rubygems.rb +889 -888
- data/shoes/ruby/lib/ubygems.rb +10 -10
- data/shoes/samples/simple-sqlite3.rb +13 -0
- data/shoes/shoes.exe +0 -0
- data/shoes/sqlite3.dll +0 -0
- data/shoes/static/manual-en.txt +1 -1
- data/shoes/zlib.dll +0 -0
- data/shoes/zlib1.dll +0 -0
- metadata +17 -19
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/api.rb +0 -152
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/driver.rb +0 -307
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/native/driver.rb +0 -219
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3.rb +0 -1
- data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3_api.so +0 -0
- data/shoes/ruby/gems/1.9.1/specifications/sqlite3-ruby-1.2.5-x86-mswin32.gemspec +0 -46
@@ -1,148 +1,148 @@
|
|
1
|
-
require 'rubygems/command'
|
2
|
-
require 'rubygems/doc_manager'
|
3
|
-
require 'rubygems/install_update_options'
|
4
|
-
require 'rubygems/dependency_installer'
|
5
|
-
require 'rubygems/local_remote_options'
|
6
|
-
require 'rubygems/validator'
|
7
|
-
require 'rubygems/version_option'
|
8
|
-
|
9
|
-
class Gem::Commands::InstallCommand < Gem::Command
|
10
|
-
|
11
|
-
include Gem::VersionOption
|
12
|
-
include Gem::LocalRemoteOptions
|
13
|
-
include Gem::InstallUpdateOptions
|
14
|
-
|
15
|
-
def initialize
|
16
|
-
defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
|
17
|
-
:generate_rdoc => true,
|
18
|
-
:generate_ri => true,
|
19
|
-
:format_executable => false,
|
20
|
-
:test => false,
|
21
|
-
:version => Gem::Requirement.default,
|
22
|
-
})
|
23
|
-
|
24
|
-
super 'install', 'Install a gem into the local repository', defaults
|
25
|
-
|
26
|
-
add_install_update_options
|
27
|
-
add_local_remote_options
|
28
|
-
add_platform_option
|
29
|
-
add_version_option
|
30
|
-
end
|
31
|
-
|
32
|
-
def arguments # :nodoc:
|
33
|
-
"GEMNAME name of gem to install"
|
34
|
-
end
|
35
|
-
|
36
|
-
def defaults_str # :nodoc:
|
37
|
-
"--both --version '#{Gem::Requirement.default}' --rdoc --ri --no-force\n" \
|
38
|
-
"--no-test --install-dir #{Gem.dir}"
|
39
|
-
end
|
40
|
-
|
41
|
-
def description # :nodoc:
|
42
|
-
<<-EOF
|
43
|
-
The install command installs local or remote gem into a gem repository.
|
44
|
-
|
45
|
-
For gems with executables ruby installs a wrapper file into the executable
|
46
|
-
directory by deault. This can be overridden with the --no-wrappers option.
|
47
|
-
The wrapper allows you to choose among alternate gem versions using _version_.
|
48
|
-
|
49
|
-
For example `rake _0.7.3_ --version` will run rake version 0.7.3 if a newer
|
50
|
-
version is also installed.
|
51
|
-
EOF
|
52
|
-
end
|
53
|
-
|
54
|
-
def usage # :nodoc:
|
55
|
-
"#{program_name} GEMNAME [GEMNAME ...] [options] -- --build-flags"
|
56
|
-
end
|
57
|
-
|
58
|
-
def execute
|
59
|
-
if options[:include_dependencies] then
|
60
|
-
alert "`gem install -y` is now default and will be removed"
|
61
|
-
alert "use --ignore-dependencies to install only the gems you list"
|
62
|
-
end
|
63
|
-
|
64
|
-
installed_gems = []
|
65
|
-
|
66
|
-
ENV.delete 'GEM_PATH' if options[:install_dir].nil? and RUBY_VERSION > '1.9'
|
67
|
-
|
68
|
-
install_options = {
|
69
|
-
:env_shebang => options[:env_shebang],
|
70
|
-
:domain => options[:domain],
|
71
|
-
:force => options[:force],
|
72
|
-
:format_executable => options[:format_executable],
|
73
|
-
:ignore_dependencies => options[:ignore_dependencies],
|
74
|
-
:install_dir => options[:install_dir],
|
75
|
-
:security_policy => options[:security_policy],
|
76
|
-
:wrappers => options[:wrappers],
|
77
|
-
:bin_dir => options[:bin_dir],
|
78
|
-
:development => options[:development],
|
79
|
-
}
|
80
|
-
|
81
|
-
exit_code = 0
|
82
|
-
|
83
|
-
get_all_gem_names.each do |gem_name|
|
84
|
-
begin
|
85
|
-
inst = Gem::DependencyInstaller.new install_options
|
86
|
-
inst.install gem_name, options[:version]
|
87
|
-
|
88
|
-
inst.installed_gems.each do |spec|
|
89
|
-
say "Successfully installed #{spec.full_name}"
|
90
|
-
end
|
91
|
-
|
92
|
-
installed_gems.push(*inst.installed_gems)
|
93
|
-
rescue Gem::InstallError => e
|
94
|
-
alert_error "Error installing #{gem_name}:\n\t#{e.message}"
|
95
|
-
exit_code |= 1
|
96
|
-
rescue Gem::GemNotFoundException => e
|
97
|
-
alert_error e.message
|
98
|
-
exit_code |= 2
|
99
|
-
# rescue => e
|
100
|
-
# # TODO: Fix this handle to allow the error to propagate to
|
101
|
-
# # the top level handler. Examine the other errors as
|
102
|
-
# # well. This implementation here looks suspicious to me --
|
103
|
-
# # JimWeirich (4/Jan/05)
|
104
|
-
# alert_error "Error installing gem #{gem_name}: #{e.message}"
|
105
|
-
# return
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
unless installed_gems.empty? then
|
110
|
-
gems = installed_gems.length == 1 ? 'gem' : 'gems'
|
111
|
-
say "#{installed_gems.length} #{gems} installed"
|
112
|
-
end
|
113
|
-
|
114
|
-
# NOTE: *All* of the RI documents must be generated first.
|
115
|
-
# For some reason, RI docs cannot be generated after any RDoc
|
116
|
-
# documents are generated.
|
117
|
-
|
118
|
-
if options[:generate_ri] then
|
119
|
-
installed_gems.each do |gem|
|
120
|
-
Gem::DocManager.new(gem, options[:rdoc_args]).generate_ri
|
121
|
-
end
|
122
|
-
|
123
|
-
Gem::DocManager.update_ri_cache
|
124
|
-
end
|
125
|
-
|
126
|
-
if options[:generate_rdoc] then
|
127
|
-
installed_gems.each do |gem|
|
128
|
-
Gem::DocManager.new(gem, options[:rdoc_args]).generate_rdoc
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
if options[:test] then
|
133
|
-
installed_gems.each do |spec|
|
134
|
-
gem_spec = Gem::SourceIndex.from_installed_gems.search(spec.name, spec.version.version).first
|
135
|
-
result = Gem::Validator.new.unit_test(gem_spec)
|
136
|
-
if result and not result.passed?
|
137
|
-
unless ask_yes_no("...keep Gem?", true) then
|
138
|
-
Gem::Uninstaller.new(spec.name, :version => spec.version.version).uninstall
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
raise Gem::SystemExitException, exit_code
|
145
|
-
end
|
146
|
-
|
147
|
-
end
|
148
|
-
|
1
|
+
require 'rubygems/command'
|
2
|
+
require 'rubygems/doc_manager'
|
3
|
+
require 'rubygems/install_update_options'
|
4
|
+
require 'rubygems/dependency_installer'
|
5
|
+
require 'rubygems/local_remote_options'
|
6
|
+
require 'rubygems/validator'
|
7
|
+
require 'rubygems/version_option'
|
8
|
+
|
9
|
+
class Gem::Commands::InstallCommand < Gem::Command
|
10
|
+
|
11
|
+
include Gem::VersionOption
|
12
|
+
include Gem::LocalRemoteOptions
|
13
|
+
include Gem::InstallUpdateOptions
|
14
|
+
|
15
|
+
def initialize
|
16
|
+
defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
|
17
|
+
:generate_rdoc => true,
|
18
|
+
:generate_ri => true,
|
19
|
+
:format_executable => false,
|
20
|
+
:test => false,
|
21
|
+
:version => Gem::Requirement.default,
|
22
|
+
})
|
23
|
+
|
24
|
+
super 'install', 'Install a gem into the local repository', defaults
|
25
|
+
|
26
|
+
add_install_update_options
|
27
|
+
add_local_remote_options
|
28
|
+
add_platform_option
|
29
|
+
add_version_option
|
30
|
+
end
|
31
|
+
|
32
|
+
def arguments # :nodoc:
|
33
|
+
"GEMNAME name of gem to install"
|
34
|
+
end
|
35
|
+
|
36
|
+
def defaults_str # :nodoc:
|
37
|
+
"--both --version '#{Gem::Requirement.default}' --rdoc --ri --no-force\n" \
|
38
|
+
"--no-test --install-dir #{Gem.dir}"
|
39
|
+
end
|
40
|
+
|
41
|
+
def description # :nodoc:
|
42
|
+
<<-EOF
|
43
|
+
The install command installs local or remote gem into a gem repository.
|
44
|
+
|
45
|
+
For gems with executables ruby installs a wrapper file into the executable
|
46
|
+
directory by deault. This can be overridden with the --no-wrappers option.
|
47
|
+
The wrapper allows you to choose among alternate gem versions using _version_.
|
48
|
+
|
49
|
+
For example `rake _0.7.3_ --version` will run rake version 0.7.3 if a newer
|
50
|
+
version is also installed.
|
51
|
+
EOF
|
52
|
+
end
|
53
|
+
|
54
|
+
def usage # :nodoc:
|
55
|
+
"#{program_name} GEMNAME [GEMNAME ...] [options] -- --build-flags"
|
56
|
+
end
|
57
|
+
|
58
|
+
def execute
|
59
|
+
if options[:include_dependencies] then
|
60
|
+
alert "`gem install -y` is now default and will be removed"
|
61
|
+
alert "use --ignore-dependencies to install only the gems you list"
|
62
|
+
end
|
63
|
+
|
64
|
+
installed_gems = []
|
65
|
+
|
66
|
+
ENV.delete 'GEM_PATH' if options[:install_dir].nil? and RUBY_VERSION > '1.9'
|
67
|
+
|
68
|
+
install_options = {
|
69
|
+
:env_shebang => options[:env_shebang],
|
70
|
+
:domain => options[:domain],
|
71
|
+
:force => options[:force],
|
72
|
+
:format_executable => options[:format_executable],
|
73
|
+
:ignore_dependencies => options[:ignore_dependencies],
|
74
|
+
:install_dir => options[:install_dir],
|
75
|
+
:security_policy => options[:security_policy],
|
76
|
+
:wrappers => options[:wrappers],
|
77
|
+
:bin_dir => options[:bin_dir],
|
78
|
+
:development => options[:development],
|
79
|
+
}
|
80
|
+
|
81
|
+
exit_code = 0
|
82
|
+
|
83
|
+
get_all_gem_names.each do |gem_name|
|
84
|
+
begin
|
85
|
+
inst = Gem::DependencyInstaller.new install_options
|
86
|
+
inst.install gem_name, options[:version]
|
87
|
+
|
88
|
+
inst.installed_gems.each do |spec|
|
89
|
+
say "Successfully installed #{spec.full_name}"
|
90
|
+
end
|
91
|
+
|
92
|
+
installed_gems.push(*inst.installed_gems)
|
93
|
+
rescue Gem::InstallError => e
|
94
|
+
alert_error "Error installing #{gem_name}:\n\t#{e.message}"
|
95
|
+
exit_code |= 1
|
96
|
+
rescue Gem::GemNotFoundException => e
|
97
|
+
alert_error e.message
|
98
|
+
exit_code |= 2
|
99
|
+
# rescue => e
|
100
|
+
# # TODO: Fix this handle to allow the error to propagate to
|
101
|
+
# # the top level handler. Examine the other errors as
|
102
|
+
# # well. This implementation here looks suspicious to me --
|
103
|
+
# # JimWeirich (4/Jan/05)
|
104
|
+
# alert_error "Error installing gem #{gem_name}: #{e.message}"
|
105
|
+
# return
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
unless installed_gems.empty? then
|
110
|
+
gems = installed_gems.length == 1 ? 'gem' : 'gems'
|
111
|
+
say "#{installed_gems.length} #{gems} installed"
|
112
|
+
end
|
113
|
+
|
114
|
+
# NOTE: *All* of the RI documents must be generated first.
|
115
|
+
# For some reason, RI docs cannot be generated after any RDoc
|
116
|
+
# documents are generated.
|
117
|
+
|
118
|
+
if options[:generate_ri] then
|
119
|
+
installed_gems.each do |gem|
|
120
|
+
Gem::DocManager.new(gem, options[:rdoc_args]).generate_ri
|
121
|
+
end
|
122
|
+
|
123
|
+
Gem::DocManager.update_ri_cache
|
124
|
+
end
|
125
|
+
|
126
|
+
if options[:generate_rdoc] then
|
127
|
+
installed_gems.each do |gem|
|
128
|
+
Gem::DocManager.new(gem, options[:rdoc_args]).generate_rdoc
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
if options[:test] then
|
133
|
+
installed_gems.each do |spec|
|
134
|
+
gem_spec = Gem::SourceIndex.from_installed_gems.search(spec.name, spec.version.version).first
|
135
|
+
result = Gem::Validator.new.unit_test(gem_spec)
|
136
|
+
if result and not result.passed?
|
137
|
+
unless ask_yes_no("...keep Gem?", true) then
|
138
|
+
Gem::Uninstaller.new(spec.name, :version => spec.version.version).uninstall
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
raise Gem::SystemExitException, exit_code
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
148
|
+
|
@@ -1,35 +1,35 @@
|
|
1
|
-
require 'rubygems/command'
|
2
|
-
require 'rubygems/commands/query_command'
|
3
|
-
|
4
|
-
##
|
5
|
-
# An alternate to Gem::Commands::QueryCommand that searches for gems starting
|
6
|
-
# with the the supplied argument.
|
7
|
-
|
8
|
-
class Gem::Commands::ListCommand < Gem::Commands::QueryCommand
|
9
|
-
|
10
|
-
def initialize
|
11
|
-
super 'list', 'Display gems whose name starts with STRING'
|
12
|
-
|
13
|
-
remove_option('--name-matches')
|
14
|
-
end
|
15
|
-
|
16
|
-
def arguments # :nodoc:
|
17
|
-
"STRING start of gem name to look for"
|
18
|
-
end
|
19
|
-
|
20
|
-
def defaults_str # :nodoc:
|
21
|
-
"--local --no-details"
|
22
|
-
end
|
23
|
-
|
24
|
-
def usage # :nodoc:
|
25
|
-
"#{program_name} [STRING]"
|
26
|
-
end
|
27
|
-
|
28
|
-
def execute
|
29
|
-
string = get_one_optional_argument || ''
|
30
|
-
options[:name] = /^#{string}/i
|
31
|
-
super
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
|
1
|
+
require 'rubygems/command'
|
2
|
+
require 'rubygems/commands/query_command'
|
3
|
+
|
4
|
+
##
|
5
|
+
# An alternate to Gem::Commands::QueryCommand that searches for gems starting
|
6
|
+
# with the the supplied argument.
|
7
|
+
|
8
|
+
class Gem::Commands::ListCommand < Gem::Commands::QueryCommand
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
super 'list', 'Display gems whose name starts with STRING'
|
12
|
+
|
13
|
+
remove_option('--name-matches')
|
14
|
+
end
|
15
|
+
|
16
|
+
def arguments # :nodoc:
|
17
|
+
"STRING start of gem name to look for"
|
18
|
+
end
|
19
|
+
|
20
|
+
def defaults_str # :nodoc:
|
21
|
+
"--local --no-details"
|
22
|
+
end
|
23
|
+
|
24
|
+
def usage # :nodoc:
|
25
|
+
"#{program_name} [STRING]"
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute
|
29
|
+
string = get_one_optional_argument || ''
|
30
|
+
options[:name] = /^#{string}/i
|
31
|
+
super
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
@@ -1,110 +1,110 @@
|
|
1
|
-
require 'rubygems/command'
|
2
|
-
|
3
|
-
class Gem::Commands::LockCommand < Gem::Command
|
4
|
-
|
5
|
-
def initialize
|
6
|
-
super 'lock', 'Generate a lockdown list of gems',
|
7
|
-
:strict => false
|
8
|
-
|
9
|
-
add_option '-s', '--[no-]strict',
|
10
|
-
'fail if unable to satisfy a dependency' do |strict, options|
|
11
|
-
options[:strict] = strict
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def arguments # :nodoc:
|
16
|
-
"GEMNAME name of gem to lock\nVERSION version of gem to lock"
|
17
|
-
end
|
18
|
-
|
19
|
-
def defaults_str # :nodoc:
|
20
|
-
"--no-strict"
|
21
|
-
end
|
22
|
-
|
23
|
-
def description # :nodoc:
|
24
|
-
<<-EOF
|
25
|
-
The lock command will generate a list of +gem+ statements that will lock down
|
26
|
-
the versions for the gem given in the command line. It will specify exact
|
27
|
-
versions in the requirements list to ensure that the gems loaded will always
|
28
|
-
be consistent. A full recursive search of all effected gems will be
|
29
|
-
generated.
|
30
|
-
|
31
|
-
Example:
|
32
|
-
|
33
|
-
gemlock rails-1.0.0 > lockdown.rb
|
34
|
-
|
35
|
-
will produce in lockdown.rb:
|
36
|
-
|
37
|
-
require "rubygems"
|
38
|
-
gem 'rails', '= 1.0.0'
|
39
|
-
gem 'rake', '= 0.7.0.1'
|
40
|
-
gem 'activesupport', '= 1.2.5'
|
41
|
-
gem 'activerecord', '= 1.13.2'
|
42
|
-
gem 'actionpack', '= 1.11.2'
|
43
|
-
gem 'actionmailer', '= 1.1.5'
|
44
|
-
gem 'actionwebservice', '= 1.0.0'
|
45
|
-
|
46
|
-
Just load lockdown.rb from your application to ensure that the current
|
47
|
-
versions are loaded. Make sure that lockdown.rb is loaded *before* any
|
48
|
-
other require statements.
|
49
|
-
|
50
|
-
Notice that rails 1.0.0 only requires that rake 0.6.2 or better be used.
|
51
|
-
Rake-0.7.0.1 is the most recent version installed that satisfies that, so we
|
52
|
-
lock it down to the exact version.
|
53
|
-
EOF
|
54
|
-
end
|
55
|
-
|
56
|
-
def usage # :nodoc:
|
57
|
-
"#{program_name} GEMNAME-VERSION [GEMNAME-VERSION ...]"
|
58
|
-
end
|
59
|
-
|
60
|
-
def complain(message)
|
61
|
-
if options[:strict] then
|
62
|
-
raise Gem::Exception, message
|
63
|
-
else
|
64
|
-
say "# #{message}"
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
def execute
|
69
|
-
say "require 'rubygems'"
|
70
|
-
|
71
|
-
locked = {}
|
72
|
-
|
73
|
-
pending = options[:args]
|
74
|
-
|
75
|
-
until pending.empty? do
|
76
|
-
full_name = pending.shift
|
77
|
-
|
78
|
-
spec = Gem::SourceIndex.load_specification spec_path(full_name)
|
79
|
-
|
80
|
-
if spec.nil? then
|
81
|
-
complain "Could not find gem #{full_name}, try using the full name"
|
82
|
-
next
|
83
|
-
end
|
84
|
-
|
85
|
-
say "gem '#{spec.name}', '= #{spec.version}'" unless locked[spec.name]
|
86
|
-
locked[spec.name] = true
|
87
|
-
|
88
|
-
spec.runtime_dependencies.each do |dep|
|
89
|
-
next if locked[dep.name]
|
90
|
-
candidates = Gem.source_index.search dep
|
91
|
-
|
92
|
-
if candidates.empty? then
|
93
|
-
complain "Unable to satisfy '#{dep}' from currently installed gems"
|
94
|
-
else
|
95
|
-
pending << candidates.last.full_name
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
def spec_path(gem_full_name)
|
102
|
-
gemspecs = Gem.path.map do |path|
|
103
|
-
File.join path, "specifications", "#{gem_full_name}.gemspec"
|
104
|
-
end
|
105
|
-
|
106
|
-
gemspecs.find { |gemspec| File.exist? gemspec }
|
107
|
-
end
|
108
|
-
|
109
|
-
end
|
110
|
-
|
1
|
+
require 'rubygems/command'
|
2
|
+
|
3
|
+
class Gem::Commands::LockCommand < Gem::Command
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
super 'lock', 'Generate a lockdown list of gems',
|
7
|
+
:strict => false
|
8
|
+
|
9
|
+
add_option '-s', '--[no-]strict',
|
10
|
+
'fail if unable to satisfy a dependency' do |strict, options|
|
11
|
+
options[:strict] = strict
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def arguments # :nodoc:
|
16
|
+
"GEMNAME name of gem to lock\nVERSION version of gem to lock"
|
17
|
+
end
|
18
|
+
|
19
|
+
def defaults_str # :nodoc:
|
20
|
+
"--no-strict"
|
21
|
+
end
|
22
|
+
|
23
|
+
def description # :nodoc:
|
24
|
+
<<-EOF
|
25
|
+
The lock command will generate a list of +gem+ statements that will lock down
|
26
|
+
the versions for the gem given in the command line. It will specify exact
|
27
|
+
versions in the requirements list to ensure that the gems loaded will always
|
28
|
+
be consistent. A full recursive search of all effected gems will be
|
29
|
+
generated.
|
30
|
+
|
31
|
+
Example:
|
32
|
+
|
33
|
+
gemlock rails-1.0.0 > lockdown.rb
|
34
|
+
|
35
|
+
will produce in lockdown.rb:
|
36
|
+
|
37
|
+
require "rubygems"
|
38
|
+
gem 'rails', '= 1.0.0'
|
39
|
+
gem 'rake', '= 0.7.0.1'
|
40
|
+
gem 'activesupport', '= 1.2.5'
|
41
|
+
gem 'activerecord', '= 1.13.2'
|
42
|
+
gem 'actionpack', '= 1.11.2'
|
43
|
+
gem 'actionmailer', '= 1.1.5'
|
44
|
+
gem 'actionwebservice', '= 1.0.0'
|
45
|
+
|
46
|
+
Just load lockdown.rb from your application to ensure that the current
|
47
|
+
versions are loaded. Make sure that lockdown.rb is loaded *before* any
|
48
|
+
other require statements.
|
49
|
+
|
50
|
+
Notice that rails 1.0.0 only requires that rake 0.6.2 or better be used.
|
51
|
+
Rake-0.7.0.1 is the most recent version installed that satisfies that, so we
|
52
|
+
lock it down to the exact version.
|
53
|
+
EOF
|
54
|
+
end
|
55
|
+
|
56
|
+
def usage # :nodoc:
|
57
|
+
"#{program_name} GEMNAME-VERSION [GEMNAME-VERSION ...]"
|
58
|
+
end
|
59
|
+
|
60
|
+
def complain(message)
|
61
|
+
if options[:strict] then
|
62
|
+
raise Gem::Exception, message
|
63
|
+
else
|
64
|
+
say "# #{message}"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def execute
|
69
|
+
say "require 'rubygems'"
|
70
|
+
|
71
|
+
locked = {}
|
72
|
+
|
73
|
+
pending = options[:args]
|
74
|
+
|
75
|
+
until pending.empty? do
|
76
|
+
full_name = pending.shift
|
77
|
+
|
78
|
+
spec = Gem::SourceIndex.load_specification spec_path(full_name)
|
79
|
+
|
80
|
+
if spec.nil? then
|
81
|
+
complain "Could not find gem #{full_name}, try using the full name"
|
82
|
+
next
|
83
|
+
end
|
84
|
+
|
85
|
+
say "gem '#{spec.name}', '= #{spec.version}'" unless locked[spec.name]
|
86
|
+
locked[spec.name] = true
|
87
|
+
|
88
|
+
spec.runtime_dependencies.each do |dep|
|
89
|
+
next if locked[dep.name]
|
90
|
+
candidates = Gem.source_index.search dep
|
91
|
+
|
92
|
+
if candidates.empty? then
|
93
|
+
complain "Unable to satisfy '#{dep}' from currently installed gems"
|
94
|
+
else
|
95
|
+
pending << candidates.last.full_name
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def spec_path(gem_full_name)
|
102
|
+
gemspecs = Gem.path.map do |path|
|
103
|
+
File.join path, "specifications", "#{gem_full_name}.gemspec"
|
104
|
+
end
|
105
|
+
|
106
|
+
gemspecs.find { |gemspec| File.exist? gemspec }
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
110
|
+
|