libgems 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/libgems.rb +14 -5
- data/lib/libgems/installer.rb +1 -10
- data/lib/libgems/specification.rb +7 -6
- data/test/test_gem.rb +26 -0
- metadata +3 -6
- data/lib/libgems/gem_runner.rb +0 -79
- data/test/test_gem_gem_runner.rb +0 -45
data/lib/libgems.rb
CHANGED
@@ -98,7 +98,7 @@ require 'thread'
|
|
98
98
|
module LibGems
|
99
99
|
NAME = 'LibGems'
|
100
100
|
GEM_NAME = 'libgems'
|
101
|
-
VERSION = '0.0.
|
101
|
+
VERSION = '0.0.2'
|
102
102
|
GEM_VERSION = '1.3.8'
|
103
103
|
|
104
104
|
##
|
@@ -417,7 +417,7 @@ module LibGems
|
|
417
417
|
# The standard configuration object for gems.
|
418
418
|
|
419
419
|
def self.configuration
|
420
|
-
@configuration
|
420
|
+
@configuration || load_configuration
|
421
421
|
end
|
422
422
|
|
423
423
|
##
|
@@ -425,7 +425,15 @@ module LibGems
|
|
425
425
|
# protocol) as the standard configuration object.
|
426
426
|
|
427
427
|
def self.configuration=(config)
|
428
|
-
|
428
|
+
load_configuration(config)
|
429
|
+
end
|
430
|
+
|
431
|
+
def self.load_configuration(config=nil)
|
432
|
+
@configuration = config || LibGems::ConfigFile.new([])
|
433
|
+
LibGems.use_paths(@configuration[:gemhome], @configuration[:gempath])
|
434
|
+
LibGems::Command.extra_args = @configuration[:gem]
|
435
|
+
LibGems::DocManager.configured_args = @configuration[:rdoc]
|
436
|
+
@configuration
|
429
437
|
end
|
430
438
|
|
431
439
|
##
|
@@ -450,7 +458,6 @@ module LibGems
|
|
450
458
|
# The path where gems are to be installed.
|
451
459
|
|
452
460
|
def self.dir
|
453
|
-
@gem_home ||= nil
|
454
461
|
set_home(ENV['LIBGEMS_HOME'] || ENV['GEM_HOME'] || LibGems.configuration.home || default_dir) unless @gem_home
|
455
462
|
@gem_home
|
456
463
|
end
|
@@ -1149,6 +1156,8 @@ module LibGems
|
|
1149
1156
|
autoload :Platform, 'libgems/platform'
|
1150
1157
|
autoload :Builder, 'libgems/builder'
|
1151
1158
|
autoload :ConfigFile, 'libgems/config_file'
|
1159
|
+
autoload :Command, 'libgems/command'
|
1160
|
+
autoload :DocManager, 'libgems/doc_manager'
|
1152
1161
|
end
|
1153
1162
|
|
1154
1163
|
module ::Kernel
|
@@ -1243,4 +1252,4 @@ class << LibGems
|
|
1243
1252
|
end
|
1244
1253
|
|
1245
1254
|
LibGems.clear_paths
|
1246
|
-
|
1255
|
+
LibGems.load_configuration
|
data/lib/libgems/installer.rb
CHANGED
@@ -178,16 +178,7 @@ class LibGems::Installer
|
|
178
178
|
FileUtils.cp @gem, File.join(@gem_home, "cache")
|
179
179
|
end
|
180
180
|
|
181
|
-
unless @spec.post_install_message.nil?
|
182
|
-
# Only for SlimGems
|
183
|
-
if @spec.name == LibGems::GEM_NAME
|
184
|
-
lines = @spec.post_install_message.split("\n")
|
185
|
-
lines.shift if lines.first.include?("Upgraded from #{LibGems::NAME}")
|
186
|
-
say lines.join("\n")
|
187
|
-
else
|
188
|
-
say @spec.post_install_message
|
189
|
-
end
|
190
|
-
end
|
181
|
+
say @spec.post_install_message unless @spec.post_install_message.nil?
|
191
182
|
|
192
183
|
@spec.loaded_from = File.join(@gem_home, 'specifications', @spec.spec_name)
|
193
184
|
|
@@ -703,11 +703,12 @@ class LibGems::Specification
|
|
703
703
|
if YAML.const_defined?(:ENGINE) && !YAML::ENGINE.syck? then
|
704
704
|
super.gsub(/ !!null \n/, " \n")
|
705
705
|
else
|
706
|
-
YAML.quick_emit object_id, opts do |out|
|
706
|
+
ret = YAML.quick_emit object_id, opts do |out|
|
707
707
|
out.map taguri, to_yaml_style do |map|
|
708
708
|
encode_with map
|
709
709
|
end
|
710
710
|
end
|
711
|
+
ret.gsub("!ruby/object:LibGems", "!ruby/object:Gem")
|
711
712
|
end
|
712
713
|
end
|
713
714
|
|
@@ -734,7 +735,7 @@ class LibGems::Specification
|
|
734
735
|
result = []
|
735
736
|
result << "# -*- encoding: utf-8 -*-"
|
736
737
|
result << nil
|
737
|
-
result << "
|
738
|
+
result << "Gem::Specification.new do |s|"
|
738
739
|
|
739
740
|
result << " s.name = #{ruby_code name}"
|
740
741
|
result << " s.version = #{ruby_code version}"
|
@@ -769,7 +770,7 @@ class LibGems::Specification
|
|
769
770
|
result << " s.specification_version = #{specification_version}"
|
770
771
|
result << nil
|
771
772
|
|
772
|
-
result << " if
|
773
|
+
result << " if Gem::Version.new(Gem::GEM_VERSION) >= Gem::Version.new('1.2.0') then"
|
773
774
|
|
774
775
|
unless dependencies.empty? then
|
775
776
|
dependencies.each do |dep|
|
@@ -1041,13 +1042,13 @@ class LibGems::Specification
|
|
1041
1042
|
case obj
|
1042
1043
|
when String then '%q{' + obj + '}'
|
1043
1044
|
when Array then obj.inspect
|
1044
|
-
when LibGems::Version
|
1045
|
+
when LibGems::Version then obj.to_s.inspect.gsub("LibGems", "Gem")
|
1045
1046
|
when Date then '%q{' + obj.strftime('%Y-%m-%d') + '}'
|
1046
1047
|
when Time then '%q{' + obj.strftime('%Y-%m-%d') + '}'
|
1047
1048
|
when Numeric then obj.inspect
|
1048
1049
|
when true, false, nil then obj.inspect
|
1049
|
-
when LibGems::Platform then "
|
1050
|
-
when LibGems::Requirement then "
|
1050
|
+
when LibGems::Platform then "Gem::Platform.new(#{obj.to_a.inspect})"
|
1051
|
+
when LibGems::Requirement then "Gem::Requirement.new(#{obj.to_s.inspect})"
|
1051
1052
|
else raise LibGems::Exception, "ruby_code case not handled: #{obj.class}"
|
1052
1053
|
end
|
1053
1054
|
end
|
data/test/test_gem.rb
CHANGED
@@ -135,6 +135,32 @@ class TestGem < RubyGemTestCase
|
|
135
135
|
assert_equal expected, LibGems.configuration
|
136
136
|
end
|
137
137
|
|
138
|
+
def test_do_configuration
|
139
|
+
LibGems.clear_paths
|
140
|
+
|
141
|
+
temp_conf = File.join @tempdir, '.gemrc'
|
142
|
+
|
143
|
+
other_gem_path = File.join @tempdir, 'other_gem_path'
|
144
|
+
other_gem_home = File.join @tempdir, 'other_gem_home'
|
145
|
+
|
146
|
+
LibGems.ensure_gem_subdirectories other_gem_path
|
147
|
+
LibGems.ensure_gem_subdirectories other_gem_home
|
148
|
+
|
149
|
+
File.open temp_conf, 'w' do |fp|
|
150
|
+
fp.puts "gem: --commands"
|
151
|
+
fp.puts "gemhome: #{other_gem_home}"
|
152
|
+
fp.puts "gempath:"
|
153
|
+
fp.puts " - #{other_gem_path}"
|
154
|
+
fp.puts "rdoc: --all"
|
155
|
+
end
|
156
|
+
|
157
|
+
LibGems.configuration = LibGems::ConfigFile.new %W[--config-file #{temp_conf}]
|
158
|
+
|
159
|
+
assert_equal [other_gem_path, other_gem_home], LibGems.path
|
160
|
+
assert_equal %w[--commands], LibGems::Command.extra_args
|
161
|
+
assert_equal %w[--all], LibGems::DocManager.configured_args
|
162
|
+
end
|
163
|
+
|
138
164
|
def test_self_datadir
|
139
165
|
foo = nil
|
140
166
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: libgems
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jim Weirich
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2011-06-
|
16
|
+
date: 2011-06-11 00:00:00 Z
|
17
17
|
dependencies: []
|
18
18
|
|
19
19
|
description: |
|
@@ -163,7 +163,6 @@ files:
|
|
163
163
|
- lib/libgems/format.rb
|
164
164
|
- lib/libgems/gem_openssl.rb
|
165
165
|
- lib/libgems/gem_path_searcher.rb
|
166
|
-
- lib/libgems/gem_runner.rb
|
167
166
|
- lib/libgems/gemcutter_utilities.rb
|
168
167
|
- lib/libgems/indexer.rb
|
169
168
|
- lib/libgems/install_update_options.rb
|
@@ -256,7 +255,6 @@ files:
|
|
256
255
|
- test/test_gem_ext_rake_builder.rb
|
257
256
|
- test/test_gem_format.rb
|
258
257
|
- test/test_gem_gem_path_searcher.rb
|
259
|
-
- test/test_gem_gem_runner.rb
|
260
258
|
- test/test_gem_gemcutter_utilities.rb
|
261
259
|
- test/test_gem_indexer.rb
|
262
260
|
- test/test_gem_install_update_options.rb
|
@@ -292,7 +290,7 @@ files:
|
|
292
290
|
homepage: http://rubygems.org
|
293
291
|
licenses: []
|
294
292
|
|
295
|
-
post_install_message: "Upgraded from LibGems to LibGems 0.0.
|
293
|
+
post_install_message: "Upgraded from LibGems to LibGems 0.0.2\n\
|
296
294
|
\xEF\xBB\xBF=== 1.3.8 / 2011-05-16\n\n\
|
297
295
|
SlimGems is born! SlimGems is a fork of RubyGems, see README.md for more.\n\n"
|
298
296
|
rdoc_options: []
|
@@ -372,7 +370,6 @@ test_files:
|
|
372
370
|
- test/test_gem_ext_rake_builder.rb
|
373
371
|
- test/test_gem_format.rb
|
374
372
|
- test/test_gem_gem_path_searcher.rb
|
375
|
-
- test/test_gem_gem_runner.rb
|
376
373
|
- test/test_gem_gemcutter_utilities.rb
|
377
374
|
- test/test_gem_indexer.rb
|
378
375
|
- test/test_gem_install_update_options.rb
|
data/lib/libgems/gem_runner.rb
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
3
|
-
# All rights reserved.
|
4
|
-
# See LICENSE.txt for permissions.
|
5
|
-
#++
|
6
|
-
|
7
|
-
require 'libgems/command_manager'
|
8
|
-
require 'libgems/config_file'
|
9
|
-
require 'libgems/doc_manager'
|
10
|
-
|
11
|
-
##
|
12
|
-
# Run an instance of the gem program.
|
13
|
-
#
|
14
|
-
# LibGems::GemRunner is only intended for internal use by SlimGems itself. It
|
15
|
-
# does not form any public API and may change at any time for any reason.
|
16
|
-
#
|
17
|
-
# If you would like to duplicate functionality of `gem` commands, use the
|
18
|
-
# classes they call directly.
|
19
|
-
|
20
|
-
class LibGems::GemRunner
|
21
|
-
|
22
|
-
def initialize(options={})
|
23
|
-
@command_manager_class = options[:command_manager] || LibGems::CommandManager
|
24
|
-
@config_file_class = options[:config_file] || LibGems::ConfigFile
|
25
|
-
@doc_manager_class = options[:doc_manager] || LibGems::DocManager
|
26
|
-
end
|
27
|
-
|
28
|
-
##
|
29
|
-
# Run the gem command with the following arguments.
|
30
|
-
|
31
|
-
def run(args)
|
32
|
-
start_time = Time.now
|
33
|
-
|
34
|
-
if args.include?('--')
|
35
|
-
# We need to preserve the original ARGV to use for passing gem options
|
36
|
-
# to source gems. If there is a -- in the line, strip all options after
|
37
|
-
# it...its for the source building process.
|
38
|
-
build_args = args[args.index("--") + 1...args.length]
|
39
|
-
args = args[0...args.index("--")]
|
40
|
-
end
|
41
|
-
|
42
|
-
LibGems::Command.build_args = build_args if build_args
|
43
|
-
|
44
|
-
do_configuration args
|
45
|
-
cmd = @command_manager_class.instance
|
46
|
-
|
47
|
-
cmd.command_names.each do |command_name|
|
48
|
-
config_args = LibGems.configuration[command_name]
|
49
|
-
config_args = case config_args
|
50
|
-
when String
|
51
|
-
config_args.split ' '
|
52
|
-
else
|
53
|
-
Array(config_args)
|
54
|
-
end
|
55
|
-
LibGems::Command.add_specific_extra_args command_name, config_args
|
56
|
-
end
|
57
|
-
|
58
|
-
cmd.run LibGems.configuration.args
|
59
|
-
end_time = Time.now
|
60
|
-
|
61
|
-
if LibGems.configuration.benchmark then
|
62
|
-
printf "\nExecution time: %0.2f seconds.\n", end_time - start_time
|
63
|
-
puts "Press Enter to finish"
|
64
|
-
STDIN.gets
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
private
|
69
|
-
|
70
|
-
def do_configuration(args)
|
71
|
-
LibGems.configuration = @config_file_class.new(args)
|
72
|
-
LibGems.use_paths(LibGems.configuration[:gemhome], LibGems.configuration[:gempath])
|
73
|
-
LibGems::Command.extra_args = LibGems.configuration[:gem]
|
74
|
-
@doc_manager_class.configured_args = LibGems.configuration[:rdoc]
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|
78
|
-
|
79
|
-
LibGems.load_plugins
|
data/test/test_gem_gem_runner.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require File.expand_path('../gemutilities', __FILE__)
|
2
|
-
require 'libgems/gem_runner'
|
3
|
-
|
4
|
-
class TestGemGemRunner < RubyGemTestCase
|
5
|
-
|
6
|
-
def test_do_configuration
|
7
|
-
LibGems.clear_paths
|
8
|
-
|
9
|
-
temp_conf = File.join @tempdir, '.gemrc'
|
10
|
-
|
11
|
-
other_gem_path = File.join @tempdir, 'other_gem_path'
|
12
|
-
other_gem_home = File.join @tempdir, 'other_gem_home'
|
13
|
-
|
14
|
-
LibGems.ensure_gem_subdirectories other_gem_path
|
15
|
-
LibGems.ensure_gem_subdirectories other_gem_home
|
16
|
-
|
17
|
-
File.open temp_conf, 'w' do |fp|
|
18
|
-
fp.puts "gem: --commands"
|
19
|
-
fp.puts "gemhome: #{other_gem_home}"
|
20
|
-
fp.puts "gempath:"
|
21
|
-
fp.puts " - #{other_gem_path}"
|
22
|
-
fp.puts "rdoc: --all"
|
23
|
-
end
|
24
|
-
|
25
|
-
gr = LibGems::GemRunner.new
|
26
|
-
gr.send :do_configuration, %W[--config-file #{temp_conf}]
|
27
|
-
|
28
|
-
assert_equal [other_gem_path, other_gem_home], LibGems.path
|
29
|
-
assert_equal %w[--commands], LibGems::Command.extra_args
|
30
|
-
assert_equal %w[--all], LibGems::DocManager.configured_args
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_build_args__are_handled
|
34
|
-
LibGems.clear_paths
|
35
|
-
|
36
|
-
gr = LibGems::GemRunner.new
|
37
|
-
assert_raises(LibGems::SystemExitException) do
|
38
|
-
gr.run(%W[--help -- --build_arg1 --build_arg2])
|
39
|
-
end
|
40
|
-
|
41
|
-
assert_equal %w[--build_arg1 --build_arg2], LibGems::Command.build_args
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|