Changes for version 0.000_07 - 2012-01-28

  • Add a write() method to the CPAN::Access::AdHoc::Archive::* classes. This writes the archive, compressing it if need be. The file name written can be specified as an argument, defaulting to the base name of the original file. Modify method CPAN::Access::AdHoc::Archive->wrap_archive() so that its second argument can be either an author directory, or a scalar reference which dereferences to the directory relative to the repository root.

Changes for version 0.000_06 - 2012-01-27

  • Add method CPAN::Access::AdHoc::Archive->wrap_archive(), which instantiates an archive object from an archive file and optional CPAN ID. This seems to remove the need to expose guess_media_type() and handle_http_response(), so their functionality has become private to the package. CPAN::Access::AdHoc::Archive->guess_media_type() and handle_http_response() are deprecated and will warn on use. Because they have never appeared in a production release they will be removed after a week. Make the CPAN::Access::AdHoc cpan() attribute a URI object, both internally and extrnally. The mutator takes either a stringifiable object or a string. The scheme must be supported according to LWP::Protocol::implementor(), and support a hierarchical name space.

Changes for version 0.000_05 - 2012-01-24

  • Retract the test of get_item_mtime() for Zip archives, since there is no way to make it work in any time zone. Document (briefly) the problems in CPAN::Access::AdHoc::Archive::Zip. Add static method CPAN::Access::AdHoc::Archive->guess_media_type(). This (currently) wraps LWP::MediaTypes::guess_media_type(), but provides some ad-hocery to help the latter in cases it can't handle. I'm not real happy with either this or handle_http_response(), but so far have been unable to come up with anything better.

Changes for version 0.000_04 - 2012-01-21

  • INCOMPATIBLE CHANGES Remove all methods deprecated in 0.000_03. Change the way CPAN::Access::AdHoc::Archive::Null looks at its contents. Specifically:
    • base_directory() now returns the directory portion of the path() attribute -- unless this looks like the path of a distribution, in which case it returns the directory relative to the authors/id/ directory.
    • list_content() now returns just the base name of the enclosed file.
    • The get_item_*() and item_present() methods just take the base name of the enclosed file.
    • extract() creates directories as specified by the base_directory() method.
  • OTHER CHANGES Add to CPAN::Access::AdHoc::Archive an umbrella handle_http_response() method that iterates over the subclasses returning the first archive object actually manufactures, or nothing if none of the subclasses know how to handle the argument. Rely on LWP::MediaTypes for MIME information, rathr than doing our own guessing. Guard against undefined value warnings when fetching unpackaged distributions such as T/TO/TOMC/scripts/whenon.dir/LastLog/File.pm.gz Abort the build if $Config{useperlio} is false, since we use this to make a file handle out of the data returned from the CPAN repository.

Changes for version 0.000_03 - 2012-01-10

  • INCOMPATIBLE CHANGES The CPAN::Access::AdHoc::Archive::Null handle_http_response() static method now returns a CPAN::Access::AdHoc::Archive::Null object, rather than the content of the file. The CPAN::Access::AdHoc fetch_package_archive() method is deprecated in favor of the fetch_distribution_archive() method. The deprecated method will go away before the first production release. The CPAN::Access::AdHoc fetch_registered_module_index() now returns a reference to a hash contining the module index, rather than a string that needs to be eval-ed. OTHER CHANGES Add method fetch_distribution_checksums() to CPAN::Access::AdHoc. Have the CPAN::Access::AdHoc fetch() method actually check checksums. Add method get_item_mtime() to the CPAN::Access::AdHoc::Archive classes. The CPAN::Access::AdHoc cpan() mutator now validates URLs using URI::URL.

Changes for version 0.000_02 - 2012-01-06

  • The CPAN::Access::AdHoc default_cpan_source() mutator now validates its argument, and croaks on an error. The CPAN::Access::AdHoc cpan() mutator now croaks if its argument was undef and no default can be computed. Check in CPAN::Access::AdHoc for failure when opening string references, and croak with error if needed. CPAN::Access::AdHoc::Default::CPAN::CPAN::Mini now explicitly converts the local repository path to POSIX before making a file: URL out of it. Add dependency on Module::Pluggable::Object, in lieu of home-grown plugin code. Review and update dependencies. Add author tests without optional modules CPANPLUS, CPAN::Mini and App::cpanminus. Add 'cpan' and 'cpan_default_source' commands to eg/cpan-adhoc, and have the 'help' command not exit.

Changes for version 0.000_01 - 2012-01-04

  • Initial release

Modules

Retrieve stuff from an arbitrary CPAN repository
Common archive functionality for CPAN::Access::AdHoc
Archive-like wrapper for un-archived data.
Provide consistent interface to Archive::Tar
Provide a consistent interface to Archive::Zip
Get the default CPAN URL from CPAN
Get the default CPAN from CPAN::Mini
Get the default CPAN from CPANPLUS
Get the default CPAN URL from cpanminus.
Utility functions for CPAN::Access::AdHoc