The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

App::git::ship::perl - Ship your Perl module

DESCRIPTION

App::git::ship::perl is a module that can ship your Perl module.

See "SYNOPSIS" in App::git::ship

ATTRIBUTES

main_module_path

  $str = $self->main_module_path;

Tries to guess the path to the main module in the repository. This is done by looking at the repo name and try to find a file by that name. Example:

  ./my-cool-project/.git
  ./my-cool-project/lib/My/Cool/Project.pm

This guessing is case-insensitive.

Instead of guessing, you can put "main_module_path" in the config file.

project_name

  $str = $self->project_name;

Tries to figure out the project name from "main_module_path" unless the "project_name" is specified in config file.

Example result: "My::Perl::Project".

METHODS

  $ git ship build

build

Used to build a Perl distribution by running through these steps:

  1. Call "clean" to make sure the repository does not contain old build files.

  2. Run prove if build_test_options is set in .ship.conf.

  3. Run "before_build" hook.

  4. Render Makefile.PL

  5. Add timestamp to changes file.

  6. Update version in main module file.

  7. Update README with perldoc, unless another readfile file exists.

  8. Make MANIFEST

  9. Make dist file (Your-App-0.42.tar.gz)

  10. Run "after_build" hook.

can_handle_project

See "can_handle_project" in App::git::ship.

clean

  $ git ship clean

Used to clean out build files:

Makefile, Makefile.old, MANIFEST, MYMETA.json, MYMETA.yml, Changes.bak, META.json and META.yml.

exe_files

  @files = $self->exe_files;

Returns a list of files in the "bin/" and "script/" directory that has the executable flag set.

This method is used to build the EXE_FILES list in Makefile.PL.

ship

  $ git ship

Used to ship a Perl distribution by running through these steps:

  1. Find the dist file created by "build" or abort if it could not be found.

  2. Run "before_ship" hook.

  3. Add and commit the files changed in the "build" step.

  4. Use "next_version" in App::git::ship to make a new tag and push all the changes to the "origin" git repository.

  5. Upload the dist file to CPAN.

  6. Run "after_ship" hook.

start

  $ git ship start

Used to create main module file template and generate cpanfile, Changes, MANIFEST.SKIP and t/00-basic.t.

test_coverage

Use Devel::Cover to check test coverage for the distribution.

Set DEVEL_COVER_OPTIONS to pass on options to Devel::Cover. The default value will be set to:

  DEVEL_COVER_OPTIONS=+ignore,t

update

  $ git ship update

Action for updating the basic repo files.

SEE ALSO

App::git::ship

AUTHOR

Jan Henning Thorsen - jhthorsen@cpan.org