Build.PL100644000765000024 45514656142650 14314 0ustar00skajistaff000000000000Minilla-v3.1.25# ========================================================================= # THIS FILE IS AUTOMATICALLY GENERATED BY MINILLA. # DO NOT EDIT DIRECTLY. # ========================================================================= use 5.008_001; use strict; use Module::Build::Tiny 0.035; Build_PL(); Changes100644000765000024 5307714656142650 14363 0ustar00skajistaff000000000000Minilla-v3.1.25Revision history for Perl extension Minilla v3.1.25 2024-08-11T14:06:16Z - Add perl 5.40, 5.38 to github action template (kfly8 #334) v3.1.24 2024-07-25T10:33:18Z - Add markdown_maker_opts configuration (DabeDotCom #332) v3.1.23 2023-10-07T10:26:39Z - Add documentation for module_maker option (giftnuss #330) v3.1.22 2023-07-08T05:48:31Z - Support package version syntax (#328) v3.1.21 2023-02-17T14:36:59Z - Do not set x_authority by default (#326) - Use actions/checkout@v3 (#327) v3.1.20 2022-11-13T00:03:40Z - Fix test failure issue with git 2.38.1 or higher versions - Improve the way to get git branch name v3.1.19 2022-06-03T13:38:13Z - Add perl 5.36 to github actions template (AnaTofuZ #320) v3.1.18 2022-05-10T20:00:37Z - Use "prove" in github actions template (#319) v3.1.17 2022-05-01T23:20:56Z - Change from Travis to GitHub Actions (kfly8 #318) v3.1.16 2022-03-13T10:34:43Z - Update github actions badge url (#317) v3.1.15 2022-01-31T13:42:40Z - Use https for github/gitlab urls (#315) v3.1.14 2022-01-07T14:52:37Z - Improve deciding default branch(Songmu #313) - suppress warnings of redundant argument(Songmu #314) v3.1.13 2022-01-07T09:14:48Z - Improve inputing new version(Songmu #310) - Use `release.branch` as default branch for badge URL instead of `master` (Songmu #311) - Improve checking remote name(Songmu #312) v3.1.12 2021-03-25T06:13:42Z - Introduce CheckReleaseBranch step (kfly8 #305) - Take author name from AUTHOR section even if it appears later (kaz-utashiro #302) - Add --with-recommends at a second point in the documentation (akarelas #297) v3.1.11 2020-09-12T11:05:53Z - Improve 'minil release' error message(#264) - Improve document(#294) v3.1.10 2020-03-30T10:53:54Z - Add gitlab badges (thibaultduponchelle, srchulo #288, #285) - It is a conventaion that the remote should be named origin (thibaultduponchelle #287) - Update travis.yml template; now travis xenial environment supports perl 5.14+ (#289) v3.1.9 2020-01-24T13:59:54Z - Use '--cleanup=verbatim' option with commit not to erase empty line in diff output (kaz-utashiro #281) - Fix grammar (anirvan #286) v3.1.8 2019-11-24T01:42:11Z - Update travis.yml template; set `dist: trusty` for perl <= 5.20 (#279) v3.1.7 2019-10-03T11:22:06Z - Add badge for github actions (karupanerura #274) v3.1.6 2019-09-03T22:23:16Z - Support GitLab hosted repositories (jlcooper #271) v3.1.5 2019-07-25T14:14:10Z - Older Test::Pause::Permissions may have bugs. we need to depend on the latest version (#258) - Add perl 5.28, 5.30 to travis.yml (akiym #267) - Fix the usage of `git submodule foreach` for git 2.22.0 (bluefeet #268, #269) v3.1.4 2018-12-30T05:46:15Z - Support travis-ci.com badge (#253) v3.1.3 2018-10-17T23:08:14Z - Add kritika badge (vti #255) - Do not bump versions of files which are listed as no_index (vti #256, #257) v3.1.2 2018-07-05T15:45:57Z - Ask Git for the top level, rather than inferring from .git/ (mavit #250) v3.1.1 2018-06-07T13:37:18Z - Pass features from cpanfile to optional_features in META.json (mavit #251, #35) v3.1.0 2018-05-14T23:06:23Z - Set x_static_install 1 if it is appropriate (#241) v3.0.18 2018-05-13T13:24:39Z - Only extract authors from =head1 (Grinnz, jmacdotorg #240, #243) - Remove temp directories in test (#245) - Do not count file:// repository as github (#246) v3.0.17 2018-04-15T14:43:09Z - Fix permissions test at dev version release (akiym #238) - Add os_unsupported support (karupanerura #237) - Set c_source only if it is defined (ppisar #235, #236) v3.0.16 2018-02-25T17:28:30Z - Suppress `Wide character` warnings while regenerating README.md (Songmu #234) v3.0.15 2018-02-20T10:43:04Z - Add logo to AppVeyor badge (zakame #231) - Adjust dependency around release testing (Songmu #233) v3.0.14 2017-12-12T13:17:27Z - Fix an issue where run_tests.t fails on Windows (sago35 #227) v3.0.13 2017-06-25T07:08:29Z - Handle repository rename on AppVeyor badge (zakame #225) v3.0.12 2017-06-09T19:47:56Z - Sort x_contributors in META files (#223) - Add perl 5.24 and 5.26 to travis.yml template (#224) v3.0.11 2017-05-22T10:22:00Z - Fix tests for no-dot-in-inc (eserte #220, #221) - Now Minilla requires perl 5.10.1+ (#222) v3.0.10 2017-02-20T16:30:43Z - Set '.' to @INC when using custom builder for newer Perl(#216) v3.0.9 2017-01-12T04:30:41Z - Skip some tests if GIT_CONFIG environment variable is set(#213) v3.0.8 2017-01-05T11:23:47Z - Allow 'Metadata' section in minil.toml (#209) - Use shebang '#!perl' so that toolchains rewrite it (#210) v3.0.7 2016-12-13T13:07:43Z - Remove @INC optimization. It doesn't work on ubuntu( #205 ). (reported by kazuho++) - Show better error message when there's no .pause file. (reported by kazuho++) - Added documents about release flow (suggested by kazuho++) v3.0.6 2016-11-23T04:08:12Z - Fix metacpan badge generating wrong URL issue v3.0.5 2016-11-10T17:19:04Z - Support Travis private repository badge(#201) - Support metacpan badge(#202, #203) v3.0.4 2016-08-01T13:31:03Z - Support CircleCI badge v3.0.3 2016-07-27T22:49:54Z - Update documentation - Sort keys in Build.PL(#196) - Fix environment variable issue of test(#195) v3.0.2 2016-06-03T23:07:05Z commit 01fc3652ea8a892dc81ced2fe4534024b8d73777 Author: Jörg Forstreuter Date: Thu Apr 21 15:26:11 2016 +0200 added requirements from cpan_meta information so that the generate Build.PL file has the correct information for Module::Build commit 8924842129238ba3fbc29e68cbecb49807cea1bd Author: sago35 Date: Tue Mar 22 20:33:19 2016 +0900 Delete system() function call Delete system() function call. Some operating system don't have 'cat' cmd. commit da96e230055248870864e8215edd87094bae6433 Author: Syohei YOSHIDA Date: Tue Mar 22 12:17:43 2016 +0900 Always use 'git.config' Both 'git.config' and environment variables are set, then environment variables are used, this causes test failure. commit cf64b33421971b62e96f7a3cb03b94c7405beb35 Author: Syohei YOSHIDA Date: Tue Feb 16 10:51:55 2016 +0900 Lookup license package with case insensitive commit 3188e8be17a1bd8c426689a7506b1fe8c8eb27f9 Author: Syohei YOSHIDA Date: Tue Feb 16 10:50:48 2016 +0900 Add license case issue test(#184) commit 06ab1d8027c251c329c74e813d222dfc263a0894 Author: Pine Mizune Date: Sun Dec 13 11:48:30 2015 +0000 Add Perl 5.22 v3.0.1 2015-12-09T20:49:36Z commit 480959a65a4c4df5109dce11e44919316eacf389 Author: Pine Mizune Date: Fri Dec 4 02:55:50 2015 +0900 Support to generate appveyor's badge. v3.0.0 2015-10-30T06:57:20Z - bump version v2.4.4 2015-10-27T08:04:27Z - enable 'sudo: false' by default in .travis.yml v2.4.3 2015-07-22T00:38:38Z commit 91919267d95b3ca04bb839842cfe9430a93f04a6 Author: Tokuhiro Matsuno Date: Tue Jul 21 20:53:44 2015 +0900 Support 5.6 with EUMM. commit 4fd3815b3c1259d90f56020c476b2845896dabb1 Author: Tatsuhiko Miyagawa Date: Mon Jul 20 18:16:56 2015 -0700 require Module::Build 0.4005. commit c0f6026ab38813da9b4ddd6a13dd9380e705eb06 Author: Tatsuhiko Miyagawa Date: Mon Jul 20 18:13:39 2015 -0700 require EUMM 6.64 and remove fallback 6.64+ supports TEST_REQUIRES, and of course generates and merges MYMETA correctly. commit e1b0ebca3d2b079176b12c87e74d0a5fac6c79b1 Author: Tatsuhiko Miyagawa Date: Mon Jul 20 11:56:56 2015 -0700 Add perl 5.8.1 requirement in the assumption. This makes Minilla more opinionated, and it is better to state so, rather than implicitly requiring 5.8.1 due to the build tool requirement (i.e. CPAN::Meta) v2.4.2 2015-07-13T02:55:57Z - Make sure to always use Module::Build::Tiny by default, even when there's no module_maker preference in minil.toml configuration file (or the configuration file does not exist at all). Previously, `minil new` generates MBT by default, but old distributions without the preference was still using Module::Build by default. This version will switch to ModuleBuildTiny, unless you have a MB specific options such as `[build]` or `[XSUtil]`. (miyagawa) - Switch to Module::Build::Tiny in Minilla itself. v2.4.1 2015-05-02T02:30:20Z - Depends on latest Module::Metadata. v2.4.0 2015-04-28T02:15:38Z commit 28e4c4784f447ebccac651d4c1119ceb25a0f2b2 Author: Tatsuhiko Miyagawa Date: Mon Apr 27 09:26:01 2015 -0700 Relax MakeMaker requirement, and also trust MM's MYMETA generation. Slighly tweaked the way falling back _REQUIRES to PREREQ_PM, so that it will only revert to PREREQ_PM if MakeMaker is old. Do not request higher MakeMaker in configure_requires since older MakeMaker will just install the distribution fine. Do not set NO_MYMETA since MakeMaker (CPAN::Meta) will preserve what's in META files when creating MYMETA. Only copy to MYMETA when the feature is not in MakeMaker. Only requires what's in 'requires' type, since the default includes 'recommends' and MakeMaker dumps them into _REQUIRES. v2.3.0 2014-12-07T11:28:37Z - Fixed repository url was broken, when url contains port number. (karupanerura++) - Fixed testing deps (reported by dotandimet++) v2.2.1 2014-11-17T02:31:30Z - On Windows, (stat($file))[2] * ALWAYS * results in octal 0100666 (which means it is world writeable). World writeable files are always rejected by PAUSE. The solution is to change a file mode octal 0100666 to octal 000664, such that it is * NOT * world writeable. This works on Windows, as well as on other systems (Linux, Mac, etc...), because the filemode 0100666 only occurs on Windows. (If it occurred on Linux, it would be wrong anyway) (klaus03) v2.2.0 2014-10-20T01:45:49Z - Work better with github urls(lestrrat) v2.1.3 2014-10-10T02:33:19Z - Minilla throws exception if you are using PL_files option with ModuleMaker::MBTiny. It's not compatible with MBTiny. v2.1.2 2014-10-10T02:13:02Z - Depended on latest TOML.pm commit 343eba6a5a0b6980d4341f08a3aa18e80ce968f8 Author: iwata-motonori Date: Tue Aug 26 19:22:29 2014 +0900 now correspond to a badge of Gitter v2.1.1 2014-06-27T00:41:51Z - Fixed deps. (reported by nnutter++) https://github.com/tokuhirom/Minilla/issues/137 v2.1.0 2014-06-24T01:11:14Z - Added EXPERIMENTAL EUMM support. v2.0.0 2014-06-23T10:08:59Z - Do not use CPAN::Meta in Build.PL... Previous version uses CPAN::Meta in Build.PL. It breaks really old environment that doesn't supports configure_requires. (tokuhirom) v1.1.0 2014-06-01T02:50:15Z commit ee9b9f7498c2fc260453cd5701a9009fbb275191 Author: Nathaniel Nutter Date: Fri May 30 17:24:09 2014 -0500 allow a line to be annotated with '# No BumpVersion' to skip commit 3330d6984747b1c9d02b579a56ce2353bbc43548 Author: moznion Date: Sat May 17 14:09:26 2014 +0900 Fixed the problem where the default is not set to MBT v1.0.0 2014-05-12T04:47:31Z - Default module builder is now Module::Builder::Tiny. (tokuhirom) v0.15.2 2014-05-02T01:28:42Z - Updaated prereqs v0.15.1 2014-05-01T07:38:30Z - Run the xt/*.t with Module::Build::Tiny. (moznion) v0.15.0 2014-05-01T03:51:37Z - Added experimental Module::Build::Tiny support. (tokuhirom) v0.14.1 2014-04-08T03:12:02Z - Fix case that there is no '.pause'. (syohex, gcs) v0.14.0 2014-04-07T21:15:35Z - Generate 'authority' section in minil.toml by default. (tokuhirom) - Support Test::PAUSE::Permissions. (tokuhirom) - Update requirement 'Software::License' (syohex) v0.13.0 2014-03-26T03:06:36Z - Switch to Perl::MinimumVersion::Fast v0.12.0 2014-03-16T03:25:25Z commit 0e929d2a63cee1ab9778f676744602978baab524 Author: moznion Date: Sun Mar 16 00:55:13 2014 +0900 Add release hook feature commit dc3da3cc010a7453ecdc0afafd245db6cd8df306 Author: Graham Knop Date: Sat Mar 8 16:37:48 2014 -0500 decode contributor names commit 5516ab9c07441dedde25fc5ce81cee01edcc2c89 Author: Kenichi Ishigaki Date: Thu Feb 27 16:54:10 2014 +0900 chmod has a portability issue under Win32 (see perlport) v0.11.1 2014-02-27T03:20:09Z - Add Debian standard inc (syohex, helmut) - allow_pureperl requires Module::Build 0.4005. http://blog.64p.org/entry/2013/04/27/091019 (kazeburo) - Save file mode when creating a dist tarball (Jiro Nishiguchi) - Update bash/zsh completions (syohex) v0.11.0 2013-11-27T00:17:41Z - Support `-y` option for clean command (moznion) - Release::UploadToCPAN: Do not abort if user doesn't provide input char. (Suggested by gfx++) v0.10.0 2013-11-25T13:26:03Z - ReleaseTest.MinimumVersion for skipping Test::MinimumVersion test. (Suggested by gfx) v0.9.1 2013-11-25T07:55:49Z - Fixed logic in `minil test`. (tokuhirom) - Inject the badges line in minil.toml skelton. (tokuhirom) - Update bash/zsh completion (Syohei YOSHIDA) - Display upload url when prompting for upload if `upload_uri` is specified in `pause_config` (Songmu) v0.9.0 2013-11-13T11:07:20Z - Added release.do_not_upload_to_cpan (tokuhirom) v0.8.4 2013-11-11T06:59:28Z - Add 5.18 to default .travis.yml (tagomoris) v0.8.3 2013-11-05T02:59:38Z [BUG FIX] - Fixed `minil release --no-test`. The flag does not affected on older version. (hirobanex) [DOCUMENTATION] - Delete note that upload uri is unofficiall. Added notes about OrePAN2::Server. (hirobanex) v0.8.2 2013-11-03T10:30:11Z - Added exmperimental support for tap_harness_args. (tokuhirom) v0.8.1 2013-10-28T04:45:46Z - git init before migrating if necessary (charsbar) - do not test twice on installation by default. (charsbar) - ignore /Build.bat (generated when you run "perl Build.PL" on Win32) (charsbar) v0.8.0 2013-10-15T04:48:11Z - Supports git-submodule (ysasaki) - Regenerate Build.PL after (Shoichi Kaji) v0.7.5 2013-10-09T04:05:16Z - Do not bump up version in share/ directory. (tokuhirom) v0.7.4 2013-10-07T00:41:07Z - Added 'builder' directory as default no_index. (tokuhirom) v0.7.3 2013-10-05T00:32:34Z - Fixed a problem when you specify a path string in XSUtil section (hideo55) - Pod tweaks (dayflower) v0.7.2 2013-09-30T07:38:09Z - release again. v0.7.1 2013-09-30T07:30:08Z - Added tag_format option. (Suggested by tagomoris++) v0.7.0 2013-09-26T05:07:27Z - Support Module::Build::XSUtil (hideo55) - Support 'badges' attribute for showing travis badges! (moznion) v0.6.8 2013-09-22T10:28:05Z - Better license support in minil.toml. (tokuhirom) v0.6.7 2013-09-19T04:16:29Z - license field in prulal field. (pointed by leont) v0.6.6 2013-09-17T02:47:55Z - Fixed dependencies (keita.iseki) - Documented about .mailmap (tokuhirom) - skip -x test that has a portability issue on win32 (see perlport; chmod has an issue as well) (Kenichi Ishigaki) v0.6.5 2013-09-01T23:35:54Z - Fixed deps v0.6.4 2013-08-21T08:06:10Z - Addex x_authority support (tokuhirom) v0.6.3 2013-08-20T04:27:22Z - version::is_strict is too strict for me. Use version::is_lax instead. v0.6.2 2013-08-16T00:48:07Z - Generate stop words list by Dumper. (reported by gfx++) v0.6.1 2013-08-15T06:14:53Z - Support PL_files (tokuhirom) v0.6.0 2013-08-14T05:49:51Z - Added version number validation while release process. (tokuhirom) - Add a minil run command (lestrrat) - Added check git exist on exec some cli commands. (gashev) v0.5.6 2013-07-07T02:36:17Z - Show error message when Minilla can't get version number. (tokuhirom) v0.5.5 2013-07-03T07:28:22Z - Fix the problem about not including the author name in stop words. (moznion) - Added new `c_source` configuration option. (tokuhirom) v0.5.3 2013-06-12T02:42:17Z - Set 'release_status' key in META.json as 'unstable' if the version number contains '_' character. https://github.com/tokuhirom/Minilla/issues/61#issuecomment-19238382 (Reported by mlawren++) v0.5.2 2013-06-11T08:52:49Z - Set RELEASE_TESTING, AUTHOR_TESTING, AUTOMATED_TESTING after verified prereqs. (Reported by aloelight++) v0.5.1 2013-06-11T08:05:45Z - Note about FAKE_RELEASE in CLI::Release's document. (tokuhirom) v0.5.0 2013-06-09T09:26:56Z - Add 'pause_config' to release to an alternate PAUSE server. (GeJ) v0.4.9 2013-06-08T04:58:01Z - s/allow_pure_perl/allow_pureperl/! allow_pure_perl is just a typo... orz. This option is introduced in v0.4.0. (tokuhirom) v0.4.8 2013-06-08T01:25:45Z - Win32 Portability fix for testing code. (tokuhirom) v0.4.7 2013-06-04T21:44:45Z - Set PERL_CPANM_HOME for cpanm-reporter in test case. Ref https://github.com/garu/App-cpanminus-reporter/issues/3 (tokuhirom) v0.4.6 2013-06-01T05:35:12Z - Remove xt/spelling.t while migrating v0.4.5 2013-05-29T20:14:47Z - fixed a bug that empty file couldn't be included to dist archive. (ryochin) - Fixed testing failure (tokuhirom) v0.4.4 2013-05-24T04:38:41Z - Depended on latest Pod::Readme (reported by mlawren++) - Force name delimiter to be single hyphen. (moznion++) v0.4.3 2013-05-17T07:06:16Z - Depended on Getopt::Long 2.36 for GetOptionsFromArray (tokuhirom) - Fixed "Use of uninitialized value $name in substitution (s///) at lib/Minilla/Metadata.pm line 55." error. (lestrrat++) - Ignore directories start with a dot if include_dotfiles is false For compatible with Dist::Milla. (songmu++) - docs for FileGatherer (songmu++) v0.4.2 2013-05-07T10:41:39Z - Removed dependency on Path::Tiny v0.4.1 2013-05-07T09:06:46Z - Module::Build keeps -Ixxx arguments in running `./Build`. Do not make rel2abs '.'. In executing `perl Build.PL` (tokuhirom) - Cleanup code around `minil build`. Clean and saner code. Older implementation creates work dir in '.build/XXXXX/' and copy it. New implementation creates work dir in 'Module-Name-X.XX/' directly. (tokuhirom) v0.4.0 2013-05-07T05:09:19Z - documented build.build_class (Fuji, Goro) - Use `cpanm --notest` when using `minil --no-test install` (reported by xaicron++) - Support script_files in minil.toml (xaicron) - Added allow_pure_perl option. (tokuhirom) v0.3.2 2013-05-03T01:09:37Z - Do not run test case when cpanm command is not available (tokuhirom) - Add newline same as other error messages (Syohei YOSHIDA) v0.3.1 2013-05-02T07:38:53Z - Regenerate Build.PL/README.md before release, automatically (tokuhirom) - Deny Foo::Bar style name in minil.toml. (tokuhirom) v0.3.0 2013-05-02T00:42:00Z - Support MANIFEST.SKIP (Suggested by Tatsuhiko Miyagawa) v0.2.0 2013-04-30T02:21:41Z - add [no_index] feature for minil.toml (Masayuki Matsuki) v0.1.0 2013-04-27T14:51:23Z - Added authors_from, abstract_from v0.0.56 2013-04-24T05:23:14Z - Use cpanm instead of CPAN::Meta::Check. Closed #12 (Suggested by miyagawa++) - Fixed Double-encoded author name in META.json Closed #44 https://github.com/tokuhirom/Minilla/issues/44 (Reported by ilmali++) v0.0.55 2013-04-24T03:09:28Z - Save mode when copying files to working directory. (tokuhirom) v0.0.54 2013-04-22T23:27:19Z [INCOMPATIBLE CHANGES] - Enable xt/spelling.t by ~/spellunker.en, instead of ~/.aspell.en.pws [FEATURE ENHANCEMENTS] - Better zsh completion (Syohei YOSHIDA, Yuji Shimada) - Better spelling checking with Spellunker. (tokuhirom) - Better version number incrementation with Version::Next (tokuhirom) - Disabled ACTION_distmeta and ACTION_installdeps in Build.PL (tokuhirom) - Added new configuration parameter: readme_from (tokuhirom) - Support 'share/' directiory(Distribution share directiory only) (tokuhirom) - Remove dupilicate entry in manifest file (Masayuki Matsuki) - force add LICENSE in migration (xaicron) - add MYMETA.* and <% $dist %>-* to default .gitignore (gfx) v0.0.53 2013-04-09T05:57:07Z - Exclude extlib/ directory from tar ball. (Reported by kazeburo++) v0.0.52 2013-04-08T03:11:44Z - Tiny tweaks for CPAN testers. (tokuhirom) v0.0.51 2013-04-07T04:09:37Z - Remove M::I related files while migration. (tokuhirom) - Added '=encoding utf-8' in skelton (tokuhirom) - Do not run test cases without git command. (tokuhirom) v0.0.50 2013-04-04T06:03:31Z - first release on CPAN! 0.0.1 2013-03-18T19:11:49 - original version LICENSE100644000765000024 4374314656142650 14074 0ustar00skajistaff000000000000Minilla-v3.1.25This software is copyright (c) 2013 by tokuhirom . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Terms of the Perl programming language system itself a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- This software is Copyright (c) 2013 by tokuhirom . This is free software, licensed under: The GNU General Public License, Version 1, February 1989 GNU GENERAL PUBLIC LICENSE Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The license agreements of most software companies try to keep users at the mercy of those companies. By contrast, our General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. The General Public License applies to the Free Software Foundation's software and to any other program whose authors commit to using it. You can use it for your programs, too. When we speak of free software, we are referring to freedom, not price. Specifically, the General Public License is designed to make sure that you have the freedom to give away or sell copies of free software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications. Each licensee is addressed as "you". 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this General Public License and to the absence of any warranty; and give any other recipients of the Program a copy of this General Public License along with the Program. You may charge a fee for the physical act of transferring a copy. 2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License. d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. 3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.) Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. 4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation. 8. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to humanity, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice That's all there is to it! --- The Artistic License 1.0 --- This software is Copyright (c) 2013 by tokuhirom . This is free software, licensed under: The Artistic License 1.0 The Artistic License Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: - "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. - "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. - "Copyright Holder" is whoever is named in the copyright or copyrights for the package. - "You" is you, if you're thinking about copying or distributing this Package. - "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) - "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. 7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End META.json100644000765000024 2477114656142650 14510 0ustar00skajistaff000000000000Minilla-v3.1.25{ "abstract" : "CPAN module authoring tool", "author" : [ "Tokuhiro Matsuno < tokuhirom@gmail.com >" ], "dynamic_config" : 0, "generated_by" : "Minilla/v3.1.24", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "Minilla", "no_index" : { "directory" : [ "t", "xt", "inc", "share", "eg", "examples", "author", "builder" ] }, "prereqs" : { "configure" : { "requires" : { "Module::Build::Tiny" : "0.035" } }, "develop" : { "requires" : { "Test::CPAN::Meta" : "0", "Test::MinimumVersion::Fast" : "0.04", "Test::PAUSE::Permissions" : "0.07", "Test::Pod" : "1.41", "Test::Spellunker" : "v0.2.7" } }, "runtime" : { "recommends" : { "CPAN::Uploader" : "0", "Pod::Escapes" : "0", "Software::License" : "0.103010", "Test::CPAN::Meta" : "0", "Test::MinimumVersion::Fast" : "0.04", "Test::PAUSE::Permissions" : "0", "Test::Pod" : "0", "Test::Spellunker" : "v0.2.7", "Version::Next" : "0" }, "requires" : { "App::cpanminus" : "1.6902", "Archive::Tar" : "1.60", "CPAN::Meta" : "2.132830", "Data::Section::Simple" : "0.04", "ExtUtils::Manifest" : "1.54", "File::Which" : "0", "File::pushd" : "0", "Getopt::Long" : "2.36", "Module::CPANfile" : "0.9025", "Module::Metadata" : "1.000027", "Module::Runtime" : "0", "Moo" : "1.001", "Pod::Markdown" : "1.322", "TAP::Harness::Env" : "0", "TOML" : "0.95", "Term::ANSIColor" : "0", "Text::MicroTemplate" : "0.20", "Time::Piece" : "1.16", "Try::Tiny" : "0", "URI" : "0", "parent" : "0", "perl" : "5.010001", "version" : "0" }, "suggests" : { "Devel::PPPort" : "0" } }, "test" : { "recommends" : { "Devel::CheckLib" : "0" }, "requires" : { "CPAN::Meta::Validator" : "0", "File::Copy::Recursive" : "0", "File::Temp" : "0", "JSON" : "0", "Module::Build::Tiny" : "0.035", "Test::More" : "0.98", "Test::Output" : "0", "Test::Requires" : "0" }, "suggests" : { "Dist::Zilla" : "0" } } }, "provides" : { "Minilla" : { "file" : "lib/Minilla.pm", "version" : "v3.1.25" }, "Minilla::CLI" : { "file" : "lib/Minilla/CLI.pm" }, "Minilla::CLI::Build" : { "file" : "lib/Minilla/CLI/Build.pm" }, "Minilla::CLI::Clean" : { "file" : "lib/Minilla/CLI/Clean.pm" }, "Minilla::CLI::Dist" : { "file" : "lib/Minilla/CLI/Dist.pm" }, "Minilla::CLI::Help" : { "file" : "lib/Minilla/CLI/Help.pm" }, "Minilla::CLI::Install" : { "file" : "lib/Minilla/CLI/Install.pm" }, "Minilla::CLI::Migrate" : { "file" : "lib/Minilla/CLI/Migrate.pm" }, "Minilla::CLI::New" : { "file" : "lib/Minilla/CLI/New.pm" }, "Minilla::CLI::Release" : { "file" : "lib/Minilla/CLI/Release.pm" }, "Minilla::CLI::Run" : { "file" : "lib/Minilla/CLI/Run.pm" }, "Minilla::CLI::Test" : { "file" : "lib/Minilla/CLI/Test.pm" }, "Minilla::Error::CommandExit" : { "file" : "lib/Minilla/Errors.pm" }, "Minilla::Errors" : { "file" : "lib/Minilla/Errors.pm" }, "Minilla::FileGatherer" : { "file" : "lib/Minilla/FileGatherer.pm" }, "Minilla::Git" : { "file" : "lib/Minilla/Git.pm" }, "Minilla::Gitignore" : { "file" : "lib/Minilla/Gitignore.pm" }, "Minilla::License::Perl_5" : { "file" : "lib/Minilla/License/Perl_5.pm" }, "Minilla::License::Unknown" : { "file" : "lib/Minilla/License/Unknown.pm" }, "Minilla::Logger" : { "file" : "lib/Minilla/Logger.pm" }, "Minilla::Metadata" : { "file" : "lib/Minilla/Metadata.pm" }, "Minilla::Migrate" : { "file" : "lib/Minilla/Migrate.pm" }, "Minilla::ModuleMaker::ExtUtilsMakeMaker" : { "file" : "lib/Minilla/ModuleMaker/ExtUtilsMakeMaker.pm" }, "Minilla::ModuleMaker::ModuleBuild" : { "file" : "lib/Minilla/ModuleMaker/ModuleBuild.pm" }, "Minilla::ModuleMaker::ModuleBuildTiny" : { "file" : "lib/Minilla/ModuleMaker/ModuleBuildTiny.pm" }, "Minilla::Profile::Base" : { "file" : "lib/Minilla/Profile/Base.pm" }, "Minilla::Profile::Default" : { "file" : "lib/Minilla/Profile/Default.pm" }, "Minilla::Profile::ExtUtilsMakeMaker" : { "file" : "lib/Minilla/Profile/ExtUtilsMakeMaker.pm" }, "Minilla::Profile::ModuleBuild" : { "file" : "lib/Minilla/Profile/ModuleBuild.pm" }, "Minilla::Profile::ModuleBuildTiny" : { "file" : "lib/Minilla/Profile/ModuleBuildTiny.pm" }, "Minilla::Profile::XS" : { "file" : "lib/Minilla/Profile/XS.pm" }, "Minilla::Project" : { "file" : "lib/Minilla/Project.pm" }, "Minilla::Release::BumpVersion" : { "file" : "lib/Minilla/Release/BumpVersion.pm" }, "Minilla::Release::CheckChanges" : { "file" : "lib/Minilla/Release/CheckChanges.pm" }, "Minilla::Release::CheckOrigin" : { "file" : "lib/Minilla/Release/CheckOrigin.pm" }, "Minilla::Release::CheckReleaseBranch" : { "file" : "lib/Minilla/Release/CheckReleaseBranch.pm" }, "Minilla::Release::CheckUntrackedFiles" : { "file" : "lib/Minilla/Release/CheckUntrackedFiles.pm" }, "Minilla::Release::Commit" : { "file" : "lib/Minilla/Release/Commit.pm" }, "Minilla::Release::DistTest" : { "file" : "lib/Minilla/Release/DistTest.pm" }, "Minilla::Release::MakeDist" : { "file" : "lib/Minilla/Release/MakeDist.pm" }, "Minilla::Release::RegenerateFiles" : { "file" : "lib/Minilla/Release/RegenerateFiles.pm" }, "Minilla::Release::RewriteChanges" : { "file" : "lib/Minilla/Release/RewriteChanges.pm" }, "Minilla::Release::RunHooks" : { "file" : "lib/Minilla/Release/RunHooks.pm" }, "Minilla::Release::Tag" : { "file" : "lib/Minilla/Release/Tag.pm" }, "Minilla::Release::UploadToCPAN" : { "file" : "lib/Minilla/Release/UploadToCPAN.pm" }, "Minilla::ReleaseTest" : { "file" : "lib/Minilla/ReleaseTest.pm" }, "Minilla::Unsupported" : { "file" : "lib/Minilla/Unsupported.pm" }, "Minilla::Util" : { "file" : "lib/Minilla/Util.pm" }, "Minilla::WorkDir" : { "file" : "lib/Minilla/WorkDir.pm" }, "Module::BumpVersion" : { "file" : "lib/Module/BumpVersion.pm" } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/tokuhirom/Minilla/issues" }, "homepage" : "https://github.com/tokuhirom/Minilla", "repository" : { "type" : "git", "url" : "https://github.com/tokuhirom/Minilla.git", "web" : "https://github.com/tokuhirom/Minilla" } }, "version" : "v3.1.25", "x_contributors" : [ "Alex Kapranoff ", "Alex Kapranoff ", "Alexander Karelas ", "AnaTofuZ ", "Anirvan Chatterjee ", "Chris White ", "Chris White ", "Dabrien 'Dabe' Murphy ", "Daisuke Maki ", "Daisuke Murase ", "Dan Book ", "Fitz Elliott ", "Fuji, Goro ", "GeJ ", "Graham Knop ", "Helmut Wollmersdorfer ", "Hiroyuki Akabane ", "ITO Nobuaki ", "Jason Cooper ", "Jiro Nishiguchi ", "Jose Luis Perez Diez ", "Jörg Forstreuter ", "Kazumasa Utashiro ", "Keiji, Yoshimi ", "Kenichi Ishigaki ", "Klaus Eichner ", "Manni Heumann ", "Masahiro Nagano ", "Nathaniel Nutter ", "Oleg Gashev ", "Peter Oliver ", "Pine Mizune ", "Ryo Okamoto ", "Sebastian B. Knapp ", "Shohei YOSHIDA ", "Shoichi Kaji ", "Shoichi Kaji ", "Songmu ", "TAGOMORI Satoshi ", "Takumi Akiyama ", "Tatsuhiko Miyagawa ", "Tatsuhiko Miyagawa ", "Thibault DUPONCHELLE ", "Yuji Shimada ", "Zak B. Elep ", "aereal ", "amarnus ", "hideo55 ", "iwata-motonori ", "karupanerura ", "kazhiramatsu ", "keita.iseki ", "kfly8 ", "kobaken ", "mattn ", "moznion ", "sago35 ", "tokuhirom ", "vti ", "ysasaki " ], "x_serialization_backend" : "JSON::PP version 4.16", "x_static_install" : 1 } README.md100644000765000024 4134314656142650 14340 0ustar00skajistaff000000000000Minilla-v3.1.25[![Actions Status](https://github.com/tokuhirom/Minilla/actions/workflows/test.yml/badge.svg)](https://github.com/tokuhirom/Minilla/actions) [![MetaCPAN Release](https://badge.fury.io/pl/Minilla.svg)](https://metacpan.org/release/Minilla) # NAME Minilla - CPAN module authoring tool # SYNOPSIS minil new - Create a new dist minil test - Run test cases minil dist - Make your dist tarball minil install - Install your dist minil release - Release your dist to CPAN minil run - Run arbitrary commands against build dir # DESCRIPTION Minilla is a CPAN module authoring tool. Minilla provides [minil](https://metacpan.org/pod/minil) command for authorizing a CPAN distribution. (M::I - inc) + shipit + (dzil - plugins) # CONVENTION As stated above, Minilla is opinionated. Minilla has a bold assumption and convention like the followings, which are almost compatible to the sister project [Dist::Milla](https://metacpan.org/pod/Dist%3A%3AMilla). - Your modules are written in Pure Perl and are located in _lib/_. - Your executable files are in _script/_ directory, if any - Your module is maintained with **Git**, `git ls-files` matches with what you will release and your remote is named _origin_ - Your module has a static list of prerequisites that can be described in [cpanfile](https://metacpan.org/pod/cpanfile) - Your module has a Changes file - Your module requires at least perl 5.6. # GETTING STARTED # First time only % cpanm --with-recommends Minilla # Minilla has only a few deps. It should be very quick # Make a new distribution % minil new Dist-Name % cd Dist-Name/ # Git commit % git commit -m "initial commit" # Hack your code! % $EDITOR lib/Dist/Name.pm t/dist-name.t cpanfile # Done? Test and release it! % minil release It's that easy. You already have distributions with [Module::Install](https://metacpan.org/pod/Module%3A%3AInstall), [Module::Build](https://metacpan.org/pod/Module%3A%3ABuild), [Dist::Zilla](https://metacpan.org/pod/Dist%3A%3AZilla) or [ShipIt](https://metacpan.org/pod/ShipIt)? Migrating is also trivial. See "MIGRATING" in [Minilla::Tutorial](https://metacpan.org/pod/Minilla%3A%3ATutorial) for more details. # WHY MINILLA? ## Repository managed by Minilla is git install ready. The repository created and managed by Minilla is git install ready. You can install the library by `cpanm git://...`. Of course, you can install Minilla from `cpanm git://github.com/tokuhirom/Minilla.git`. ## Minilla is built on small libraries. Minilla is built on only few small libraries. You can install Minilla without a huge list of dependencies to heavy modules. ## And, what is Minilla? Minilla is a Kaiju (Japanese giant monster) from the Godzilla series of films and is the first of several young Godzillas. https://en.wikipedia.org/wiki/Minilla # Minilla's release process Minilla's release process is the following. ## CheckUntrackedFiles Checking git's untracked files. If there's untracked files, minilla will abort. ## CheckOrigin This step will run the \`git remote\`. If there's no remote, minilla will abort. ## CheckReleaseBranch Checking git's current branch is \`release.branch\` key in minil.toml. If no match, minilla will abort. ## BumpVersion Minilla will show 'Next Release?' prompt. You can input next version number. After that, minilla rewrites version numbers in \*\*/\*.pm, \*\*/\*.pl, and a script file contains perl-ish shebang. ## CheckChanges You need to write Changes file. Your module's users need to know the difference between versions. Minilla's Changes file includes \`{{$NEXT}}\` next version indicator. You should put update informations after that. ## RegenerateFiles In this step, minilla will regenerate META.json, README.md and (Makefile.PL|Build.PL). ## RunHooks This step runs commands listed on \`release.hooks\` key in minil.toml. ## DistTest This script runs test cases in clean working directory with `$ENV{RELEASE_TESTING} = 1`. ## MakeDist Make distribution tar ball. ## UploadToCPAN Upload your module to CPAN. ## RewriteChanges Rewrite Changes file. Minilla replaces `{{$NEXT}}` with released version number and current date & time. And put `{{$NEXT}}` on the first line. ## Commit Commit current directory with automatically generated commit message from Changes file. And push it to origin. ## Tag Create new git tag and push it to origin. # CONFIGURATION Minilla uses **Convention over Configuration**. But, you can write configurations to _minil.toml_ file in [TOML](https://github.com/toml-lang/toml) format. Minilla reads the _minil.toml_ file in the root directory of your project. - name You can write 'name' instead of automatically detecting project name out of the directory name. - module\_maker Minilla supports three module building mechanisms. Module::Build::Tiny is the default one and Module::Build or ExtUtils::MakeMaker are the alternatives. See also [FAQ](#faq) section in this document. module_maker="ModuleBuild" - readme\_from readme_from="lib/My/Foo.pod" You can specify the file to generate the README.md. This is a main module path by default. - tag\_format tag_format="perl/%v" format of the tag to apply. Defaults to %v. `%v` will replace with the distribution version. - abstract\_from abstract_from="lib/My/Foo.pod" Grab abstract information from the file contains pod. - authors\_from authors_from="lib/My/Foo.pod" Grab authors information from the file contains pod. - authority authority = "cpan:TOKUHIROM" Set x\_authority attribute to META. See [https://jawnsy.wordpress.com/2011/02/20/what-is-x\_authority/](https://jawnsy.wordpress.com/2011/02/20/what-is-x_authority/) for more details. Note that now PAUSE itself copies the permissions from the "main module" to any new modules entering the index for the first time, so you don't need to set this attribute anymore. - allow\_pureperl allow_pureperl=1 A boolean indicating the module is still functional without its XS parts. When an XS module is build with `--pureperl_only`, it will otherwise fail. It affects to [Module::Build](https://metacpan.org/pod/Module%3A%3ABuild) 0.4005+ only. - no\_github\_issues no_github_issues=true Minilla sets bugtracker to github/GitLab's issue tracker by default. But if you want to use RT, you can set this variable. - no\_index [no_index] directory=['t', 'xt', 'tools'] Minilla sets META.json's no\_index as `directory => ['t', 'xt', 'inc', 'share', 'eg', 'examples', 'author', 'builder']` by default. But if you want to change them, you can set this section variable. If this section is set, specified variables are only used, in fact default settings are not merged. - c\_source c_source = ['src'] A directory which contains C source files that the rest of the build may depend on. Any ".c" files in the directory will be compiled to object files. The directory will be added to the search path during the compilation and linking phases of any C or XS files. - script\_files script_files = ['bin/foo', 'script/*'] Minilla sets install script files as `['script/*', 'bin/*']` by default. (Note. This option doesn't affect anything if you are using ModuleBuildTiny or ExtUtilsMakeMaker, for now. If you are using ModuleBuildTiny, you MUST put scripts in script/ directory.) - tap\_harness\_args(EXPERIMENTAL) [tap_harness_args] jobs=19 This parameters pass to TAP::Harness when running tests. See the [TAP::Harness](https://metacpan.org/pod/TAP%3A%3AHarness) documentation for details. - license license="artistic_2" You can specify your favorite license on minil.toml. The license key is same as CPAN Meta spec 2.0. See [CPAN::Meta::Spec](https://metacpan.org/pod/CPAN%3A%3AMeta%3A%3ASpec). - badges badges = ['travis-ci.com', 'travis-ci.org', 'circleci', 'appveyor', 'coveralls', 'codecov', 'gitter', 'metacpan', 'kritika', 'github-actions/$workflow_file', 'gitlab-pipeline', 'gitlab-coverage'] Embed badges image (e.g. Travis-CI) to README.md. It ought to be array and each elements must be service name. Now, supported services are 'travis-ci.com', 'travis-ci.org', 'circleci', 'appveyor', 'coveralls', 'codecov', 'gitter', 'metacpan', 'kritika' 'github-actions', 'gitlab-pipeline' and 'gitlab-coverage'. You can send additional parameters as required by your CI provider by including a query string along with your service name: e.g. `travis?token=[YOUR_TOKEN_GOES_HERE]&branch=dev` - PL\_files Specify the PL files. [PL_files] lib/Foo/Bar.pm.PL="lib/Foo/Bar.pm" This option is not supported by [Minilla::ModuleMaker::ModuleBuildTiny](https://metacpan.org/pod/Minilla%3A%3AModuleMaker%3A%3AModuleBuildTiny). Note. MBTiny executes \*.PL files by default. - build.build\_class Specify a custom Module::Build subclass. [build] build_class = "builder::MyBuilder" - XSUtil.needs\_compiler\_c99 [XSUtil] needs_compiler_c99 = 1 You can specify `needs_compiler_c99` parameter of [Module::Build::XSUtil](https://metacpan.org/pod/Module%3A%3ABuild%3A%3AXSUtil). - XSUtil.needs\_compiler\_cpp [XSUtil] needs_compiler_cpp = 1 You can specify `needs_compiler_cpp` parameter of [Module::Build::XSUtil](https://metacpan.org/pod/Module%3A%3ABuild%3A%3AXSUtil). - XSUtil.generate\_ppport\_h [XSUtil] generate_ppport_h = 1 You can specify `generate_ppport_h` parameter of [Module::Build::XSUtil](https://metacpan.org/pod/Module%3A%3ABuild%3A%3AXSUtil). - XSUtil.generate\_xshelper\_h [XSUtil] generate_xshelper_h = 1 You can specify `generate_xshelper_h` parameter of [Module::Build::XSUtil](https://metacpan.org/pod/Module%3A%3ABuild%3A%3AXSUtil). - XSUtil.cc\_warnings [XSUtil] cc_warnings = 1 You can specify `cc_warnings` parameter of [Module::Build::XSUtil](https://metacpan.org/pod/Module%3A%3ABuild%3A%3AXSUtil). - FileGatherer.exclude\_match [FileGatherer] exclude_match = ['^author_tools/.*'] Nothing by default. To exclude certain files from being gathered into dist, use the `exclude_match` option. Files matching the patterns are not gathered. - FileGatherer.include\_dotfiles [FileGatherer] include_dotfiles = false By default, files will not be included in dist if they begin with a dot. This goes both for files and for directories. In almost all cases, the default value (false) is correct. - release.pause\_config [release] pause_config = "/path/to/some/.pause" By setting this value to another PAUSE configuration file (see ["CONFIGURATION" in cpan-upload](https://metacpan.org/pod/cpan-upload#CONFIGURATION) for the details), it is possible to use another PAUSE server (or anything good enough to mimick its upload process) for the release step. To do so, simply add a `upload_uri` entry in your file to the alternate PAUSE server, i.e : upload_uri http://127.0.0.1:5000/pause/authenquery If you instantly launch your origin upload server as DarkPAN, See [OrePAN2::Server](https://metacpan.org/pod/OrePAN2%3A%3AServer). - release.do\_not\_upload\_to\_cpan [release] do_not_upload_to_cpan=true This variable disables CPAN upload feature. - release.hooks [release] hooks = [ "COMMAND1", "COMMAND2" ] Commands that are specified by this option will be executed when releasing. If result of commands is not successful, it will abort. - release.branch [release] branch = "main" If this value does not match the current branch, it will abort. - unsupported.os [unsupported] os = [ "MSWin32", "darwin" ] By setting this value to add unsupported OS checks for (Build.PL|Makefile.PL). - ReleaseTest.MinimumVersion [ReleaseTest] MinimumVersion = false If you set this key false, Minilla will not generate 'xt/minilla/minimum\_version.t'. - requires\_external\_bin requires_external_bin=['tar'] The `requires_external_bin` command takes the name of a system command or program. Build fail if the command does not exist. - markdown\_maker markdown_maker = "Pod::Markdown::Github" Use a different module to generate `README.md` from your pod. This module must subclass [Pod::Markdown](https://metacpan.org/pod/Pod%3A%3AMarkdown). - markdown\_maker\_opts [markdown_maker_opts] local_module_re = "^MyApp::" local_module_url_prefix = "https://example.org/perl/pod/" Specify arguments to pass to `markdown_maker`'s `new()` constructor. - Metadata [Metadata] x_deprecated = 1 Add arbitrary keys to `META.json`/`META.yml`. - static\_install static_install = "auto" If `static_install = "auto"` (or nothing is specified at all), then minil tries to detect whether distributions are ready for static install or not, and set `x_static_install` in META files accordingly. You can also set `static_install = 0/1` explicitly; then minil will respect it. For static install itself, please refer to [https://github.com/Perl-Toolchain-Gang/cpan-static](https://github.com/Perl-Toolchain-Gang/cpan-static). # FAQ - How can I manage **contributors** section? Minilla aggregates contributors list from `git log --format="%aN <%aE>" | sort | uniq`. You can merge accounts by .mailmap file. See [https://www.kernel.org/pub/software/scm/git/docs/git-shortlog.html](https://www.kernel.org/pub/software/scm/git/docs/git-shortlog.html) - Why don't you provide plug-in support? If you want a pluggable tool, it already exists: It's called [Dist::Zilla](https://metacpan.org/pod/Dist%3A%3AZilla) :P If you like Minilla's behavior but you really want something pluggable, you can use [Dist::Milla](https://metacpan.org/pod/Dist%3A%3AMilla), Minilla's sister project. [Dist::Milla](https://metacpan.org/pod/Dist%3A%3AMilla)'s behavior is almost identical to that of Minilla. - Why does minil only support git? I think git is a best VC for CPAN modules, for now. If you want to use another version control system, you can probably use [Dist::Milla](https://metacpan.org/pod/Dist%3A%3AMilla). - And why... Yes. You can use [Dist::Milla](https://metacpan.org/pod/Dist%3A%3AMilla). - Should I add (META.json|Build.PL) to repository? Yes. You need to add it to make your git repo installable via cpanm. - How do I manage ppport.h? Is there a reason to remove ppport.h from repo? - How can I install script files? Your executables must be in `script/` directory. - How to switch from Module::Install/Module::Build/Dist::Zilla? You can use experimental \`minil migrate\` sub-command. See [Minilla::CLI::Migrate](https://metacpan.org/pod/Minilla%3A%3ACLI%3A%3AMigrate) for more details. - How should I manage the files you do not want to upload to CPAN? Please use FileGatherer.exclude\_match for ignoring files to upload tar ball. You can use MANIFEST.SKIP file for ignoring files. ref. [ExtUtils::Manifest](https://metacpan.org/pod/ExtUtils%3A%3AManifest). - How do I use Module::Build::Tiny with Minilla? Minilla supports Module::Build::Tiny and uses it as a default installer since v1.0.0. If you want to migrate an existing project created before Minilla v1.0, you need to rewrite `minil.toml` file. You need to add the following line: module_maker="ModuleBuildTiny" - How do I use Module::Build with Minilla? If you want to create new project with Module::Build, run the command as following. % minil new -p ModuleBuild My::Awesome::Module - How do I use ExtUtils::MakeMaker with Minilla? Minilla v2.1.0+ supports EUMM(EXPERIMENTAL). You need to rewrite minil.toml file and add the following line: module_maker="ExtUtilsMakeMaker" (There is no profile, yet. Patches welcome.) I don't suggest to use this module... But you can use this option for maintaining primitive modules like Test::TCP. - Ho do I support Perl 5.6? EUMM can run on Perl 5.6. Write following statement in your minil.toml file. module_maker="ExtUtilsMakeMaker" # bash/zsh completion Minilla provides bash and zsh completion files under `contrib/` directory. # AUTHORS Tokuhiro Matsuno < tokuhirom@gmail.com > Tatsuhiko Miyagawa # THANKS TO RJBS, the author of [Dist::Zilla](https://metacpan.org/pod/Dist%3A%3AZilla). [Dist::Zilla](https://metacpan.org/pod/Dist%3A%3AZilla) points CPAN authorizing tool. # SEE ALSO # LICENSE Copyright (C) Tokuhiro Matsuno This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. bash-completion.sh100644000765000024 413014656142650 20112 0ustar00skajistaff000000000000Minilla-v3.1.25/contrib# bash completion for minil # # minil-completion # ================ # # Bash completion support for [minil](https://github.com/tokuhirom/Minilla) # # # Installation # ------------- # # 1. Install bash-completion # # 2. Install this file. Either: # # a. Place it in a `bash-completion.d` folder: # # * /etc/bash-completion.d # * /usr/local/etc/bash-completion.d # * ~/bash-completion.d # # e.g. # # $ cp this-file /etc/bash-completion.d/minil # # b. Or, copy it somewhere (e.g. ~/.minil-completion.sh) and put the following line in # your .bashrc: # # source ~/.minil-completion.sh _minil() { local subcommands cur _get_comp_words_by_ref cur subcommands="new build test clean dist install release migrate help" case "${COMP_WORDS[1]}" in new) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--profile --username --email --help' fi ;; build) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--help' fi ;; test) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--release --automated --author --all --help' fi ;; clean) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--help -y' fi ;; dist) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--help' fi ;; install) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--no-test --help' fi ;; release) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--no-test --trial --dry-run --pause-config --help' fi ;; migrate) subcommands='' if [[ "${cur}" == -* ]] ; then subcommands='--help' fi ;; help) return 0 ;; esac COMPREPLY=($(compgen -W "${subcommands}" -- ${cur})) } complete -F _minil minil # Local variables: # mode: shell-script # sh-basic-offset: 2 # sh-indent-comment: t # indent-tabs-mode: nil # End: # ex: ts=2 sw=2 et filetype=sh zsh-completion.sh100644000765000024 537014656142650 20010 0ustar00skajistaff000000000000Minilla-v3.1.25/contrib#compdef minil # ------------------------------------------------------------------------------ # Description # ----------- # # Completion script for minil (https://github.com/tokuhirom/Minilla). # # ------------------------------------------------------------------------------ # Authors # ------- # # * tokuhirom (https://github.com/tokuhirom) # * syohex (https://github.com/syohex) # * xaicron (https://github.com/xaicron) # # ------------------------------------------------------------------------------ # Instllation # ------------ # # Copy this file to your $fpath directory. # For example, if you fpath is ~/.zsh/fpath: # # $ cp this-file ~/.zsh/fpath/_minil # # You may have to force rebuild zcompdump: # # $ rm -f ~/.zcompdump; compinit # # ------------------------------------------------------------------------------- _minil() { typeset -A opt_args local context state line local -a _minil_subcommands _minil_subcommands=( 'new:Create a new dist' 'build:Build distribution' 'test:Run test cases' 'clean:Clean up directory' 'dist:Make dist tarball' 'install:Install distribution' 'release:Release distribution to CPAN' 'migrate:Migrate existed distribution repo' 'help:Help me' ) _arguments '*:: :->subcmd' if [[ "$state" == "subcmd" ]];then if (( CURRENT == 1 )); then _describe -t commands "minil command" _minil_subcommands -V1 return else local opts curcontext case "$words[1]" in new) opts=( '(--username)--username[Specifies Username]:username:' '(--email)--email[Specifies Email Address]:email:' '(-p|--profile)'{-p,--profile}'[Minilla profile]: :(XS)' ) ;; clean) opts=('(-y)-y[delete files without asking]') ;; install) opts=('--no-test[Do not run test]') ;; release) opts=( '--no-test[Do not run test]' '--trial[Trial release]' '--dry-run[Dry run mode]' '--pause-config=[Path to a CPAN::Uploader configuration file]:file:_files' ) ;; test) opts=( '--release[enable the RELEASE_TESTING env variable]' '--automated[enable the AUTOMATED_TESTING env variable]' '--author[enable the AUTHOR_TESTING env variable]' '--all[enable the All env variables]' ) ;; help) local -a subcommands subcommands=(new build test clean dist install release migrate help) _arguments -s : "()"'*: :'"($subcommands)" return 0 ;; *) opts=() ;; esac _arguments -s : "$opts[@]" '*::Files:_files' fi fi } cpanfile100644000765000024 367414656142650 14552 0ustar00skajistaff000000000000Minilla-v3.1.25requires 'perl' => '5.010001'; # Core module at recent Perl5. requires 'parent' => '0'; requires 'Archive::Tar', '1.60'; requires 'Time::Piece' => 1.16; # older Time::Piece was broken requires 'version'; requires 'CPAN::Meta', '2.132830'; # merged_requirements is 2.132830+ requires 'ExtUtils::Manifest', 1.54; # make maniskip a public routine, and allow an argument to override $mfile suggests 'Devel::PPPort'; # XS requires 'TAP::Harness::Env'; # From 5.19.5 # The TOML parser requires 'TOML', 0.95; # Templating requires 'Text::MicroTemplate', '0.20'; # CPAN related requires 'App::cpanminus', '1.6902'; requires 'Module::CPANfile', '0.9025'; requires 'Module::Metadata' => '1.000027'; requires 'Pod::Markdown', '1.322'; # File operation requires 'File::pushd'; requires 'File::Which'; # OOPS requires 'Moo' => 1.001000; # Utilities requires 'Data::Section::Simple' => 0.04; requires 'Term::ANSIColor'; requires 'Module::Runtime'; requires 'URI'; # Modules required by minil new/minil dist/minil release are optional. # It's good for contributors recommends 'Version::Next'; recommends 'Pod::Escapes'; recommends 'CPAN::Uploader'; # Core deps requires 'Try::Tiny'; requires 'Getopt::Long', 2.36; # Module required for license otherwise Perl_5 license. recommends 'Software::License', '0.103010'; # release testing recommends 'Test::Pod'; recommends 'Test::Spellunker', 'v0.2.7'; recommends 'Test::MinimumVersion::Fast' => '0.04'; recommends 'Test::CPAN::Meta'; recommends 'Test::PAUSE::Permissions'; on 'test' => sub { requires 'Test::More' => '0.98'; requires 'Test::Requires' => 0; requires 'Test::Output'; requires 'File::Copy::Recursive'; requires 'File::Temp'; recommends 'Devel::CheckLib'; suggests 'Dist::Zilla'; requires 'CPAN::Meta::Validator'; requires 'JSON'; requires 'Module::Build::Tiny', 0.035; # https://github.com/tokuhirom/Minilla/issues/151 }; on 'develop' => sub { # Dependencies for developers }; dist-bumpversion100644000765000024 125014656142650 16662 0ustar00skajistaff000000000000Minilla-v3.1.25/eg#!/usr/bin/env perl use strict; use warnings; use Pod::Usage; use Getopt::Long; use Module::BumpVersion; use Version::Next; my $show; my $p = Getopt::Long::Parser->new( config => [qw(posix_default no_ignorecase auto_help)], ); $p->getoptions( 'show' => \$show, ); my $target = shift or pod2usage; my $bump = Module::BumpVersion->load($target); my $version = $bump->find_version or die $bump->errstr; print "Current version is: $version\n"; if ($show) { exit 0; } { my $next = Version::Next::next_version($version); $bump->set_version($next); print "Bumped to $next\n"; } __END__ =head1 SYNOPSIS % dist-bumpversion --show /path/to/Library.pm Minilla.pm100644000765000024 3644014656142650 15554 0ustar00skajistaff000000000000Minilla-v3.1.25/libpackage Minilla; use strict; use warnings; use 5.010001; use version; our $VERSION = version->declare("v3.1.25"); our $DEBUG; our $AUTO_INSTALL; sub debug { $DEBUG } sub auto_install { $AUTO_INSTALL } 1; __END__ =for stopwords MINILLA .mailmap mimick XSUtil travis XSUtil.needs_compiler_cpp XSUtil.generate_xshelper_h XSUtil.cc_warnings DarkPAN minilla untracked UploadToCPAN circleci appveyor codecov gitter metacpan MBTiny kritika gitlab-pipeline gitlab-coverage =encoding utf8 =head1 NAME Minilla - CPAN module authoring tool =head1 SYNOPSIS minil new - Create a new dist minil test - Run test cases minil dist - Make your dist tarball minil install - Install your dist minil release - Release your dist to CPAN minil run - Run arbitrary commands against build dir =head1 DESCRIPTION Minilla is a CPAN module authoring tool. Minilla provides L command for authorizing a CPAN distribution. (M::I - inc) + shipit + (dzil - plugins) =head1 CONVENTION As stated above, Minilla is opinionated. Minilla has a bold assumption and convention like the followings, which are almost compatible to the sister project L. =over 4 =item Your modules are written in Pure Perl and are located in I. =item Your executable files are in I