The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Shipwright::Backend::Base - Base Backend Class

DESCRIPTION

Base Backend Class

METHODS

new

This is the constructor.

initialize

Initialize a project. you should subclass this method, and call this to get the dir with content initialized

import

Import a dist.

export
checkout
commit

A wrapper around svn's commit command.

update_order

Regenerate the dependency order.

fiddle_order

fiddle the order a bit put cpan-ExtUtils-MakeMaker and cpan-Module-Build to the head of cpan dists. also put cpan-Module-Build's recommends right after it, since we omitted them in the $require->{'cpan-Module-Build'}

if not passed order, will use the one in shipwright/order.yml. return fiddled order.

note, this sub won't update shipwright/order.yml, you need to do it yourself.

order

Get or set the dependency order.

map

Get or set the map.

source

Get or set the sources map.

flags

Get or set flags.

version

Get or set version.

ktf

Get or set known failure conditions.

refs

Get or set refs

delete
list
dists
move
info
requires

Return the hashref of require.yml for a dist.

check_repository

Check if the given repository is valid.

update

you should subclass this method, and run this to get the file path with latest version

test_script

get or set test_script for a project, i.e. /t/test

trim

trim dists

update_refs

update refs.

we need update this after import and trim