Mi6::Helper - An aid for converting Raku modules to use App::Mi6
This module installs a Raku executable named
mi6-helper which is designed to inspect an existing Git repository of a Raku module to help convert it to one that uses the
$ mi6-helper <raku-module-repo-name>
raku-module-repo-name may be a
. if you are working in the repository directory.
The executable program exists but has no useful operation yet other than a quick inspection and limited reporting. See the following section for the design features planned.
What am I trying to accomplish?
- Convert an existing module to use App::Mi6
- Process in order
- ensure there is a .git file
- throw if not
- check if needing a commit
- throw if not
# From this point, all changes to existing files should
# protected by Git and new files will listed as untracked.
# If the user fails to add the files or commit them,
# mi6 will cath the errors upon build or release.
- determine the base module name
- check any dist.ini file
- check the META6.json file
- throw if not found or there are conflicts
- determine whether it's a module or a class (affects the type
of load test)
- check for missing files required by mi6
- write my version
- remove the dummy test created by mi6, if any
- check for and create missing standard
tests I use
- load or class test
- determine external modules used by the module being analyzed
- rewrite the META6.json file (create a backup copy)
- ensure depends and test depends are correct
- rewrite the dist.ini file (create a backup copy)
- IMPORTANT ensure the convert to pod is turned OFF until manually changed
- check for the Unicode Copyright symbol [Copyright © 2020 <author>] in the source pod
for the README.md file
- report results
- use prompts where need be
Tom Browder email@example.com
The very useful Raku modules used herein:
App::Mi6 by github:skaji
File::Find by github:tadzik
JSON::Fast by github:timo
Config::INI by gitbub:tadzik
COPYRIGHT AND LICENSE
Copyright © 2020 Tom Browder
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.