Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kentnl/cpan-changes-group-dependencies-details
Full details of dependency changes
https://github.com/kentnl/cpan-changes-group-dependencies-details
perl
Last synced: 14 days ago
JSON representation
Full details of dependency changes
- Host: GitHub
- URL: https://github.com/kentnl/cpan-changes-group-dependencies-details
- Owner: kentnl
- License: other
- Created: 2014-07-26T09:04:21.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-03-05T09:32:23.000Z (almost 8 years ago)
- Last Synced: 2024-11-11T14:05:35.226Z (2 months ago)
- Topics: perl
- Language: Perl
- Size: 142 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.mkdn
- Changelog: Changes
- Contributing: CONTRIBUTING.pod
- License: LICENSE
Awesome Lists containing this project
README
# NAME
CPAN::Changes::Group::Dependencies::Details - Full details of dependency changes.
# VERSION
version 0.001007
# SYNOPSIS
my $old_prereqs => CPAN::Meta->load_file('Dist-Foo-1.01/META.json')->effective_prereqs,
my $new_prereqs => CPAN::Meta->load_file('Dist-Foo-1.01/META.json')->effective_prereqs,my $group = CPAN::Changes::Group::Dependencies::Details->new(
old_prereqs => $old_prereqs,
new_prereqs => $new_prereqs,
change_type => 'Added',
phase => 'runtime',
type => 'requires',
);my $release = CPAN::Changes::Release->new(
version => '0.01',
date => '2014-07-26',
);$release->attach_group( $group ) if $group->has_changes;
# DESCRIPTION
This is simple an element of refactoring in my `dep_changes` script.
It is admittedly not very useful in its current incarnation due to needing quite a few instances
to get anything done with them, but that's mostly due to design headaches about thinking of _any_ way to solve a few problems.# METHODS
## `has_changes`
Returns true/false indicating whether or not `relevant` changes were found between
the two given `_prereqs` properties.## `changes`
Returns a list of change entries:
Added / Removed
Module::Name # For unversioned module additions/removals
Module::Name 0.30 # For versionedChanged / Upgrade / Downgrade
Module::Name →
# ATTRIBUTES
## `change_type`
**REQUIRED:**
One of the following indicating the type of change this group represents.Added : Dependencies are new to this phase
Changed : The version component of this dependency changed in some way
Upgrade : A newer version of this dependency is required.
Downgrade : The requirement of this dependency is no longer so stringent.
Removed : A dependency previously in this phase was removed.## `phase`
**REQUIRED:**
One of the following phases indicating the phase this group will pertain toconfigure
build
runtime
test
develop## `type`
**REQUIRED:**
One of the following types indicating the severity of the dependency this group will pertain torequires
recommends
suggests
conflicts## `new_prereqs`
**LIKELY REQUIRED**:
`HashRef`,`CPAN::Meta` or `CPAN::Meta::Prereqs` structure for _'new'_ dependencies.## `old_prereqs`
**LIKELY REQUIRED**:
`HashRef`,`CPAN::Meta` or `CPAN::Meta::Prereqs` structure for _'new'_ dependencies.## `arrow_join`
The delimiter to separate change family entries.
Default:
#\N{NO-BREAK SPACE}\N{RIGHTWARDS ARROW}\N{NO-BREAK SPACE}
q[ → ]## `name_split`
Used to define `name`.
Default:
q[ / ]
## `name_type_split`
Used to separate `phase` and `type` in `name`
Default:
q[ ]
## `name`
The name of the group.
If not specified, is generated from other attributes
Added / runtime requires
|___|------------------- change_type
|_|---------------- name_split
|_____|--------- phase
||------- name_type_split
|______| type# AUTHOR
Kent Fredric
# COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Kent Fredric .
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.