App-GhostWork

 view release on metacpan or  search on metacpan

pmake.bat  view on Meta::CPAN

                }
                close(FILE);
            }
        }
        delete @requires{keys %provides};
        if ($package eq 'Char') {
            delete @requires{qw(
                Ebig5hkscs
                Ebig5plus
                Egb18030
                Egbk 
                Ehp15
                Einformixv6als
                Ekps9566
                Euhc
            )};
            delete @provides{qw(
                Esjis
                Sjis
            )};
        }

        #                                                12345678
        my $requires_as_makefile_pl = join "\n", map {qq{        '$_' => '$requires{$_}',}} sort keys %requires;

        # write Makefile.PL
        open(FH_MAKEFILEPL,'>Makefile.PL') || die "Can't open file: Makefile.PL.\n";
        binmode FH_MAKEFILEPL;
        printf FH_MAKEFILEPL (<<'END', $package, $version, $abstract, $requires_as_makefile_pl, $author);
use strict;
BEGIN { $INC{'warnings.pm'} = '' if $] < 5.006 }; use warnings; local $^W=1;
use ExtUtils::MakeMaker;

WriteMakefile(
    'NAME'      => q{%s},
    'VERSION'   => q{%s},
    'ABSTRACT'  => q{%s},
    'PREREQ_PM' => {
%s
    },
    'AUTHOR'    => q{%s},
);

__END__
END
        close(FH_MAKEFILEPL);
        check_usascii('Makefile.PL');

        # write META.yml
        #
        # CPANTS Kwalitee shows us following message, but never believe it.
        # It's a trap. #'
        #
        # Kwalitee Indicator: meta_yml_conforms_to_known_spec core
        # META.yml does not conform to any recognised META.yml Spec.
        # How to fix
        # Take a look at the META.yml Spec at https://metacpan.org/pod/CPAN::Meta::History::Meta_1_4
        # (for version 1.4) or https://metacpan.org/pod/CPAN::Meta::Spec (for version 2),
        # and change your META.yml accordingly. 
        #
        # How to escape from trap
        #
        #   meta-spec:
        #     version: 1.4
        #     url: http://module-build.sourceforge.net/META-spec-v1.4.html

        #                                      12     1234
        my $provides_as_yml = join "\n", map {"  $_:\n    file: $provides{$_}"} sort keys %provides;
        my $requires_as_yml = join "\n", map {"  $_: $requires{$_}"}            sort keys %requires;
        #                                      12

        open(FH_METAYML,'>META.yml') || die "Can't open file: META.yml.\n";
        binmode FH_METAYML;
        printf FH_METAYML (<<'END', $name_as_dist_on_url, $version, $abstract, $author, $requires_as_yml, $name_as_dist_on_url);
--- #YAML:1.0
meta-spec:
  version: 1.4
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
name: %s
version: %s
abstract: %s
author:
  - %s
license: perl
generated_by: pmake.bat
requires:
%s
build_requires:
  Test: 1.122
resources:
  license: http://dev.perl.org/licenses/
  repository: https://github.com/ina-cpan/%s
END
        close(FH_METAYML);
        check_usascii('META.yml');

        # write META.json
        #
        # CPANTS Kwalitee shows us following message, but never believe it.
        # It's a trap. #'
        #
        # Kwalitee Indicator: meta_json_conforms_to_known_spec
        # META.json does not conform to any recognised META Spec.
        # How to fix
        # Take a look at the META.json Spec at https://metacpan.org/pod/CPAN::Meta::History::Meta_1_4
        # (for version 1.4) or https://metacpan.org/pod/CPAN::Meta::Spec (for version 2),
        # and change your META.json accordingly. 
        #
        # How to escape from trap
        #
        #   "meta-spec" : {
        #       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
        #       "version" : 2
        #   },

        #                                          1234567890123456
        my $requires_as_json = join ",\n", map {qq{                "$_" : "$requires{$_}"}}                            sort keys %requires;
        my $provides_as_json = join ",\n", map {qq{        "$_" : {\n            "file" : "$provides{$_}"\n        }}} sort keys %provides;
        #                                          12345678          123456789012                          12345678

        open(FH_METAJSON,'>META.json') || die "Can't open file: META.json.\n";
        binmode FH_METAJSON;
        printf FH_METAJSON (<<'END', $name_as_dist_on_url, $version, $abstract, $author, $name_as_dist_on_url, $requires_as_json, $requires_as_json, $requires_as_json);
{
    "name" : "%s",
    "version" : "%s",
    "abstract" : "%s",
    "author" : [
        "%s"
    ],
    "dynamic_config" : 1,
    "generated_by" : "pmake.bat",
    "license" : [
        "perl_5"
    ],
    "meta-spec" : {
        "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
        "version" : 2
    },
    "release_status" : "stable",
    "resources" : {
        "license" : [
            "http://dev.perl.org/licenses/"
        ],
        "repository" : {
            "url" : "https://github.com/ina-cpan/%s"
        }
    },
    "prereqs" : {
        "build" : {
            "requires" : {
%s
            }
        },
        "configure" : {
            "requires" : {
%s
            }
        },
        "runtime" : {
            "requires" : {
%s
            }
        }
    }
}
END
        close(FH_METAJSON);
        check_usascii('META.json');



( run in 3.143 seconds using v1.01-cache-2.11-cpan-df04353d9ac )