App-RewriteVersion

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

     # Options
     $app->verbose(1)->follow_symlinks(0);
     
     # Bump versions for modules in current dist directory
     $app->rewrite_versions($app->bump_version($app->current_version));
     
     # Bump versions in specified dist directory
     $app->rewrite_versions($app->bump_version($app->current_version(dist_dir => $dist_dir)), dist_dir => $dist_dir);
     
     # Override module to read version from
     $app->rewrite_versions($app->bump_version($app->current_version(file => $file)));
     
     # Bump versions in specific subdirectories
     $app->rewrite_versions($app->bump_version($app->current_version), subdirs => ['foo','bar']);
     
     # Custom version bump algorithm
     $app->rewrite_versions($app->bump_version($app->current_version, sub { shift + 0.05 }));
     
     # Don't bump, just synchronize versions with main module
     $app->rewrite_versions($app->current_version);
     
     # Set versions to specified version
     $app->rewrite_versions('0.065');
     

DESCRIPTION

    App::RewriteVersion is a tool for managing Perl module versions in a
    distribution. It is heavily based on the Dist::Zilla plugin
    Dist::Zilla::Plugin::RewriteVersion. Similarly to that plugin, the V
    environment variable can be used to override the version detected from
    the main module.

    Existing version assignments and new versions must be parseable with
    the same rules as in "DESCRIPTION" in
    Dist::Zilla::Plugin::RewriteVersion, that is to say, they should either
    be a decimal number with a single decimal point, or a tuple version
    with a leading v and at least 3 segments separated by decimal points.
    Version assignments should be in the form our $VERSION = '...';.

    See perl-rewrite-version and perl-bump-version for details on
    command-line usage.

ATTRIBUTES

 allow_decimal_underscore

     my $bool = $app->allow_decimal_underscore;
     $app = $app->allow_decimal_underscore(0);

    If true, decimal versions with underscores will be allowed. Defaults to
    true. See "Using underscore in decimal $VERSION" in
    Dist::Zilla::Plugin::BumpVersionAfterRelease for more information.

 dry_run

     my $bool = $app->dry_run;
     $app = $app->dry_run(1);

    If true, the module will process files as normal but not actually
    modify them. Useful with "verbose" to verify expected functionality.

 follow_symlinks

     my $bool = $app->follow_symlinks;
     $app = $app->follow_symlinks(1);

    If true, the application will follow symlinked directories when
    traversing the distribution for modules. Defaults to false.

 global

     my $bool = $app->global;
     $app = $app->global(1);

    If true, the application will replace all version assignments found
    instead of just the first instance in each file. Defaults to false.

 verbose

     my $bool = $app->verbose;
     $app = $app->verbose(1);

    Enable progress messages to be printed to STDOUT. Defaults to false.

METHODS

 new

     my $app = App::RewriteVersion->new;

    Construct a new App::RewriteVersion object.

 bump_version

     my $new_version = $app->bump_version($version);
     my $new_version = $app->bump_version($version, sub { $_[0] + 1 });

    Increments a version string, returning the new version string. An
    optional coderef can be passed for custom version bump logic. The
    coderef will receive the current version string as the first argument
    and is expected to return a new version string. By default,
    Version::Next is used. An exception will be thrown if an invalid
    version is passed according to the current settings.

 current_version

     my $current_version = $app->current_version;
     my $current_version = $app->current_version(dist_dir => $dist_dir);
     my $current_version = $app->current_version(file => $file);

    Returns the current version of the distribution using "version_from".
    If no file is passed, the main module filename will be guessed from
    dist_dir (defaulting to current working directory), using heuristics
    similar to Dist::Zilla::Plugin::NameFromDirectory and "main_module" in
    Dist::Zilla. For example, if the directory is named Foo-Bar it will
    look for lib/Foo/Bar.pm within the distribution, and if that doesn't
    exist, the shortest module path found. If the V environment variable is
    set, it will be returned regardless of other options. An exception will
    be thrown if no version is found in the specified or guessed file, or
    if no perl modules could be found.



( run in 0.621 second using v1.01-cache-2.11-cpan-39bf76dae61 )