Revision history for Perl extension ExtUtils::ModuleMaker.
0.3701 September 4, 2005
- Created ExtUtils::ModuleMaker::Public to hold all publicly available
methods except new(). This was done in the hope that it would make
complete_build() and other such methods subclassable. Also: realized I had
failed to include t/testlib/ExtUtils/ModuleMaker/Alt_no_Todo.pm in MANIFEST,
which meant it wasn't bundled in tarball that went up to CPAN. Deleted v0.37
from CPAN; corrected MANIFEST.
0.37 September 3, 2005
- Implemented ALT_BUILD; tested via script call and modulemaker
command-line. It does not appear that complete_build() can be
subclassed as of yet.
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.