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. Make MANIFEST

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

  9. 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