forked from rubygems/rubygems
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
4029 lines (2816 loc) · 141 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2007-10-18 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/rubygems_version.rb: 0.9.4.6 beta.
2007-10-19 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/update_command.rb: Don't install with
dependencies when updating. This is a hack.
2007-10-19 Daniel Berger <djberg96@gmail.com>
* setup.rb: gem.cmd stub is now gem.cmd, and the stub generation was
changed - now better for NT. Patch #14725 (Luis Lavena).
* lib/rubygems/installer.rb: Same as for setup.rb.
2007-10-18 Daniel Berger <djberg96@gmail.com>
* lib/rubygems/platform.rb: Modified the Platform.local method for MS
Windows for versions built with VC++ 6. Patch #14727 (Luis Lavena).
* test/test_gem_specification.rb: Added version independent tests for
MS Windows. Patch #14727 (Luis Lavena).
2007-10-18 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/remote_fetcher.rb: Add platform to User-Agent.
* lib/rubygems/commands/install_command.rb: Fix typo. Debian bug
#443135 submitted by Reuben Thomas.
* lib/rubygems/dependency_installer.rb: Don't install dropped
dependencies. Fixes bug #14724 submitted by Luis Lavena.
2007-10-17 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/update_command.rb: Unset RUBYOPT when running
setup.rb
* setup.rb: Re-exec without RUBYOPT if it is set. Fixes bug #14683
submitted by Lyle Johnson.
2007-10-16 Daniel Berger <djberg96@gmail.com>
* lib/rubygems/indexer/abstract_index_builder.rb: The compress method
now does a binary read to make MS Windows happy.
2007-10-16 Eric Hodel <drbrain@segment7.net>
* setup.rb: Installs bin stubs that warn when you try to use the old
commands. Simple mswin deprecation stubs by Luis Lavena.
2007-10-12 Eric Hodel <drbrain@segment7.net>
* setup.rb: Remove source caches on install.
* doc/release_notes/rel_0_9_5.rdoc: Draft added.
* lib/rubygems/rubygems_version.rb: 0.9.4.5 beta.
2007-10-10 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/dependency_installer.rb: Fix small bug found by Alan C.
Francis.
2007-10-09 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/dependency_installer.rb: Use install_dir so custom gem
repos can be used.
* lib/rubygems/specification.rb: Always set required attributes, even
if they match the default.
2007-10-08 Ryan Davis <ryan@wrath.local>
* lib/rubygems.rb: Fixed require order so custom_require is
last. Added HACK tag to remind Jim to release rake.
* test/test_gem_source_index.rb: Fixed latest_specs' tests so
failures were much more readable.
* lib/rubygems/source_index.rb: Fixed latest_specs to deal with
platforms appropriately. Returns array again.
2007-10-08 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/config_file.rb: Boost bulk_threshold to 1000, Marshal
format is smaller than yaml format quick index.
* lib/rubygems/installer.rb: Make #shebang correctly rewrite env
shebangs.
* lib/rubygems/specification.rb: Mark Time.today for removal, too much
depends upon it now.
2007-10-07 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb: Sped up ::_load.
* lib/rubygems/source_index.rb: Sped up #search.
* lib/rubygems/version.rb: Replace #to_ints with #ints, and cache
result.
* lib/rubygems/source_info_cache.rb: Only flush cache when it changes.
2007-10-05 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/user_interaction.rb: Allow customization of completion
message for progress reporters.
* lib/rubygems/command.rb: Add --quiet option.
* lib/rubygems/commands/generate_index_command.rb: Add description.
2007-10-04 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/uninstaller.rb: Also check and uninstall old platform
name to ensure legacy platform gems are uninstalled.
* lib/rubygems/doc_manager.rb: Remove existing rdoc and ri directory
so regenerating docs succeeds even if previously interrupted.
2007-10-02 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_index.rb: Make #outdated search only for gems
matching the current platform.
* lib/rubygems/commands/dependency_command.rb: Add --platform.
* lib/rubygems/commands/outdated_command.rb: Ditto.
* lib/rubygems/commands/specification_command.rb: Ditto.
* lib/rubygems/commands/update_command.rb: Ditto.
2007-10-02 Wilson Bilkovich <wilson@supremetyrant.com>
* lib/rubygems/specification.rb: Custom Marshal format to reduce index
size.
* lib/rubygems/requirement.rb: Ditto
* lib/rubygems/version.rb: Ditto
2007-10-01 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/platform.rb: Handle mswin32 on VC6. Partial patch and
assistance by Luis Lavena. Handle cpu-os-version style platforms for
command-line arguments.
2007-09-30 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb: Gem::Specification is now
forward-compatible while loading.
2007-09-29 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_info_cache_entry.rb: Correctly handle URIs.
* lib/rubygems/remote_fetcher.rb: ditto.
* lib/rubygems/remote_options.rb: Add --update-sources option. Patch
#14246 submitted by Alan Francis.
* lib/rubygems/config_file.rb: Add update_sources setting to control
automatic refreshing of sources (patch #14246). Fix bug where things
would be overwritten in ~/.gemrc when they shouldn't.
2007-09-28 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/rubygems.rb: Gem.ruby now returns the full path. Added
Gem.prefix to make self updating work right.
* setup.rb, pre-install.rb, post-install.rb: Replace with a small,
simple setup script that works.
* lib/rubygems/commands/update_command.rb: Pass rdoc, ri and prefix
flags down to setup.rb when self updating.
2007-09-26 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/version_option.rb: Always include RUBY platform,
allow RUBY platform as an option.
* lib/rubygems/specification.rb: Gems with non-ruby platform sort
last (first in preference for installation).
* lib/rubygems/platform.rb: Allow matching of legacy platforms.
* lib/rubygems/source_index.rb: Add only_platform option to #search.
2007-09-24 Wilson Bilkovich <wilson@supremetyrant.com>
* lib/rubygems/indexer.rb: Generate a Marshal index in parallel to YAML
* lib/rubygems/source_index.rb: Fetch a Marshal index if it exists, to
avoid the memory cost of parsing a huge YAML file
* lib/rubygems/commands/mirror_command.rb: Check for Marshal first
* lib/rubygems/indexer/abstract_index_builder.rb: Index refactoring
* lib/rubygems/indexer/marshal_index_builder.rb: Build Marshal index
* lib/rubygems/indexer/master_index_builder.rb: Simplify YAML generation
* lib/rubygems/indexer/quick_index_builder.rb: Build Marshal quickindex
* lib/rubygems/server.rb: Serve up Marshal index as well as YAML
* lib/rubygems/source_info_cache_entry.rb: Expect a Marshal index
2007-09-23 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/fetch_command.rb: `gem fetch` downloads a gem
to the current directory. Feature request #10752 by Bret Pettichord.
* lib/rubygems/commands/local_remote_options.rb, etc.: Fix spelling of
'threshold'.
* lib/rubygems/installer.rb: Revert feature request #8818, it
interferes with `ruby -S` and multiple versions of ruby (1.8 and 1.9).
* lib/rubygems/dependency_installer.rb: Fix a bug where the wrong
platform gem would be installed.
* lib/rubygems/version_option.rb: Add --platform.
* lib/rubygems/install_update_options.rb: Verify --security-policy.
* lib/rubygems/local_remote_options.rb: Verify --source, --http-proxy.
2007-09-22 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/open-uri.rb: Don't document our OpenURI.
* lib/rubygems/commands/generate_index_command.rb: Fix Indexer class
change.
* lib/rubygems/commands/mirror_command.rb: Fix for 1.9.
* lib/rubygems/commands/pristine_command.rb: Have `gem pristine`
give a better report of what it accomplished.
* lib/rubygems/command.rb: Add optional description field.
* lib/rubygems/installer.rb: Hack around broken Pathname#absolute? on
windows. Patch #14139 by Jim Hughes.
2007-09-20 Eric Hodel <drbrain@segment7.net>
* misc files: Tests pass on 1.9.
* test/gemutilities.rb: Added Object#send! stub for 1.8.
* test/test_open_uri.rb: Require gem_open_uri.rb to avoid warnings.
* lib/rubygems/commands/sources_command.rb: Clarify `gem sources -c`
and what `gem sources` does. Patch by Hugh Sasse.
2007-09-19 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/platform.rb: Make Gem::Platform a class.
* lib/rubygems/specification.rb: Gem::Specification#validate returns
true, non-Gem::Platform platforms are no longer allowed.
* test/gemutilities.rb: 1.9 compatiblity fixes.
* lib/rubygems/dependency_installer.rb: Work around a bug in URI.parse
which misinterprets "C:/". Patch #13537 submitted by Daniel Berger.
* lib/rubygems/format.rb: Ensure file handles are closed. Patch
#13533 submitted by Daniel Berger.
* test/test_gem_installer.rb: Win32 path fix. Patch #13528 submitted
by Daniel Berger.
* test/gemutilities.rb: Make the platform be a win32 platform on
win32. Fixes confusion in generate_bin_symlink tests. Patch #13529
submitted by Daniel Berger.
* test/test_gem_specification.rb: Sequel to above. Patch
#13535 submitted by Daniel Berger.
* lib/rubygems/source_index.rb: Make the updating cache message more
clear. Patch #12778 submitted by Bil Kleb.
* lib/rubygems/server.rb: Allow gem's rdoc-style.css to be used.
Patch #13589 by Stephen Bannasch.
* lib/rubygems/indexer.rb: Fail on missing builder gem only when
trying to use the indexer. Fixes bug #13939 by Bryan Stearns.
* lib/rubygems/indexer/indexer.rb: Move Indexer up one level in
nesting.
* lib/rubygems/indexer/compressor.rb: Only used in
Gem::Indexer::AbstractIndexBuilder subclasses, merged there.
* lib/rubygems/command_aids.rb: Merged Gem::CommandAids into
Gem::Command since that's the only place it gets used.
* misc other files: mswin fixes. Paired with Daniel Berger.
2007-08-24 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb: Fix #full_name for versionless
platforms.
* lib/rubygems/command_manager.rb: We're only looking for NameError.
* lib/rubygems/command.rb: 1.9 fix.
* lib/rubygems/format.rb: ditto.
* lib/rubygems/installer.rb: ditto.
2007-08-24 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/rubygems_version.rb: 0.9.4.4
2007-08-23 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/platform.rb: Add HPUX, AIX and NetBSD. Thanks to
Daniel Berger, Yutaka KANEMOTO and Andre Nathan respectively.
* lib/rubygems/installer.rb: Move all option setting to #initialize to
make `gem pristine` work again.
* lib/rubygems/commands/environment_command.rb: Include platforms.
* lib/rubygems/dependency_installer.rb: Support local non-root
installation.
2007-08-22 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/dependency_installer.rb: Don't reinstall dependencies
existing in the install dir. Don't install dependencies for older
versions of the gem we're installing. #installed_gems now contains
loaded gemspecs. Always prefer local gems. Handle globs correctly.
All deps are now installed into the install_dir.
* lib/rubygems/commands/install_command.rb: Switch to
Gem::DependencyInstaller. Warn when -y is given, it will be removed.
Try our best to install everything the user asked.
* lib/rubygems.rb: Gem.bindir now handles Pathname correctly.
* lib/rubygems/remote_fetcher.rb: Don't downcase anymore.
2007-08-21 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/dependency_installer.rb: Add installation from local
gems. Install gems in the correct order. Handle -E, -f,
--ignore-dependencies, -i, -r, -l, -b, -P, -w, -v options for `gem
install`
* test/gemutilities.rb: Work around OS X /private/tmp.
* lib/rubygems/platform.rb: Switch to using arch instead of target_*
for JRuby compatibility. Thanks to Nick Sieger.
2007-08-20 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/dependency_installer.rb: Add working but unfinished
Gem::DependencyInstaller.
* lib/rubygems/source_info_cache.rb: Add #search_with_source.
* lib/rubygems/dependency_list.rb: Move #fill_dependencies to
Gem::DependencyInstaller
* lib/rubygems/platform.rb: Split from specification.rb. Add methods
to recognize platforms from Config::CONFIG.
* lib/rubygems.rb: Add Gem::platforms.
* lib/rubygems/specification.rb: Disallow String platforms.
2007-08-18 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_info_cache.rb: Search by Gem::Dependenency.
* lib/rubygems/source_index: Search by Gem::Dependenency.
* lib/rubygems/version.rb: Version can be String or Integer.
Gem::Requirement::default is now >= 0. Gem::Requirement can be built
from a Gem::Dependency.
* lib/rubygems/dependency_list.rb: Uses TSort now. Add
Gem::DependencyList#fill_dependencies.
* lib/rubygems/server.rb: Support quick index.
2007-08-17 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/dependency_list.rb: For diamond dependencies with
different versions on the bottom of the diamond, trim all but the
latest dependency. This will prevent gems like hoe from being
installed multiple times.
2007-08-15 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb: Support building mkrf extensions. Fixes
bug #11313. Patch by Jeremy Hinegardner.
* lib/rubygems/installer.rb: Ensure bin files are executable. Fixes
bug #8985 submitted by Ara Howard.
* lib/rubygems/installer.rb: Insert installing gem home dir into bin
wrapper. Patch #8818 by Ara Howard.
2007-08-13 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/uninstall_command.rb: Gems with version of 0
can now be uninstalled.
2007-08-11 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/config_file.rb: Command-line args override ~/.gemrc
now. Gem.sources is pulled from ~/.gemrc now. Gem::ConfigFile can
write itself out now.
* lib/rubygems/commands/sources_command.rb: Now writes out
Gem.configuration on changes. No longer checks source cache on
--list.
2007-08-09 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_info_cache.rb: Make Gem::SourceInfoCache#search
only search gems in Gem.sources.
* lib/rubygems.rb: Make Gem::configuration a real Gem::ConfigFile
object.
* lib/rubygems/commands/query_command.rb: Fix `gem query --details`.
Add `gem query --no-versions`.
* lib/rubygems/local_remote_options.rb: Make `gem mumble --source URL`
only use that source.
* lib/rubygems/config_file.rb: Fix Gem::ConfigFile#[]= to match
Gem::ConfigFile#[].
2007-08-08 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/commands/specification_command.rb: Match only exact gem
names. Fixes bug #9681. Patch by Michael DeCandia.
* lib/rubygems/commands/unpack_command.rb: Match only exact gem names.
Fixes bug #9681. Patch by Michael DeCandia.
* lib/rubygems/commands/contents_command.rb: Match only exact gem
names. Fixes bug #9681. Patch by Michael DeCandia
* lib/rubygems/remote_fetcher.rb: Perform a GET request if the HEAD
request doesn't have Content-Length. Fixes bug #9771. Patch by Ben
Bleything.
* lib/rubygems.rb: Clear Gem::searcher when we Gem::clear_paths.
Fixes bug #12886. Submitted by Peter Williams.
* lib/rubygems.rb: Add #default_sources and rework #sources to use it.
* post-install.rb: No longer runs install_sources.
* pkgs/sources: Updated to something what a 0.0.2 would look like, if
we ever make one.
2007-08-02 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/gem_commands.rb: Removed and broken up into individual
files.
* lib/rubygems/command_manager.rb: Lazily loads gem commands. Now to
use CommandManager just "require 'rubygems/command_manager'" and
everything will be there.
2007-08-01 Eric Hodel <drbrain@segment7.net>
* lib/*, test/*: Pushed down dependencies as far as reasonable.
Removed Gem::manage_gems. Now only 14 files are loaded with "require
'rubygems'". Added tests for `gem build` and `gem cert`.
* lib/rubygems/extensions.rb: Added common place for all extensions.
2007-07-26 Eric Hodel <drbrain@segment7.net>
* test/test_gem_ext_configure_builder.rb: Linux has different behavior
for `sh ./configure` when configure is missing. Fix adapted from
Patch #10019 by Donavan Pantke.
* lib/rubygems/commands/pristine_command.rb: Compare fully-qualified
paths. Fixes bug #7976 by Lyle Johnson.
* lib/rubygems/config_file.rb: Add ConfigFile#[]=, so --proxy
command-line option works. Fixes #8152 by Justin Sabelkko.
* lib/rubygems/post-install.rb: Make sure we use the
latest-and-greatest RubyGems when running post-install.rb. Fixes Bug
#8411 by Duy Nguyen.
* lib/rubygems/remote_fetcher.rb: An empty HTTP_PROXY means no proxy.
Fixes Bug #9042 by Michael Brodhead.
* lib/rubygems/version.rb: Disallow newlines in version string. Strip
spaces from version string. Fixes Bug #9499 by Bryce Kerley.
* lib/rubygems/commands/sources_command.rb: Fix spelling error. Fixes
Bug #11064 by Chris Eskow.
2007-07-25 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/indexer.rb: Create the index in /tmp, then move it into
place when we're done. This will prevent spurious bulk index updates
from occurring while the quick index is missing. Remove the option to
not build the quick index.
* lib/rubygems/commands/generate_index_command.rb: --no-quick is gone.
* lib/rubygems/user_interaction.rb: If stdin is not a tty, it is
unlikely that gem is going to get a response when asking a question.
Patch #10660 by Paul Brannan.
* lib/rubygems/validator.rb: Output test failures when using install
-t. Patch #10659 by Paul Brannan.
* lib/rubygems/custom_require.rb (Kernel#require): Only rescue a
LoadError that matches the file we are requiring. Patch #10723 by
Tyler Rick.
* lib/rubygems/remote_fetcher.rb: Support HTTP basic authentication.
Patch #8121 by Max Dunn.
* lib/rubygems/commands/install_command.rb: Don't raise an error when
a gem has no tests. Patch #11824 by Katsuyuki MIYAMUKO.
2007-07-23 Eric Hodel <drbrain@segment7.net>
* lib/commands/contents_command.rb: Add --lib-only option, remove
useless --list option. Feature request #9498 by Martin DeMello.
* lib/rubygems/specification.rb: Restrict to only files in
#require_paths. Add #required_rubygems_version. Feature request
#7780 by Eric Hodel.
* lib/rubygems/commands/dependency_command.rb: Display dependencies for
remote gems. Feature request #12133 by Eric Hodel. -r for reverse
dependencies is now -R.
* lib/rubygems/commands/specification_command.rb: Display
specifications for remote gems. Feature request #12133 by Eric Hodel.
* lib/rubygems/installer.rb (Gem::Installer#install): Check
required_rubygems_version.
* lib/rubygems/user_interaction.rb
(Gem::UserInteraction#choose_from_list): Check result for EOF. Fixes
bug #8018. Patch by Jos Backus.
* post-install.rb: Install using absolute path. Fixes bug #10675.
Patch by Jeremy Burks.
* lib/rubygems/commands/environment_command.rb: Add RUBY VERSION to
environment output.
* lib/rubygems/command.rb: Don't worry about duplicated command-line
options, OptionParser takes care of them for us.
2007-07-22 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb (Gem::Specification#files): Make it
faster
* lib/rubygems/command.rb: Better documentation. -v flag now lets you
get to "really verbose" mode which makes the verbose progress meter
work. Add command groups to separate types of commands easily.
* lib/rubygems/commands/which_command.rb, bin/gemwhich: Move `gemwhich`
under `gem`.
* lib/rubygems/commands/mirror_command.rb, bin/gem_mirror: Move
`gem_mirror` under `gem`.
* lib/rubygems/commands/lock_command.rb, bin/gemlock: Move `gemlock`
under `gem`.
* lib/rubygems/commands/server_command.rb, bin/gem_server: Move
`gem_server` under `gem`.
* lib/rubygems/doc_manager.rb (Gem::DocManager#initialize): Only raise
when operating on the filesystem.
* lib/rubygems/server.rb: Remove option processing, now in
Gem::Commands::ServerCommand.
* lib/rubygems/commands/generate_index.rb, bin/index_gem_repository.rb:
Move `index_gem_repository.rb` to `gem generate_index`.
* lib/rubygems/indexer (Gem::Indexer): Extract from
index_gem_repository.rb and merge RubyForge changes.
* lib/rubygems/command_manager.rb (Gem::CommandManager#run): Print
backtrace when --debug is set too.
* lib/rubygems/command_manager.rb (Gem::CommandManager#load_and_instantiate):
Don't infinitely loop in retry.
* bin/gemri: Removed. Everybody should have ri integration now.
* lib/rubygems/config_file.rb: Allow settings to be examined. Pull
settings from .gemrc.
* lib/rubygems/commands/environment_command.rb: Add ruby executable
and configuration settings to `gem env`.
* lib/rubygems/indexer/indexer.rb (Gem::Indexer::Indexer#build_index):
Now uses UserInteraction.
* various: Use UserInteraction for output.
* lib/gemconfigure.rb: Removed. Same as multiple gem commands.
* lib/rubygems/commands/contents_command.rb: Removed extra --verbose
option.
* lib/rubygems/gem_commands.rb (Gem::LocalRemoteOptions): Moved -B,
--source, -p from Gem::Commands::common_options.
2007-07-22 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb: Added another example to the gem
example output (Gile Bowkett)
* test/test_documentation_generation.rb, lib/rubygems/doc_manager.rb:
Added a test for documentation generation and fixed a bug when doc
location is not writable.
2007-06-16 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/gem_path_searcher.rb (Gem::GemPathSearcher): Moved out
of lib/rubygems/custom_require.rb and added tests.
2007-06-02 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/source_info_cache.rb (Gem::try_file): Fix for issue
where a non-existing source cache file causes the gem command to
not find a gem. This fixes it by marshalling out an empty
hash. (Thanks to Nick Sieger for this fix).
2007-06-01 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems.rb
(Gem::OperationNotSupportedError::latest_partials): Changed from
match data style to $1 style regexp (on the recommendation of
better performance).
2007-05-30 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/source_index.rb (Gem::SourceIndex::update):
Modified to get the bulk_threshhold from the configuration.
(Gem::SourceIndex::convert_specs): Ryan removed the "reduce_specs"
method because it is not needed any more and is creating memory
overhead.
* lib/rubygems/config_file.rb (Gem::ConfigFile): Added
bulk_threshhold field to ConfigFile.
(Gem::ConfigFile::initialize): Initialize bulk threshhold to 500.
* lib/rubygems/command.rb
(Gem::Command::specific_extra_args_hash): Added
-B (--bulk-threshhold) option to allow user specified bulk
download threshhold.
2007-05-23 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/commands/sources_command.rb
(Gem::Commands::SourcesCommand::initialize): Added a --clear-all
option to the sources subcommand. Clear-all will remove the cache
files.
* lib/rubygems/source_info_cache.rb (Gem): Moved system_cache_file
and user_cache_file to class methods so that we can get the file
names without creating a SourceInfoCache instance.
2007-05-23 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_info_cache.rb: Teach SIC to repair itself
when it encounters a bad cache file.
2007-05-14 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/command_manager.rb: Re-added registration for
gem cleanup command which I accidentally removed during refactoring.
2007-05-10 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb: Uncommented the require
'sources' line.
* lib/rubygems/source_info_cache.rb: Uncommented the require
'sources' line.
* lib/rubygems/rubygems_version.rb (Gem): Bumped to version 0.9.3
in preparation for release.
* lib/rubygems/package.rb (Gem::TarInput::zipped_stream):
Zipped_stream now always uses the in memory string IO buffer.
There were just too many problems with ZLib (on windows)
otherwise.
2007-03-26 Jim Weirich <jim@weirichhouse.org>
* (Index): new digest technique.
* lib/rubygems/validator.rb (Gem::Validator::verify_gem): Removed
really old MD5 and replaced with gem based digests.
* experimental/deployment.rb (Gem::Deployment::Manager::initialize):
New digest technique.
* experimental/test_deployment.rb (TestDeployment::test_deployed_file):
New digest technique.
2007-03-26 Chad Fowler <chad@chadfowler.com>
* Extracted the big ball of mud that was gem_commands.rb into
separate files.
2007-03-17 Chad Fowler <chad@chadfowler.com>
* Various ruby 1.8.6 fixes for failing tests.
* Updated setup.rb to 3.4.1
* Renamed cmd_manager to command_manager to keep names consistent
* lib/installer.rb: Rework path checking to use Pathname (ara howard bug #8811)
2007-03-02 Eric Hodel <drbrain@segment7.net>
* lib/rubygems.rb: Add bin directory before library directory,
otherwise gems like rake don't work.
2007-03-01 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/open-uri.rb: Fix all the infinite loop errors.
* lib/rubygems.rb: Add dirs from activate after -I and ENV['RUBYLIB']
dirs. Otherwise gems won't allow -I to work when #gem is called.
2007-02-11 Chad Fowler <chad@chadfowler.com>
* test/gemutilities.rb: Fix to make Windows tests pass. (Anatol Pomozov)
2007-02-05 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/rubygems_version.rb (Gem): Bumped to version 0.9.2
and made a release.
2007-02-04 Chad Fowler <chad@chadfowler.com>
* Fixed failing tests (changed from assert_equal to assert_match to
deal with ARGV inconsistencies in test vs. production).
2007-02-03 Jim Weirich <jim@weirichhouse.org>
* Bumped version to 0.9.1.1.
* lib/rubygems/gem_open_uri.rb: Added the patched open-uri back
into the gems software. Evidently, the 1.8 version of open-uri
does not handle authenticating proxies with username and password.
* lib/rubygems/source_info_cache.rb (Gem::cache_data): Added
rescue block to capture bad file loads. The original rescue was
only around the marshal load (bug was probably introduced when the
file data was preloaded into a string).
(Gem::set_cache_data): Added set_cache_data to be used during
testing to avoid reload the cache file over and over.
* lib/rubygems/gem_commands.rb: Added require for command class so
that this file can be loaded independently.
* lib/rubygems/source_index.rb (Gem::SourceIndex::outdated): Minor
cleanup.
* test/gemutilities.rb
(RubyGemTestCase::util_setup_source_info_cache): Minor cleanup
* test/test_gem_source_info_cache.rb
(TestGemSourceInfoCache::test_write_cache_user): Switched to using
set_cache_data here and several other places to avoid rereading
the cache data over and over again.
2007-02-02 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb:
Fixed gem unpack (broken since 0.9.1)
2007-01-20 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_info_cache.rb (Gem::SourceInfoCache#cache_data):
Read the source_cache in binary mode for mswin.
2007-01-16 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/rubygems_version.rb (Gem): Released 0.9.1.
2007-01-15 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#extract_files): Only allow
installation to absolute directories. (Call File::expand_path first).
More informative message for attempting to install with bad path.
* post-install.rb: Install sources first, since its rather important.
2007-01-14 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_info_cache.rb: require 'fileutils', as its
needed.
2007-01-12 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#extract_files): Don't
allow gems to place files outside the installation directory. Fixes
bug 7751 by Gavin Sinclair.
2007-01-08 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/specification.rb
(Gem::Specification::test_suite_file): Added rescue clause for
default_executable.
(Gem::Specification::add_bindir): Added rescue clause for
add_bindir.
* test/test_specification.rb
(TestSpecification::test_pathologically_bad_non_array_stuff_doesnt_goof_up_files):
Added a sanity check on hash for some pathologically bad case.
(TestSpecification::test_pathologically_bad_exectuables_doesnt_goof_up_hash):
Added sanity check for pathologically bad executables field.
2007-01-08 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/gem_commands.rb (Gem::PristineCommand#execute): Better
messaging.
* lib/rubygems.rb, lib/rubygems/custom_require.rb: Correctly include
documentation for methods added to Kernel.
2007-01-07 Eric Hodel <drbrain@segment7.net>
* Rakefile: Include GPL.txt. Fixes bug #7572 by David Lee.
2007-01-06 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/rubygems_version.rb (Gem): Bumped to version
0.9.0.9.
* lib/rubygems/specification.rb
(Gem::Specification::test_suite_file): Rewrote default_executable
to be a bit more explicit.
(Gem::Specification::add_bindir): Rewrote the 'files' accessor to
handle pathologically bad input.
(Gem::Specification::copy_of): Added as_array private method.
* Rakefile (package_version): Added '*.out' to clobber list.
Removed the broken-1.0.0.gem file from the clobber list.
* test/test_specification.rb
(TestSpecification::test_default_executable):
Seriously beefed up tests for certain specification issues.
* test/gemenvironment.rb (TestEnvironment::create): Added the 'f'
flag to deleting 'gemhome'.
2006-12-30 Eric Hodel <drbrain@segment7.net>
* post-install.rb, lib/rubygems/server.rb: RubyGems now installs RDoc
and ri for itself.
2006-12-28 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#build_extensions):
Extension build failures now raise Gem::Installer::ExtensionBuildErrors.
2006-12-26 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/package.rb (Gem::Package::TarInput#initialize): Bad
packages now raise FormatError instead of a generic RuntimeError.
* lib/rubygems/installer.rb (Gem::Installer#install): Raise an
InstallError when we have a bad gem file.
2006-12-25 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/custom_require.rb (Gem::GemPathSearcher::find):
Removed SUFFIX_PATTERN. Evidently this was miss during an earlier
attempt to remove it.
(Gem::GemPathSearcher::matching_file): Changed reference to
SUFFIX_PATTERN into a call to Gem.suffix_pattern.
* Removed tab characters from numerous source files.
* lib/rubygems/installer.rb (Gem::Uninstaller::uninstall): Removed
stray tab characters.
* lib/rubygems.rb (Kernel::require_gem): Added file and line
number information to require_gem worning (makes it easier to
track down those offending lines of code).
(Kernel::location_of_caller): Added helper function to determine
file and line number of caller.
2006-12-25 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Installer#app_script_text):
Simpler, more readable bin script.
* lib/rubygems/gem_commands.rb (Gem::PristineCommand#execute):
Regenerate bin scripts. This will clean up require_gem in scripts.
2006-12-24 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/remote_fetcher.rb (Gem::RemoteFetcher#fetch_path):
Rescue various errors and return a more-friendly error.
2006-12-23 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/command.rb lib/rubygems/gem_commands.rb: Make help
output fit in 80 columns.
* lib/rubygems/rubygems_version.rb: Bump version to 0.9.0.8, beta
time! (Oops, didn't go into beta.)
2006-12-20 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/remote_fetcher.rb (Gem::RemoteFetcher#fetch_size): Give
a sensible error on bad URIs.
* lib/rubygems/gem_commands.rb (Gem::SourceCommand): Allow management
of sources in source_cache. Fixes bug #1128.
* lib/rubygems.rb (Kernel#require_gem): Add deprecation warning in
favor of gem.
2006-12-19 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::ExtBuilder): Refactored for
uniformity.
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller#specs_n_sources_matching): Don't display gems
that can't be installed.
* lib/rubygems.rb, pre-install.rb: Fix installation errors on 1.9.
Fixes bug #4536 by Ryan Davis.
* lib/rubygems/source_index.rb, lib/rubygems/gem_commands.rb,
lib/rubygems-custom_require.rb: Use File.join with glob strings.
Fixes bug #1096 submitted by Chad Fowler.
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller#install_dependencies): Make --force actually
force. Fixes bug #7365 by Robert James.
2006-12-18 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/gem_commands (Gem::OutdatedCommand): Add a way to see
which gems are out-of-date.
* setup.rb: Ignore errors for .config and InstalledFiles when
the source path is read-only/NFS. Fixes bugs #1395 and #1374. Patch
by Ryan Davis.
* bin/gem_server: Pull code out into lib/rubygems/server.rb for
reusability. Closes Feature Request #2220 by Chris Morris.
2006-12-16 Chad Fowler <chad@chadfowler.com>
* test/: Added functional test for extension gems proving that
non-compiling extensions don't result in success message.
* lib/rubygems/specification.rb: Raise exception if loaded spec is
nil. Closes bug #7299.
* test/gemenvironment.rb: Clean out gemhome every time to avoid dirty
directory failing tests.
* lib/rubygems/installer.rb: Change uninstall to require a full gem
name (not a partial match). Fixes bug #6007 and related unreported
issues.
2006-12-15 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/installer.rb (Gem::Uninstaller): Correctly uninstall
executables if GEM_HOME is set. Patch #2264 by Sylvain Joyeux.
* lib/rubygems.rb (Gem::loaded_specs): Expose list of currently loaded
gems.
* lib/rubygems/gem_commands (Gem::UninstallCommand): Allow multiple
gems to be uninstalled at once.
2006-12-14 Eric Hodel <drbrain@segment7.net>
* post-install.rb: Don't attempt to read unreadable files. Fixes
bug #2851.
2006-12-13 Eric Hodel <drbrain@segment7.net>
* pre-install.rb.rb, post-install.rb: Don't call manage_gems because
we don't have sources installed yet. Bump version requirement to
1.8.2 since rubygems/open-uri.rb was removed. Should fix bug #6206.
* lib/rubygems/installer.rb (Gem::Installer#build_extensions): Capture
stderr into results when building extensions.
* lib/rubygems/gem_commands.rb (Gem::ContentsCommand): Allow version
to be passed to gem contents. Not backwards compatible, -v now -V and
vice versa. Select newest gem for contents. Fixes bugs #2723, #7225.
Patches by Sava Chankov, Tom Pollard.
* lib/rubygems/gem_commands.rb (Gem::InstallCommand#execute): Allow
install errors to result in non-zero exit code. Fixes bug #2773.
2006-12-03 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#install):
Add :cache_dir option to override the default.
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#download_gem):
Check cache to see if the gem has been cached before downloading.
2006-12-02 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems.rb (Gem::OperationNotSupportedError::suffixes,
Gem::OperationNotSupportedError::suffix_pattern): Removed
duplicate copies of the SUFFIX_PATTERN by providing a global
method Gem.suffixes and Gem.suffix_pattern.
* lib/rubygems/remote_fetcher.rb (Gem::open_uri_or_path): Reworked
the connection options for the open-uri call. Since we are not
using the rubygems supplied open_uri, we can use some new options
available that make proxy handling much easier.
(Gem::file_uri): Renamed is_file_uri to file_uri?.
* lib/rubygems/loadpath_manager.rb (Gem::LoadPathManager::self):
Added .jar to list of suffixes.
* test/functional.rb (FunctionalTest::test_env_remotesources):
Changed test to uses Gem.sources (the sources method on
remote_fetcher was removed).
* test/test_remote_fetcher.rb (TestRemoteFetcher): Renamed some of
the test constants and instance variables so that they were more
consistent and explained the tests a wee bit better.
(TestRemoteFetcher::test_no_proxy): Added assert_data_from_server
and assert_data_from_proxy to make it clear what the test was
doing and give better error messages on errors.
(TestRemoteFetcher::assert_data_from_server): Added
assert_data_from_server.
(TestRemoteFetcher::assert_data_from_proxy): Added
assert_data_from_proxy.
2006-11-30 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/open-uri.rb: Removed the duplicated library.
2006-11-30 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification (Gem::Specification#eql?): Allow gemspecs
to be used intelligently with Array#- and Array#uniq.
* lib/rubygems/installer.rb: Return extension-building results in
Exception on build failure.
* lib/rubygems/remote_installer.rb: Ensure gems with similar names
cannot be matched for install. (Broken when searching was removed
from RemoteInstaller.)
2006-11-29 Eric Hodel <drbrain@segment7.net>
* post-install.rb: Now requires rbconfig.
* lib/rubygems/specification.rb, lib/rubygems/version.rb: Fixed many
ivar warnings due to YAML specs.
* lib/rubygems/validator.rb, lib/rubygems/validator.rb
(Gem::Validator#unit_test Gem::RemoteInstaller::): Ensure the
current directory is restored.
* lib/rubygems/remote_fetcher.rb, lib/rubygems/remote_installer.rb,
lib/rubygems/installer.rb: Raise more-friendly and less-deadly errors.
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#install):
Create version requirement correctly.
* lib/rubygems/remote_installer.rb
(Gem::RemoteInstaller#find_gem_to_install): Allow RemoteInstaller to
work with SilentUI.
* lib/rubygems/remote_fetcher.rb (RemoteFetcher#open_uri_or_path):
Don't double-require open-uri.
2006-11-27 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/specification.rb
(Gem::Specification#default_executable): Fixed bug where @executables
could be nil when loaded from index.
2006-11-21 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/source_index.rb (Gem::SourceIndex#latest_specs): Grab
the latest versions of everything in the index. Written by Ryan
Davis.
2006-11-20 Rich Kilmer <rich@infoether.com>
* lib/rubygems/cmd_manager.rb: Added PristineCommand
* lib/rubygems/gem_commands.rb: Added PristineCommand to restore
gems to pristine condition in the event of files begin deleted
based on the cached .gem file
2006-11-19 Eric Hodel <drbrain@segment7.net>
* lib/rubygems/*_fetcher.rb: Removed code specific to remote source
index updating.
* lib/rubygems/remote_installer.rb (Gem::RemoteInstaller#search):
Moved to Gem::SourceInfoCache#search
* lib/rubygems/source_info_cache.rb: Taught to update itself
* lib/rubygems/source_info_cache_entry.rb: Taught to update itself
* lib/rubygems/source_index.rb: Taught to update itself from a uri.
2006-11-18 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/installer.rb: Applied Kevin Clark's patch to make
RubyGems recognize mkrf files.
2006-11-17 Eric Hodel <drbrain@segment7.net>
* test/test_remote_fetcher.rb: Don't allow files in Dir.pwd to make
tests fail. Spotted by Chad Fowler.
* lib/rubygems/remote_installer.rb (Gem::RemoteFetcher,
Gem::CacheFetcher): Break out of remote_installer.rb into separate
files.
* lib/rubygems/remote_installer.rb (Gem::SourceInfoCache,
Gem::SourceInfoCacheEntry): Allow requiring just the source cache
without the remote fetcher.
2006-11-16 Eric Hodel <drbrain@segment7.net>