Revision history for Perl extension ExtUtils::ModuleMaker. 0.3616 September 2, 2005 - Attempted to implement the factory concept per Damian on Perlmonks. Ultimately this didn't work and had to be abandoned. Correction of bugs in modulemaker re handling of command-line options for NEED_POD and NEED_NEW_METHOD. 0.3615 September 1, 2005 - No change in functionality, but extensive refactoring, largely in response to Damian's response to my Perlmonks posting. Refactored subs in Utility.pm so that getting the name of a .modulemaker directory, determining whether it exists or not and creating it if it doesn't yet exist are discrete operations. This means that a user can use EU::MM without ever having to create a personal defaults directory (relying on EU:MM::Defaults) and without having one created involuntarily by EU::MM (except temporarily during testing). All .t files and most .pm files had to be refactored to accomplish this. Also, moved all relevant modules to 'use base' for inheritance rather than the require-push @ISA BEGIN block sequence. Did this when I learned that 'use base' dates back to Perl 5.4. 0.3614 August 31, 2005 - No change in functionality, but extensive refactoring, mainly inside ExtUtils::ModuleMaker::StandardText.pm to pave the way for making it subclassable. 0.3613 August 28, 2005 - To preclude the problems experienced by Alex and Marc in the future, I modified one sub in ExtUtils::ModuleMaker::Utility and created another. _get_personal_defaults_directory() was modified to return a flag which, if true, indicates that no $HOME/.modulemaker was found on the system at the beginning of a given block of tests. _restore_personal_dir_status() was then created to take note of this flag at the end of a given block of tests and, if such a directory had been created during the testing process, removing it so that the user's system status is ultimately unchanged. This required modification of every test file and (for t/02 and t/13) two subroutines in t/testlib/Auxiliary.pm, as well as to calls to _get_personal_defaults_directory in ModuleMaker.pm. - Extensive work cleaning up internals of StandardText.pm. Hashes that were external to methods brought back inside. Methods decomposed into finer parts for more fine-grained replaceability. Many variables and methods renamed for clarity. Closing off 0.36_13 so that next version reflects attempts to be able to subclass StandardText. 0.3612 August 28, 2005 - Alex Gill continued to report problems with t/06, t/07 and t/18. He sent me the output for all three. I realized that the problem with t/06 and t/07 was that, not having Module::Build installed on his system, the SKIP block was being activated -- but I had left one test (for changing back to the original directory) outside the SKIP block at the end of these files. So the harness was reporting a number of tests run different from that calculated at the beginning of the SKIP block. I moved this test back inside the SKIP block in these files -- as well as in t/03, t/04, t/05. - Marc Prewitt reported the same problem with t/18 that Alex did, though he was running Perl 5.6 on Linux and Solaris. Problem has to do with the ability to create a directory for Personal::Defaults. After taking a crash course in File::Path and File::Spec, I think I have corrected the problem with make_selections_defaults(). 0.3611 August 27, 2005 - Alex Gill reported problems while testing t/06, t/07 and t/18. I couldn't reproduce the problems with t/06 and t/07 (at first) and asked Alex to re-run those tests with 'prove'. With t/18, I realized that I had not tested for the possibility that a user would not already have a $HOME/.modulemaker directory installed on his/her system. So I refactored code in ExtUtils::ModuleMaker::Utility into two distinct subroutines, with _get_home_directory() establishing a .modulemaker directory and _get_personal_defaults_directory establishing the directory that will hold Personal::Defaults. Sent this version back to same 7 people for further testing. 0.3610 August 27, 2005 - Completed work to get modulemaker to work in interactive mode. Sent this version to 7 people for beta testing. 0.3609 August 27, 2005 - Created make_selections_defaults() method. It works so far in scripts and in modulemaker non-interactive mode. 0.3608 August 25, 2005 - Test suite can now detect presence of Personal::Defaults file in appropriate place on system and work around it during testing. 0.3607 August 19, 2005 - Much work, but particularly important was the elimination of %AUTHOR in favor of 5 top-level keys. 0.3606 August 16, 2005 - Fixing interactive mode. 0.3605 August 13, 2005 0.3604 July 31, 2005 - Adapted test suite so that it will run (albeit skipping most tests) on versions of Perl < 5.6. 0.3603 July 23, 2005 - Intermediate version not released to CPAN. Starting to move standard copy to Defaults::standard_text(). Realized that block_final_one() was making no use of $module, so eliminated $module from sub's argument list. Similarly, realized that block_new_method() was making no use of $module, so eliminated it from the sub's argument list. 0.3602 July 22, 2005 - Intermediate version not released to CPAN. After much sweat, moved sub default_values() to new package lib/ExtUtils/ModuleMaker/Defaults.pm. - Created sub failsafe() as testing subroutine for t/02_bad_constructor.t. - Corrected one misspecified test in t/03_quick.t. 0.36 July 18, 2005 - Corrected error pointed out by CPAN tester Scott R. Godin: IO::Capture and subclasses were omitted from MANIFEST, causing failure in t/11_miscargs.t. - Added additional command-line option '-q' to suppress sub new() in .pm file created by modulemaker. Added tests to t/09_mmkr.t to test suppression of POD and suppression of sub new() in .pm file created by modulemaker. Along the way, wrote additional testing subroutines and added them to t/testlib/_Auxiliary.pm: exported: check_pm_file make_compact not exported: pod_present constructor_present - Typographic cleanup of what modulemaker prints to STDOUT for Directives menu (mistake caused by my wrap settings in vi). - Commented out SecondStyles.pm so it will no longer be bundled via make dist and no longer be uploaded to CPAN. 0.35 July 17, 2005 - Removed support for Perl 4 style module names (e.g., D'oh). - Added many tests, including tests for the modulemaker utility in non-interactive mode. - Extensive refactoring, including extraction of most variable and subroutine declarations from modulemaker utility and placed them in lib/ExtUtils/ModuleMaker/Interactive.pm. Done to simplify future maintenance and make coverage results more transparent. - Added partial_dump() method to ModuleMaker.pm. This is not yet viewed as publicly available but is used to diagnose the content of the EUMM object during development. - Improvements in documentation; more to come. 0.34 - Intermediate version not released to CPAN. 0.33 July 8, 2005 - Primary maintenance taken over by James E Keenan (jkeenan@cpan.org). - scripts/modulemaker - modulemaker utility revised with objective of making it possible to specify all options on the command-line - Included ABSTRACT in Main Menu and created prompt for new abstract - Allowed for additional command-line options for specification of abstract and author info - Modified Usage message to reflect additional command-line options; placed options in alphabetical order - lib/ExtUtils/ModuleMaker.pm: - Corrected typing errors in several places - Modified ORGANIZATION in POD to parallel wording of CPANID - Changed $defaults{ABSTRACT} to 'Module abstract (<= 44 characters) goes here' - Allowed for ORGANIZATION, where defined, to be included in AUTHOR COMPOSITE and thereby included in Author section of POD - Fixed Block_Begin() and Block_Begin_BareBones() to eliminate blank first line in .pm files - Deletion of superseded/deprecated subroutines and corresponding POD - t/*.t - Corrected names of test files on first lines of each of 02_simple.t, 03_quick.t and 04_compact.t - Created 05_abstract. to test current and new features: -- correct Author and Email in Makefile.PL -- placement of Abstract in POD -- placement of Author info in POD -- placement of History info in POD rather than in Changes - Created t/06_build.t and t/07_proxy.t to test alternative BUILD_SYSTEMs - Created t/08_modulemaker.t to pave the way for testing of the modulemaker utility (much to be done) -------------------------------------------------------------- 0.32 June 16 2003 (YAPC::Boca_Raton) - Removed Fakefile.PL that was for testing but only caused problems. The content has been held over after __END__ in Makefile.PL - Added missing fullname for libpng license which was causing an odd number of parts in a hash - Added support for Module::Build (patch from Dave Rolsky) - Fixed misplaced backslash when generating the new method - Generated Makefile.PL now has a prerequisite of Test::Simple -------------------------------------------------------------- 0.312_29 September 2002 (YAPC::Munich) - Complete rewrite from the ground up for the 0.3xxx line - Created by ExtUtils::ModuleMaker 0.202 - Now object oriented for customizability - Licenses in two new modules: ExtUtils::ModuleMaker::Licenses::Standard ExtUtils::ModuleMaker::Licenses::Local - Customize for local environment by subclassing, example in ExtUtils::ModuleMaker::SecondStyle - Tests now use Test::More - New interactive script 'modulemaker' - Removed old scripts 'newmodule' and 'eumm' - Old functions are deprecated, but still here for now Quick_Module Generate_Module_Files - Fixed missing VERSION_FROM in Makefile.PL - pod and new method can now be optional in extra modules and different in each module -------------------------------------------------------------- 0.204_01 Fri May 31 2002 - joshua@cpan.org - Renamed eumm to the more memorable newmodule - Documented newmodule - More testing. We use Test::More now - Verbose prints to STDOUT not STDERR - Minor internal changes 0.202_02 Wed May 29 2002 - joshua@cpan.org - New feature: create compact base directories - New program: eumm (name TBD) frontend. 0.202_01 Sat May 25 2002 - joshua@cpan.org - Creates .cvsignore - Creates MANIFEST.SKIP 0.202 Fri Dec 28 2001 - Fixed typo on line 134 of Licences.pm 0.201_02 Fri Jul 27 2001 - Coming out party for the module at TPC 5.0 - Change name of module from ModuleMaker to ExtUtils::ModuleMaker - Added Licences.pm including: - LICENSE file added to the manifest - Now support all 21 licenses approved by opensource.org - Added simple tests - Need to add INLINE hooks, XS hooks, and better testing 0.2001+ Wed Jul 18 2001 - Minor housekeeping details 0.2 Sun Jul 08 20:47:34 2001 - original version; created by ModuleMaker 0.2 - Amazingly incestuous isn't it.