[libmodule-package-rdf-perl] 02/64: My packaging stuff

Jonas Smedegaard js at alioth.debian.org
Fri Aug 9 22:11:50 UTC 2013


This is an automated email from the git hooks/post-receive script.

js pushed a commit to branch master
in repository libmodule-package-rdf-perl.

commit 9a38d4254f7b381099e39b26557168e75714ccce
Author: Toby Inkster <mail at tobyinkster.co.uk>
Date:   Fri Oct 7 00:14:17 2011 +0000

    My packaging stuff
    
    --HG--
    branch : Module-Package-RDF
    extra : convert_revision : svn%3A3fe8e991-6959-4966-b76d-b07eca2b6e37/Module-Package-RDF%40956
---
 Module-Package-RDF-0.002.tar.gz  |  Bin 0 -> 42382 bytes
 Module-Package-RDF-0.003.tar.gz  |  Bin 0 -> 49664 bytes
 bin/mkdist                       |   92 ++++++++
 lib/Module/Package/Dist/RDF.pm   |   20 ++
 lib/Module/Package/RDF.pm        |   38 ++--
 lib/Module/Package/RDF/Create.pm |  437 ++++++++++++++++++++++++++++++++++++++
 meta/changes.ttl                 |   29 ++-
 meta/deps.ttl                    |   21 +-
 meta/makefile.ttl                |    4 +-
 t/01basic.t                      |    4 +-
 xt/01pod.t                       |    5 +
 xt/02pod_coverage.t              |    8 +
 xt/03meta_uptodate.t             |    3 +
 xt/04eol.t                       |    2 +
 14 files changed, 642 insertions(+), 21 deletions(-)

diff --git a/Module-Package-RDF-0.002.tar.gz b/Module-Package-RDF-0.002.tar.gz
new file mode 100644
index 0000000..fe611bc
Binary files /dev/null and b/Module-Package-RDF-0.002.tar.gz differ
diff --git a/Module-Package-RDF-0.003.tar.gz b/Module-Package-RDF-0.003.tar.gz
new file mode 100644
index 0000000..3a1f0fa
Binary files /dev/null and b/Module-Package-RDF-0.003.tar.gz differ
diff --git a/bin/mkdist b/bin/mkdist
new file mode 100755
index 0000000..2949712
--- /dev/null
+++ b/bin/mkdist
@@ -0,0 +1,92 @@
+#!/usr/bin/perl
+
+use Getopt::ArgvFile
+        home => 1,
+        current => 1,
+        resolveEnvVars => 1;
+use Getopt::Long qw[:config permute bundling no_ignore_case no_auto_abbrev];
+
+my %options;
+
+GetOptions(\%options,
+	'abstract|A=s',
+	'author|a=s%',
+	'backpan=s',
+	'copyright|c=s%',
+	'destination|d=s',
+	'dist_maker|D=s',
+	'help|usage|h',
+	'licence_class|l=s',
+	'use|M=s@',
+	'version|v',
+	);
+
+$options{dist_maker} = 'Module::Package::RDF::Create';
+
+if ($options{help} || !@ARGV)
+{
+	print <<'HELP' and exit(1);
+mkdist [options] dist_name1 dist_name2 ...
+
+Options:
+
+  --abstract=S, -A=S       Short description for distribution
+  --author k=v, -a k=v     Set author data.
+  --backpan=S              URL for archives.
+  --copyright k=v, -c k=v  Set copyright data.
+  --destination=S, -d=S    Output directory.
+  --dist_maker=S, -D=S     Class to use to create distribution.
+  --help, -h               Show this help.
+  --licence_class=S, -l=S  Perl class with licensing data.
+  --use S, -M=S            Distribution should use these modules.
+  --version=S, -v=S        Initial version number.
+
+Author data keys:
+
+  cpanid                Author's CPAN ID
+  mbox                  Author's email address
+  name                  Author's full name
+  
+Copyright data keys:
+
+  holder                Copyright holder
+  year                  Copyright year
+
+The values of "use" are interpreted thusly:
+
+  * 'common_sense' uses 'common::sense' instead of 'strict' and 'warnings'.
+  * 'namespace_clean' uses 'namespace::clean'.
+  * 'moose' (lowercase) uses 'Moose' and 'namespace::clean'.
+  * Other values are interpreted as the names of modules to use.
+  * Perl version defaults to 5.010.
+
+license_class defaults to "Software::License::Perl_5".
+
+dist_maker defaults to "Module::Package::RDF::Create", but any package
+that provides the same API should work.
+
+Example:
+
+  mkdist --author name="Toby Inkster" \
+         --author cpanid="tobyink" \
+         --copyright year=2010 \
+         --abstract="does something useful" \
+         --use common_sense \
+         --use DateTime \
+         --use 5.008003 \
+         "Local::Example::Useful"
+
+Frequently used settings can be kept in ~/.mkdist
+
+HELP
+}
+
+my $class = delete $options{dist_maker};
+eval "use $class 0 qw(); 1;"
+	or die "Could not use '$class'.\n";
+$class->import;
+
+while (my $dist = shift @ARGV)
+{
+	$class->create($dist, %options);
+}
diff --git a/lib/Module/Package/Dist/RDF.pm b/lib/Module/Package/Dist/RDF.pm
new file mode 100644
index 0000000..48e3474
--- /dev/null
+++ b/lib/Module/Package/Dist/RDF.pm
@@ -0,0 +1,20 @@
+package Module::Package::Dist::RDF;
+
+use 5.008003;
+our $VERSION = '0.001';
+
+package Module::Package::Dist::RDF::standard;
+
+use 5.008003;
+use strict;
+use base qw[Module::Package::Dist];
+our $VERSION = '0.001';
+
+sub _main
+{
+	my ($self) = @_;
+	$self->mi->trust_meta_yml;
+	$self->mi->auto_install;
+}
+
+1;
\ No newline at end of file
diff --git a/lib/Module/Package/RDF.pm b/lib/Module/Package/RDF.pm
index a336639..fc93d86 100644
--- a/lib/Module/Package/RDF.pm
+++ b/lib/Module/Package/RDF.pm
@@ -1,6 +1,7 @@
 package Module::Package::RDF;
 
-our $VERSION = '0.001';
+use 5.008003;
+our $VERSION = '0.003';
 
 package Module::Package::RDF::standard;
 
@@ -8,15 +9,18 @@ use 5.008003;
 use strict;
 
 use RDF::Trine 0.133 ();
-use Module::Package 0.29 ();
+use Module::Package 0.30 ();
+use Module::Install::AutoInstall 0 ();
 use Module::Install::AutoLicense 0.08 ();
+use Module::Install::AutoManifest 0 ();
 use Module::Install::ReadmeFromPod 0.12 ();
-use Module::Install::RDF 0.001 ();
-use Module::Install::DOAP 0.001 ();
-use Module::Install::DOAPChangeSets 0.103 ();
+use Module::Install::RDF 0.002 ();
+use Module::Install::DOAP 0.002 ();
+use Module::Install::DOAPChangeSets 0.201 ();
+use Module::Install::TrustMetaYml 0.001 ();
 use Log::Log4perl 0 qw(:easy);
 
-our $VERSION = '0.001';
+our $VERSION = '0.003';
 
 use Moo;
 extends 'Module::Package::Plugin';
@@ -25,9 +29,12 @@ sub main
 {
 	my ($self) = @_;
 
+	$self->mi->trust_meta_yml;
 	$self->mi->rdf_metadata;
 	$self->mi->doap_metadata;
 	$self->mi->sign;
+	
+	$self->mi->include_deps('Module::Package::Dist::RDF');
 
 	# These run later, as specified.
 	$self->post_all_from(sub {Log::Log4perl->easy_init($ERROR);$self->mi->write_doap_changes});
@@ -36,11 +43,14 @@ sub main
 	$self->post_all_from(sub {$self->mi->auto_install});
 	
 	$self->post_all_from(sub {$self->mi->clean_files('Changes')});
-	$self->post_all_from(sub {$self->mi->clean_files('MANIFEST')});
-	$self->post_all_from(sub {$self->mi->clean_files('SIGNATURE')});
-	$self->post_all_from(sub {$self->mi->clean_files('README')});
+	$self->post_all_from(sub {$self->mi->clean_files('inc')});
 	$self->post_all_from(sub {$self->mi->clean_files('LICENSE')});
+	$self->post_all_from(sub {$self->mi->clean_files('MANIFEST')});
 	$self->post_all_from(sub {$self->mi->clean_files('META.yml')});
+	$self->post_all_from(sub {$self->mi->clean_files('MYMETA.json')});
+	$self->post_all_from(sub {$self->mi->clean_files('MYMETA.yml')});
+	$self->post_all_from(sub {$self->mi->clean_files('README')});
+	$self->post_all_from(sub {$self->mi->clean_files('SIGNATURE')});
 }
 
 # We don't want to auto-invoke all_from...
@@ -75,17 +85,19 @@ In addition to the inherited behavior, this flavour uses the following plugins:
 
 =over
 
-=item * RDF
+=item * AutoLicense
+
+=item * AutoManifest
 
 =item * DOAP
 
 =item * DOAPChangeSets
 
-=item * ReadmeFromPod
+=item * RDF
 
-=item * AutoLicense
+=item * ReadmeFromPod
 
-=item * AutoManifest
+=item * TrustMetaYml
 
 =back
 
diff --git a/lib/Module/Package/RDF/Create.pm b/lib/Module/Package/RDF/Create.pm
new file mode 100644
index 0000000..f8477a8
--- /dev/null
+++ b/lib/Module/Package/RDF/Create.pm
@@ -0,0 +1,437 @@
+package Module::Package::RDF::Create;
+
+use common::sense;
+
+BEGIN {
+	$Module::Package::RDF::Create::AUTHORITY = 'cpan:TOBYINK';
+}
+BEGIN {
+	$Module::Package::RDF::Create::VERSION   = '0.003';
+}
+
+use Carp;
+use DateTime;
+use IO::All;
+use Software::License;
+use Text::Template;
+use URI::Escape qw[];
+
+{
+	my %templates;
+	sub import
+	{
+		my ($class) = @_;
+		
+		my $key = undef;
+		while (my $line = <DATA>)
+		{
+			if ($line =~ /^COMMENCE\s+(.+)\s*$/)
+			{
+				$key = $1;
+			}
+			else
+			{
+				$templates{$key} .= $line;
+			}
+		}
+	}
+	sub _get_template
+	{
+		my ($class, $key) = @_;
+		return Text::Template->new(-type=>'string', -source=>$templates{$key});
+	}
+	sub _get_template_names
+	{
+		my ($class) = @_;
+		return keys %templates;
+	}
+}
+
+sub _fill_in_template
+{
+	my ($self, $template) = @_;
+	$template = $self->_get_template($template) unless ref $template;
+	
+	my %hash;
+	while (my ($k, $v) = each %$self)
+	{
+		$hash{$k} = ref $v ? \$v : $v;
+	}
+	
+	return $template->fill_in(
+		-hash => \%hash,
+		);
+}
+
+sub _iofile
+{
+	my ($self, $file) = @_;
+	my $basedir = sprintf($self->{destination}, $self->{dist_name});
+	return io($basedir.$file)->assert;
+}
+
+sub create
+{
+	my ($class, $name, %options) = @_;
+	
+	$options{module_name} = $name;
+	$options{dist_name}   = $name;
+	
+	if ($name =~ /::/)
+	{
+		$options{dist_name} =~ s/::/-/g;
+	}
+	elsif ($name =~ /\-/)
+	{
+		$options{module_name} =~ s/\-/::/g;
+	}
+	
+	my %use;
+	if (ref $options{use} eq 'ARRAY')
+	{
+		%use = map {$_=>1} @{$options{use}};
+	}
+	$options{use} = \%use;
+	
+	my $self = bless \%options, $class;
+	
+	$self->set_defaults;
+	$self->create_module;
+	$self->create_makefile_pl;
+	$self->create_metadata;
+	$self->create_tests;
+	$self->create_author_tests;
+}
+
+sub set_defaults
+{
+	my ($self) = @_;
+	
+	croak "Need an author name."   unless defined $self->{author}{name};
+	croak "Need an author cpanid." unless defined $self->{author}{cpanid};
+
+	$self->{author}{cpanid} = lc $self->{author}{cpanid};
+	$self->{author}{mbox} ||= sprintf('%s at cpan.org', $self->{author}{cpanid});
+
+	$self->{backpan} ||= sprintf('http://backpan.cpan.org/authors/id/%s/%s/%s/',
+		substr(uc $self->{author}{cpanid}, 0, 1),
+		substr(uc $self->{author}{cpanid}, 0, 2),
+		uc $self->{author}{cpanid},
+		);
+	
+	$self->{abstract} ||= 'a module that does something-or-other';
+	$self->{version}  ||= '0.001';
+	
+	$self->{version_ident} = 'v_'.$self->{version};
+	$self->{version_ident} =~ s/\./-/g;
+	
+	$self->{destination} ||= './%s/';
+	
+	unless ($self->{module_filename})
+	{
+		$self->{module_filename} = 'lib::'.$self->{module_name};
+		$self->{module_filename} =~ s/::/\//g;
+		$self->{module_filename} .= '.pm';
+	}
+	
+	$self->{copyright}{holder} ||= $self->{author}{name};
+	$self->{copyright}{year}   ||= DateTime->now->year;
+	
+	$self->{licence_class} ||= 'Software::License::Perl_5'; 
+	eval sprintf('use %s;', $self->{licence_class});
+	$self->{licence} = $self->{licence_class}->new({
+		year    => $self->{copyright}{year},
+		holder  => $self->{copyright}{holder},
+		});
+	
+	$self->{includes} = [grep {!/^(common_sense|strict|warnings|moose|5\.[0-9_]+|namespace_clean)$/} keys %{$self->{use}}];
+	
+	{
+		my @mr = @{ $self->{includes} };
+		push @mr, 'Moose'            if $self->{use}{moose};
+		push @mr, 'common::sense'    if $self->{use}{common_sense};
+		push @mr, 'namespace::clean' if $self->{use}{namespace_clean}
+		                             || $self->{use}{moose};
+		
+		if (@mr)
+		{
+			$self->{requires} = sprintf(";\n\t:requires %s",
+				(join ' , ', (map { my ($pkg, $ver) = split /\s+/, $_; ($ver =~ /^v?[0-9\._]+/) ? "\"$pkg $ver\"" : "\"$pkg\"" } @mr))
+				);
+		}
+		else
+		{
+			$self->{requires} = '';
+		}
+	}
+	
+	$self->{pragmas} ||= join "\n", do {
+			my @pragmas = grep { /^5\.[0-9_]+$/ } keys %{$self->{use}};
+			push @pragmas, '5.010' unless @pragmas;
+			push @pragmas, ($self->{use}{common_sense} ? ('common::sense') : ('strict','warnings'));
+			push @pragmas, 'constant { FALSE => 0, TRUE => 1 }';
+			push @pragmas, 'utf8';
+			push @pragmas, 'Moose' if $self->{use}{moose};
+			map { sprintf('use %s;', $_) } @pragmas;
+		};
+	
+	$self->{final_pragmas} ||= join "\n", do {
+			my @pragmas;
+			push @pragmas, 'namespace::clean' if $self->{use}{namespace_clean} || $self->{use}{moose};
+			map { sprintf('use %s;', $_) } @pragmas;
+		};
+
+	$self->{final_code} ||= join "\n", do {
+			my @lines;
+			push @lines, '__PACKAGE__->meta->make_immutable;' if $self->{use}{moose};
+			push @lines, 'TRUE;';
+			@lines;
+		};
+		
+	foreach (qw(pragmas final_pragmas includes))
+	{
+		if (ref $self->{$_} eq 'ARRAY')
+		{
+			$self->{$_} = join "\n", map { "use $_;" } @{ $self->{$_} };
+		}
+	}
+}
+
+sub create_module
+{
+	my ($self) = @_;
+	
+	$self->_iofile( $self->{module_filename} )
+		->print( $self->_fill_in_template('module') );
+}
+
+sub create_makefile_pl
+{
+	my ($self) = @_;
+	
+	$self->_iofile('Makefile.PL')
+		->print($self->_fill_in_template('Makefile.PL'));
+}
+
+sub create_metadata
+{
+	my ($self) = @_;
+	
+	$self->_iofile($_)
+		->print($self->_fill_in_template($_))
+		foreach grep { m#^meta/# } $self->_get_template_names;
+}
+
+sub create_tests
+{
+	my ($self) = @_;
+	
+	$self->_iofile($_)
+		->print($self->_fill_in_template($_))
+		foreach grep { m#^t/# } $self->_get_template_names;
+}
+
+sub create_author_tests
+{
+	my ($self) = @_;
+	
+	$self->_iofile($_)
+		->print($self->_fill_in_template($_))
+		foreach grep { m#^xt/# } $self->_get_template_names;
+}
+
+=head1 NAME
+
+Module::Package::RDF::Create - create distributions that will use Module::Package::RDF.
+
+=head1 SYNOPSIS
+
+  mkdist Local::Example::Useful
+
+=head1 DESCRIPTION
+
+This package provides just one (class) method:
+
+=over
+
+=item C<< Module::Package::RDF::Create->create($distname, %options) >>
+
+Create a distribution directory including all needed files.
+
+=back
+
+There are various methods that may be useful for people subclassing this
+class to look at (and possibly override).
+
+=over
+
+=item C<< set_defaults >>
+
+=item C<< create_module >>
+
+=item C<< create_makefile_pl >>
+
+=item C<< create_metadata >>
+
+=item C<< create_tests >>
+
+=item C<< create_author_tests >>
+
+=back
+
+=head1 SEE ALSO
+
+L<Module::Package::RDF>.
+
+=head1 AUTHOR
+
+Toby Inkster E<lt>tobyink at cpan.orgE<gt>.
+
+=head1 COPYRIGHT AND LICENCE
+
+This software is copyright (c) 2011 by Toby Inkster.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+1;
+
+__DATA__
+
+COMMENCE module
+package {$module_name};
+
+{$pragmas}
+
+BEGIN \{
+	${$module_name}::AUTHORITY = 'cpan:{uc $author->{cpanid}}';
+\}
+BEGIN \{
+	${$module_name}::VERSION   = '{$version}';
+\}
+
+{$includes}
+{$final_pragmas}
+
+# Your code goes here
+
+{$final_code}
+
+{}__END__
+
+{}=head1 NAME
+
+{$module_name} - {$abstract}
+
+{}=head1 SYNOPSIS
+
+{}=head1 DESCRIPTION
+
+{}=head1 BUGS
+
+Please report any bugs to
+L<http://rt.cpan.org/Dist/Display.html?Queue={URI::Escape::uri_escape($dist_name)}>.
+
+{}=head1 SEE ALSO
+
+{}=head1 AUTHOR
+
+{$author->{name}} E<lt>{$author->{mbox}}E<gt>.
+
+{}=head1 COPYRIGHT AND LICENCE
+
+{$licence->notice}
+
+{}=head1 DISCLAIMER OF WARRANTIES
+
+THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+COMMENCE Makefile.PL
+use inc::Module::Package 'RDF:standard';
+
+COMMENCE meta/changes.ttl
+# This file acts as the project's changelog.
+
+ at prefix :        <http://usefulinc.com/ns/doap#> .
+ at prefix dcs:     <http://ontologi.es/doap-changeset#> .
+ at prefix dc:      <http://purl.org/dc/terms/> .
+ at prefix dist:    <http://purl.org/NET/cpan-uri/dist/{URI::Escape::uri_escape($dist_name)}/> .
+ at prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+ at prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+
+dist:project :release dist:{$version_ident} .
+dist:{$version_ident}
+	a               :Version ;
+	dc:issued       "{DateTime->now->ymd('-')}"^^xsd:date ;
+	:revision       "{$version}"^^xsd:string ;
+	:file-release   <{$backpan}{URI::Escape::uri_escape($dist_name)}-{$version}.tar.gz> ;
+	rdfs:label      "Initial release" .
+
+COMMENCE meta/doap.ttl
+# This file contains general metadata about the project.
+
+ at prefix :        <http://usefulinc.com/ns/doap#> .
+ at prefix dc:      <http://purl.org/dc/terms/> .
+ at prefix foaf:    <http://xmlns.com/foaf/0.1/> .
+ at prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+ at prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+
+<http://purl.org/NET/cpan-uri/dist/{URI::Escape::uri_escape($dist_name)}/project>
+	a               :Project ;
+	:programming-language "Perl" ;
+	:name           "{$dist_name}" ;
+	:shortdesc      "{$abstract}" ;
+	:homepage       <https://metacpan.org/release/{URI::Escape::uri_escape($dist_name)}> ;
+	:download-page  <https://metacpan.org/release/{URI::Escape::uri_escape($dist_name)}> ;
+	:bug-database   <http://rt.cpan.org/Dist/Display.html?Queue={URI::Escape::uri_escape($dist_name)}> ;
+	:created        "{DateTime->now->ymd('-')}"^^xsd:date ;
+	:license        <{$licence->url}> ;
+	:developer      [ a foaf:Person ; foaf:name "{$author->{name}}" ; foaf:mbox <mailto:{$author->{mbox}}> ] .
+
+<{$licence->url}>
+	dc:title        "{$licence->name}" .
+
+COMMENCE meta/makefile.ttl
+# This file provides instructions for packaging.
+
+ at prefix : <http://purl.org/NET/cpan-uri/terms#> .
+
+<http://purl.org/NET/cpan-uri/dist/{URI::Escape::uri_escape($dist_name)}/project>
+	:perl_version_from _:main ;
+	:version_from _:main ;
+	:readme_from _:main ;
+	:test_requires "Test::More 0.61" {$requires} .
+
+_:main <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName> "{$module_filename}" .
+
+COMMENCE t/01basic.t
+use Test::More tests => 1;
+BEGIN \{ use_ok('{$module_name}') \};
+
+COMMENCE xt/01pod.t
+use Test::More;
+eval "use Test::Pod 1.00";
+plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+all_pod_files_ok();
+
+COMMENCE xt/02pod_coverage.t
+use Test::More;
+use Test::Pod::Coverage;
+
+my @modules = qw({$module_name});
+pod_coverage_ok($_, "$_ is covered")
+	foreach @modules;
+done_testing(scalar @modules);
+
+COMMENCE xt/03meta_uptodate.t
+use Test::More tests => 1;
+use Test::RDF::DOAP::Version;
+doap_version_ok('{$dist_name}', '{$module_name}');
+
+COMMENCE xt/04eol.t
+use Test::EOL;
+all_perl_files_ok();
diff --git a/meta/changes.ttl b/meta/changes.ttl
index 22c8132..8c794f1 100644
--- a/meta/changes.ttl
+++ b/meta/changes.ttl
@@ -9,10 +9,37 @@
 
 my:project :release my:v_0-001 .
 my:v_0-001
-
 	a               :Version ;
 	dc:issued       "2011-10-01"^^xsd:date ;
 	:revision       "0.001"^^xsd:string ;
 	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Module-Package-RDF-0.001.tar.gz> ;
 	rdfs:label      "Initial release" .
 
+my:project :release my:v_0-002 .
+my:v_0-002
+	a               :Version ;
+	dc:issued       "2011-10-03"^^xsd:date ;
+	:revision       "0.002"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Module-Package-RDF-0.002.tar.gz> ;
+	dcs:changeset [
+		dcs:versus my:v_0-001 ;
+		dcs:item   [ a dcs:Addition ; rdfs:label "Include mkdist script and Module::Package::RDF::Create."@en ]
+		] .
+
+my:project :release my:v_0-003 .
+my:v_0-003
+	a               :Version ;
+	dc:issued       "2011-10-06"^^xsd:date ;
+	:revision       "0.003"^^xsd:string ;
+	:file-release   <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Module-Package-RDF-0.003.tar.gz> ;
+	dcs:changeset [
+		dcs:versus my:v_0-002 ;
+		dcs:item   [ a dcs:Bugfix ; rdfs:label "Prevent Module::Package::RDF::Create's pod and the template module's pod from getting muddled."@en ] ;
+		dcs:item   [ a dcs:Update ; rdfs:label "Generated modules now default to using perl 5.010."@en ] ;
+		dcs:item   [ a dcs:Addition ; rdfs:label "Generated modules will include $AUTHORITY variables."@en ] ;
+		dcs:item   [ a dcs:Addition ; rdfs:label "Generated modules will include SYNOPSIS in pod."@en ] ;
+		dcs:item   [ a dcs:Addition ; rdfs:label "Generated modules will include DISCLAIMER OF WARRANTIES in pod."@en ] ;
+		dcs:item   [ a dcs:Addition ; rdfs:label "Module::Package::Dist::RDF::standard to run code at user end."@en ] ;
+		dcs:item   [ a dcs:Update ; rdfs:label "use Module::Package 0.30"@en ] ;
+		dcs:item   [ a dcs:Bugfix ; rdfs:label "Module::Package::Dist::RDF::standard uses Meta::Install::TrustMetaYml - this resolves some dependency issues with resultant packages."@en ] ;
+		] .
diff --git a/meta/deps.ttl b/meta/deps.ttl
index 2ef1237..8466133 100644
--- a/meta/deps.ttl
+++ b/meta/deps.ttl
@@ -2,15 +2,28 @@
 
 <http://purl.org/NET/cpan-uri/dist/Module-Package-RDF/project>
 	:requires
-		"Module::Package" ,
-		"Module::Install::RDF 0.001" ,
-		"Module::Install::DOAP 0.001" ,
-		"Module::Install::DOAPChangeSets 0.200" ,
+		"Module::Package 0.30" ,
+		"Module::Install::RDF 0.002" ,
+		"Module::Install::DOAP 0.002" ,
+		"Module::Install::DOAPChangeSets 0.201" ,
 		"Module::Install::AutoLicense 0.08" ,
 		"Module::Install::ReadmeFromPod 0.12" ,
 		"Module::Install::AutoManifest" ,
+		"Module::Install::TrustMetaYml 0.001" ,
+		"Module::Install::AutoInstall 0" ,
 		"RDF::Trine 0.133" ,
 		"Log::Log4perl" ,
+		"URI::Escape",
+		"Software::License",
+		"Carp",
+		"IO::All",
+		"Text::Template",
+		"DateTime",
+		"Test::Pod",
+		"Test::Pod::Coverage",
+		"Test::RDF::DOAP::Version",
+		"Getopt::Long" ,
+		"Getopt::ArgvFile" ,
 		"URI::file 4.0" ;
 	:test_requires
 		"Test::More 0.61" .
diff --git a/meta/makefile.ttl b/meta/makefile.ttl
index 0cf3e66..d2234f1 100644
--- a/meta/makefile.ttl
+++ b/meta/makefile.ttl
@@ -3,6 +3,8 @@
 <http://purl.org/NET/cpan-uri/dist/Module-Package-RDF/project>
 	:perl_version_from _:main ;
 	:version_from _:main ;
-	:readme_from _:main .
+	:readme_from _:main ;
+	:install_script _:mkdist .
 
 _:main <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName> "lib/Module/Package/RDF.pm" .
+_:mkdist <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName> "bin/mkdist" .
diff --git a/t/01basic.t b/t/01basic.t
index b83bc91..be8c031 100644
--- a/t/01basic.t
+++ b/t/01basic.t
@@ -1,3 +1,3 @@
 use Test::More tests => 2;
-BEGIN { use_ok('Module::Install::RDF') };
-BEGIN { use_ok('Module::Install::Admin::RDF') };
+BEGIN { use_ok('Module::Package::RDF') };
+BEGIN { use_ok('Module::Package::RDF::Create') };
diff --git a/xt/01pod.t b/xt/01pod.t
new file mode 100644
index 0000000..92ba3f6
--- /dev/null
+++ b/xt/01pod.t
@@ -0,0 +1,5 @@
+use Test::More;
+eval "use Test::Pod 1.00";
+plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+all_pod_files_ok();
+
diff --git a/xt/02pod_coverage.t b/xt/02pod_coverage.t
new file mode 100644
index 0000000..1b7490a
--- /dev/null
+++ b/xt/02pod_coverage.t
@@ -0,0 +1,8 @@
+use Test::More;
+use Test::Pod::Coverage;
+
+my @modules = qw(Module::Package::RDF Module::Package::RDF::Create);
+pod_coverage_ok($_, "$_ is covered")
+	foreach @modules;
+done_testing(scalar @modules);
+
diff --git a/xt/03meta_uptodate.t b/xt/03meta_uptodate.t
new file mode 100644
index 0000000..97f2119
--- /dev/null
+++ b/xt/03meta_uptodate.t
@@ -0,0 +1,3 @@
+use Test::More tests => 1;
+use Test::RDF::DOAP::Version;
+doap_version_ok('Module-Package-RDF', 'Module::Package::RDF');
diff --git a/xt/04eol.t b/xt/04eol.t
new file mode 100644
index 0000000..96aa016
--- /dev/null
+++ b/xt/04eol.t
@@ -0,0 +1,2 @@
+use Test::EOL;
+all_perl_files_ok();
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmodule-package-rdf-perl.git



More information about the Pkg-perl-cvs-commits mailing list