4 use warnings FATAL => 'all';
5 use File::Path qw(mkpath);
7 my $project = $ARGV[0] or die "No project name passed";
9 my @parts = split('-', $project);
11 my $lib_file = join('/', 'lib', @parts).".pm";
13 my $author = $ENV{DISTAR_INIT_AUTHOR} or die "DISTAR_INIT_AUTHOR unset";
15 mkpath "${project}/maint";
17 mkpath join('/', $project, 'lib', @parts[0..$#parts-1]);
19 open my $mpl_main, '>', "${project}/Makefile.PL"
20 or die "couldn't open Makefile.PL: $!";
22 print $mpl_main sprintf(<<'END', $project, $lib_file);
24 use warnings FATAL => 'all';
25 use ExtUtils::MakeMaker;
27 (do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
37 open my $mpl_maint, '>', "${project}/maint/Makefile.PL.include"
38 or die "couldn't open maint/Makefile.PL.include: $!";
40 print $mpl_maint sprintf(<<'END', $author);
43 or system("git clone git://git.shadowcat.co.uk/p5sagit/Distar.git")
53 open my $pm, '>', "${project}/${lib_file}"
54 or die "Couldn't open .pm file: $!";
56 my $package_name = join('::', @parts);
58 my $year = 1900+(localtime)[5];
60 my $mod_text = sprintf(<<'END', $package_name, $package_name, $author, $year, $package_name);
63 our $VERSION = '0.000001'; # 0.0.1
65 $VERSION = eval $VERSION;
71 %s - Description goes here
83 None yet - maybe this software is perfect! (ahahahahahahahahaha)
87 Copyright (c) %s the %s L</AUTHOR> and L</CONTRIBUTORS>
92 This library is free software and may be distributed under the same terms
96 $mod_text =~ s/^ //mg;
102 chdir($project); system("git init");