From 1448eede680478eef74c51b965815097ef45d02a Mon Sep 17 00:00:00 2001 From: franck cuny Date: Mon, 23 Mar 2009 17:25:05 +0100 Subject: initial import --- cpan-graph.pl | 81 +++ gen-gdf.pl | 60 +++ lib/CPAN/Testers.pm | 95 ++++ lib/CPAN/cpants.pm | 1431 +++++++++++++++++++++++++++++++++++++++++++++++++++ lib/CPAN/mapcpan.pm | 145 ++++++ 5 files changed, 1812 insertions(+) create mode 100755 cpan-graph.pl create mode 100755 gen-gdf.pl create mode 100644 lib/CPAN/Testers.pm create mode 100644 lib/CPAN/cpants.pm create mode 100644 lib/CPAN/mapcpan.pm diff --git a/cpan-graph.pl b/cpan-graph.pl new file mode 100755 index 0000000..c2e5324 --- /dev/null +++ b/cpan-graph.pl @@ -0,0 +1,81 @@ +#!/usr/bin/perl -w +use strict; +use feature ':5.10'; + +use Getopt::Long; + +use lib ( 'lib' ); +use CPAN::Testers; +use CPAN::cpants; +use CPAN::mapcpan; + +my $options = GetOptions( + 'dbtest=s' => \my $db_test, + 'dball=s' => \my $db_all, + 'dbout=s' => \my $db_out, +); + +my $sqltest + = CPAN::Testers->connect( "dbi:SQLite:dbname=" . $db_test, '', '' ); +my $sqlall = CPAN::cpants->connect( "dbi:SQLite:dbname=" . $db_all, '', '' ); +my $dbmap = CPAN::cpanmap->connect( "dbi:SQLite:dbname=" . $db_out, "", "" ); + +$dbmap->deploy; + +my $dists = $sqlall->resultset( 'dist' )->search( { is_core => 0 } ); + +while ( my $dist = $dists->next ) { + print "processing ".$dist->package ."... "; + my $map_package = $dbmap->resultset( 'packages' ) + ->find_or_create( { dist => $dist->dist, } ); + + my $modules + = $sqlall->resultset( 'modules' )->search( { dist => $dist->id } ); + while ( my $module = $modules->next ) { + my $map_module = $dbmap->resultset( 'modules' )->find_or_create( + { module => $module->module, + in_dist => $map_package->id, + } + ); + } + + my $tests_pass = $sqltest->resultset( 'reports' ) + ->count( { distribution => $dist->dist, status => 'PASS' } ); + my $tests_fail = $sqltest->resultset( 'reports' ) + ->count( { distribution => $dist->dist, status => 'FAIL' } ); + my $total_tests = $tests_pass + $tests_fail; + $total_tests = 1 if $total_tests == 0; + my $tests_success = int( ( $tests_pass / $total_tests ) * 100 ); + + my $author = $sqlall->resultset( 'author' )->find( $dist->author ); + $map_package->update( + { tests_success => $tests_success, + author => $author->pauseid, + released => $dist->released, + } + ); + + my $deps = $sqlall->resultset( 'uses' )->search( + { dist => $dist->id, + in_code => 1, + in_tests => 0 + } + ); + while ( my $dep = $deps->next ) { + my $dist_dep = $sqlall->resultset( 'dist' )->find( $dep->in_dist ); + next + if !defined $dep->in_dist + || $dep->in_dist == 0 + || $dist_dep->is_core; + my $pack_dep = $dbmap->resultset( 'packages' ) + ->find_or_create( { dist => $dist_dep->dist, } ); + my $node_from = $dbmap->resultset( 'edges' )->create( + { dist_from => $map_package->id, + dist_to => $pack_dep->id + } + ); + } + say "done"; +} + +say "importing CPAN data is terminated"; \ No newline at end of file diff --git a/gen-gdf.pl b/gen-gdf.pl new file mode 100755 index 0000000..72ce349 --- /dev/null +++ b/gen-gdf.pl @@ -0,0 +1,60 @@ +#!/opt/perl/bin/perl -w +use strict; +use feature ':5.10'; +use Getopt::Long; + +use lib ( 'lib' ); +use CPAN::mapcpan; + +my $options = GetOptions( + 'out=s' => \my $output_gdf, + 'dbmap=s' => \my $db_map +); + +my $dbmap = CPAN::cpanmap->connect( "dbi:SQLite:dbname=" . $db_map, "", "" ); + +my $array_edges; +my $hash_nodes; + +my $packages = $dbmap->resultset( 'packages' )->search; +say "create nodes"; +while ( my $package = $packages->next ) { + $hash_nodes->{ $package->id } = { + tests => $package->tests_success, + name => $package->dist, + author => $package->author, + date => $package->released, + }; +} + +my $edges = $dbmap->resultset( 'edges' )->search; +say "create edges"; +while ( my $edge = $edges->next ) { + push @$array_edges, + { + node1 => $edge->dist_from, + node2 => $edge->dist_to, + directed => 'true', + }; +} + +#my $out = "nodedef>name VARCHAR,label VARCHAR,tests INTEGER,author VARCHAR,date VARCHAR\n"; +#foreach my $key ( keys %$hash_nodes ) { + #$out + #.= $key . "," + #. $hash_nodes->{ $key }->{ name } . "," + #. $hash_nodes->{ $key }->{ tests } . "," + #. $hash_nodes->{ $key }->{ author } . "," + #. $hash_nodes->{ $key }->{ date } . "\n"; +#} +#$out .= "edgedef>node1 VARCHAR,node2 VARCHAR,directed BOOLEAN\n"; +#foreach my $edge ( @$array_edges ) { + #$out + #.= $edge->{ node1 } . "," + #. $edge->{ node2 } . "," + #. $edge->{ directed } . "\n"; +#} + +#open my $fh_gdf, '>', $output_gdf or die $!; +#print $fh_gdf $out; +#close $fh_gdf; \ No newline at end of file diff --git a/lib/CPAN/Testers.pm b/lib/CPAN/Testers.pm new file mode 100644 index 0000000..2159ba7 --- /dev/null +++ b/lib/CPAN/Testers.pm @@ -0,0 +1,95 @@ +package CPAN::Testers::reports; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components(qw/ Core/); +__PACKAGE__->table('reports'); + + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'INTEGER', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'status' => { + 'data_type' => 'TEXT', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'status', + 'is_nullable' => 1, + 'size' => 0 + }, + 'distribution' => { + 'data_type' => 'TEXT', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'distribution', + 'is_nullable' => 1, + 'size' => 0 + }, + 'version' => { + 'data_type' => 'TEXT', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'version', + 'is_nullable' => 1, + 'size' => 0 + }, + 'perl' => { + 'data_type' => 'TEXT', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'perl', + 'is_nullable' => 1, + 'size' => 0 + }, + 'osname' => { + 'data_type' => 'TEXT', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'osname', + 'is_nullable' => 1, + 'size' => 0 + }, + 'osvers' => { + 'data_type' => 'TEXT', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'osvers', + 'is_nullable' => 1, + 'size' => 0 + }, + 'archname' => { + 'data_type' => 'TEXT', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'archname', + 'is_nullable' => 1, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key('id'); + + + +package CPAN::Testers; +use base 'DBIx::Class::Schema'; +use strict; +use warnings; + +__PACKAGE__->register_class('reports', 'CPAN::Testers::reports'); + +1; diff --git a/lib/CPAN/cpants.pm b/lib/CPAN/cpants.pm new file mode 100644 index 0000000..686c834 --- /dev/null +++ b/lib/CPAN/cpants.pm @@ -0,0 +1,1431 @@ +package CPAN::cpants::prereq; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'prereq' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'requires' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'requires', + 'is_nullable' => 1, + 'size' => 0 + }, + 'version' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'version', + 'is_nullable' => 1, + 'size' => 0 + }, + 'in_dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'in_dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'is_prereq' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'is_prereq', + 'is_nullable' => 0, + 'size' => 0 + }, + 'is_build_prereq' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'is_build_prereq', + 'is_nullable' => 0, + 'size' => 0 + }, + 'is_optional_prereq' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'is_optional_prereq', + 'is_nullable' => 0, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key( 'id' ); + +package CPAN::cpants::modules; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'modules' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'module' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'module', + 'is_nullable' => 1, + 'size' => 0 + }, + 'file' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file', + 'is_nullable' => 1, + 'size' => 0 + }, + 'in_lib' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'in_lib', + 'is_nullable' => 0, + 'size' => 0 + }, + 'in_basedir' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'in_basedir', + 'is_nullable' => 0, + 'size' => 0 + }, + 'is_core' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'is_core', + 'is_nullable' => 0, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key( 'id' ); + +package CPAN::cpants::kwalitee; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'kwalitee' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'abs_kw' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'abs_kw', + 'is_nullable' => 0, + 'size' => 0 + }, + 'abs_core_kw' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'abs_core_kw', + 'is_nullable' => 0, + 'size' => 0 + }, + 'kwalitee' => { + 'data_type' => 'numeric', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'kwalitee', + 'is_nullable' => 0, + 'size' => 0 + }, + 'rel_core_kw' => { + 'data_type' => 'numeric', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'rel_core_kw', + 'is_nullable' => 0, + 'size' => 0 + }, + 'extractable' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'extractable', + 'is_nullable' => 0, + 'size' => 0 + }, + 'extracts_nicely' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'extracts_nicely', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_version' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_version', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_proper_version' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_proper_version', + 'is_nullable' => 0, + 'size' => 0 + }, + 'no_cpants_errors' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'no_cpants_errors', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_readme' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_readme', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_manifest' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_manifest', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_meta_yml' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_meta_yml', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_buildtool' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_buildtool', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_changelog' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_changelog', + 'is_nullable' => 0, + 'size' => 0 + }, + 'no_symlinks' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'no_symlinks', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_tests' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_tests', + 'is_nullable' => 0, + 'size' => 0 + }, + 'proper_libs' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'proper_libs', + 'is_nullable' => 0, + 'size' => 0 + }, + 'is_prereq' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'is_prereq', + 'is_nullable' => 0, + 'size' => 0 + }, + 'use_strict' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'use_strict', + 'is_nullable' => 0, + 'size' => 0 + }, + 'use_warnings' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'use_warnings', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_test_pod' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_test_pod', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_test_pod_coverage' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_test_pod_coverage', + 'is_nullable' => 0, + 'size' => 0 + }, + 'no_pod_errors' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'no_pod_errors', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_working_buildtool' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_working_buildtool', + 'is_nullable' => 0, + 'size' => 0 + }, + 'manifest_matches_dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'manifest_matches_dist', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_example' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_example', + 'is_nullable' => 0, + 'size' => 0 + }, + 'buildtool_not_executable' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'buildtool_not_executable', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_humanreadable_license' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_humanreadable_license', + 'is_nullable' => 0, + 'size' => 0 + }, + 'metayml_is_parsable' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'metayml_is_parsable', + 'is_nullable' => 0, + 'size' => 0 + }, + 'metayml_conforms_spec_current' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'metayml_conforms_spec_current', + 'is_nullable' => 0, + 'size' => 0 + }, + 'metayml_has_license' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'metayml_has_license', + 'is_nullable' => 0, + 'size' => 0 + }, + 'metayml_conforms_to_known_spec' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'metayml_conforms_to_known_spec', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_license' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_license', + 'is_nullable' => 0, + 'size' => 0 + }, + 'prereq_matches_use' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'prereq_matches_use', + 'is_nullable' => 0, + 'size' => 0 + }, + 'build_prereq_matches_use' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'build_prereq_matches_use', + 'is_nullable' => 0, + 'size' => 0 + }, + 'no_generated_files' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'no_generated_files', + 'is_nullable' => 0, + 'size' => 0 + }, + 'run' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'run', + 'is_nullable' => 1, + 'size' => 0 + }, + 'has_version_in_each_file' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_version_in_each_file', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_tests_in_t_dir' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_tests_in_t_dir', + 'is_nullable' => 0, + 'size' => 0 + }, + 'no_stdin_for_prompting' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'no_stdin_for_prompting', + 'is_nullable' => 0, + 'size' => 0 + }, + 'easily_repackageable_by_fedora' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'easily_repackageable_by_fedora', + 'is_nullable' => 0, + 'size' => 0 + }, + 'easily_repackageable_by_debian' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'easily_repackageable_by_debian', + 'is_nullable' => 0, + 'size' => 0 + }, + 'easily_repackageable' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'easily_repackageable', + 'is_nullable' => 0, + 'size' => 0 + }, + 'fits_fedora_license' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'fits_fedora_license', + 'is_nullable' => 0, + 'size' => 0 + }, + 'metayml_declares_perl_version' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'metayml_declares_perl_version', + 'is_nullable' => 0, + 'size' => 0 + }, + 'no_large_files' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'no_large_files', + 'is_nullable' => 1, + 'size' => 0 + }, + 'has_separate_license_file' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_separate_license_file', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_license_in_source_file' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_license_in_source_file', + 'is_nullable' => 0, + 'size' => 0 + }, + 'metayml_has_provides' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'metayml_has_provides', + 'is_nullable' => 0, + 'size' => 0 + }, + 'uses_test_nowarnings' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'uses_test_nowarnings', + 'is_nullable' => 0, + 'size' => 0 + }, + 'latest_version_distributed_by_debian' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'latest_version_distributed_by_debian', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_no_bugs_reported_in_debian' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_no_bugs_reported_in_debian', + 'is_nullable' => 0, + 'size' => 0 + }, + 'has_no_patches_in_debian' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'has_no_patches_in_debian', + 'is_nullable' => 0, + 'size' => 0 + }, + 'distributed_by_debian' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'distributed_by_debian', + 'is_nullable' => 0, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key( 'id' ); + +package CPAN::cpants::uses; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'uses' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'module' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'module', + 'is_nullable' => 1, + 'size' => 0 + }, + 'in_dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'in_dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'in_code' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'in_code', + 'is_nullable' => 0, + 'size' => 0 + }, + 'in_tests' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'in_tests', + 'is_nullable' => 0, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key( 'id' ); + +package CPAN::cpants::dist; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'dist' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'run' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'run', + 'is_nullable' => 1, + 'size' => 0 + }, + 'dist' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'package' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'package', + 'is_nullable' => 1, + 'size' => 0 + }, + 'vname' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'vname', + 'is_nullable' => 1, + 'size' => 0 + }, + 'author' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'author', + 'is_nullable' => 1, + 'size' => 0 + }, + 'version' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'version', + 'is_nullable' => 1, + 'size' => 0 + }, + 'version_major' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'version_major', + 'is_nullable' => 1, + 'size' => 0 + }, + 'version_minor' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'version_minor', + 'is_nullable' => 1, + 'size' => 0 + }, + 'extension' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'extension', + 'is_nullable' => 1, + 'size' => 0 + }, + 'extractable' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'extractable', + 'is_nullable' => 0, + 'size' => 0 + }, + 'extracts_nicely' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'extracts_nicely', + 'is_nullable' => 0, + 'size' => 0 + }, + 'size_packed' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'size_packed', + 'is_nullable' => 0, + 'size' => 0 + }, + 'size_unpacked' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'size_unpacked', + 'is_nullable' => 0, + 'size' => 0 + }, + 'released' => { + 'data_type' => 'date', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'released', + 'is_nullable' => 0, + 'size' => 0 + }, + 'files' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'files', + 'is_nullable' => 0, + 'size' => 0 + }, + 'files_list' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'files_list', + 'is_nullable' => 1, + 'size' => 0 + }, + 'dirs' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dirs', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dirs_list' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dirs_list', + 'is_nullable' => 1, + 'size' => 0 + }, + 'symlinks' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'symlinks', + 'is_nullable' => 0, + 'size' => 0 + }, + 'symlinks_list' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'symlinks_list', + 'is_nullable' => 1, + 'size' => 0 + }, + 'bad_permissions' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'bad_permissions', + 'is_nullable' => 0, + 'size' => 0 + }, + 'bad_permissions_list' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'bad_permissions_list', + 'is_nullable' => 1, + 'size' => 0 + }, + 'file_makefile_pl' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_makefile_pl', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_build_pl' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_build_pl', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_readme' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_readme', + 'is_nullable' => 1, + 'size' => 0 + }, + 'file_manifest' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_manifest', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_meta_yml' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_meta_yml', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_signature' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_signature', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_ninja' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_ninja', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_test_pl' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_test_pl', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_changelog' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_changelog', + 'is_nullable' => 1, + 'size' => 0 + }, + 'dir_lib' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dir_lib', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dir_t' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dir_t', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dir_xt' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dir_xt', + 'is_nullable' => 0, + 'size' => 0 + }, + 'broken_module_install' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'broken_module_install', + 'is_nullable' => 0, + 'size' => 0 + }, + 'manifest_matches_dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'manifest_matches_dist', + 'is_nullable' => 0, + 'size' => 0 + }, + 'buildfile_executable' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'buildfile_executable', + 'is_nullable' => 0, + 'size' => 0 + }, + 'license' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'license', + 'is_nullable' => 1, + 'size' => 0 + }, + 'metayml_is_parsable' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'metayml_is_parsable', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_license' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_license', + 'is_nullable' => 0, + 'size' => 0 + }, + 'needs_compiler' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'needs_compiler', + 'is_nullable' => 0, + 'size' => 0 + }, + 'got_prereq_from' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'got_prereq_from', + 'is_nullable' => 1, + 'size' => 0 + }, + 'is_core' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'is_core', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file__build' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file__build', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_build' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_build', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_makefile' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_makefile', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_blib' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_blib', + 'is_nullable' => 0, + 'size' => 0 + }, + 'file_pm_to_blib' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_pm_to_blib', + 'is_nullable' => 0, + 'size' => 0 + }, + 'stdin_in_makefile_pl' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'stdin_in_makefile_pl', + 'is_nullable' => 0, + 'size' => 0 + }, + 'stdin_in_build_pl' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'stdin_in_build_pl', + 'is_nullable' => 0, + 'size' => 0 + }, + 'external_license_file' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'external_license_file', + 'is_nullable' => 1, + 'size' => 0 + }, + 'file_licence' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'file_licence', + 'is_nullable' => 1, + 'size' => 0 + }, + 'licence_file' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'licence_file', + 'is_nullable' => 1, + 'size' => 0 + }, + 'license_file' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'license_file', + 'is_nullable' => 1, + 'size' => 0 + }, + 'license_type' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'license_type', + 'is_nullable' => 1, + 'size' => 0 + }, + 'no_index' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'no_index', + 'is_nullable' => 1, + 'size' => 0 + }, + 'ignored_files_list' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'ignored_files_list', + 'is_nullable' => 1, + 'size' => 0 + }, + 'license_in_pod' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'license_in_pod', + 'is_nullable' => 0, + 'size' => 0 + }, + 'license_from_yaml' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'license_from_yaml', + 'is_nullable' => 1, + 'size' => 0 + }, + 'license_from_external_license_file' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'license_from_external_license_file', + 'is_nullable' => 1, + 'size' => 0 + }, + 'test_files_list' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'test_files_list', + 'is_nullable' => 1, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key( 'id' ); + +package CPAN::cpants::author; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'author' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'pauseid' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'pauseid', + 'is_nullable' => 1, + 'size' => 0 + }, + 'name' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'name', + 'is_nullable' => 1, + 'size' => 0 + }, + 'email' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'email', + 'is_nullable' => 1, + 'size' => 0 + }, + 'average_kwalitee' => { + 'data_type' => 'numeric', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'average_kwalitee', + 'is_nullable' => 1, + 'size' => 0 + }, + 'num_dists' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'num_dists', + 'is_nullable' => 0, + 'size' => 0 + }, + 'rank' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'rank', + 'is_nullable' => 0, + 'size' => 0 + }, + 'prev_av_kw' => { + 'data_type' => 'numeric', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'prev_av_kw', + 'is_nullable' => 1, + 'size' => 0 + }, + 'prev_rank' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'prev_rank', + 'is_nullable' => 0, + 'size' => 0 + }, + 'average_total_kwalitee' => { + 'data_type' => 'numeric', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'average_total_kwalitee', + 'is_nullable' => 1, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key( 'id' ); + +package CPAN::cpants; +use base 'DBIx::Class::Schema'; +use strict; +use warnings; + +__PACKAGE__->register_class( 'prereq', 'CPAN::cpants::prereq' ); + +__PACKAGE__->register_class( 'modules', 'CPAN::cpants::modules' ); + +__PACKAGE__->register_class( 'kwalitee', 'CPAN::cpants::kwalitee' ); + +__PACKAGE__->register_class( 'uses', 'CPAN::cpants::uses' ); + +__PACKAGE__->register_class( 'dist', 'CPAN::cpants::dist' ); + +__PACKAGE__->register_class( 'author', 'CPAN::cpants::author' ); + +1; diff --git a/lib/CPAN/mapcpan.pm b/lib/CPAN/mapcpan.pm new file mode 100644 index 0000000..7dcd13e --- /dev/null +++ b/lib/CPAN/mapcpan.pm @@ -0,0 +1,145 @@ +package CPAN::cpanmap::edges; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'edges' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dist_from' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist_from', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dist_to' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist_to', + 'is_nullable' => 0, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key('id'); + +package CPAN::cpanmap::packages; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'packages' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'dist' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'dist', + 'is_nullable' => 1, + 'size' => 0 + }, + 'tests_success' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => 0, + 'is_foreign_key' => 0, + 'name' => 'tests_success', + 'is_nullable' => 1, + 'size' => 0 + }, + 'author' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'author', + 'is_nullable' => 1, + 'size' => 0 + }, + 'released' => { + 'data_type' => 'date', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'released', + 'is_nullable' => 1, + 'size' => 0 + } +); +__PACKAGE__->set_primary_key('id'); + +package CPAN::cpanmap::modules; +use base 'DBIx::Class'; +use strict; +use warnings; + +__PACKAGE__->load_components( qw/ Core/ ); +__PACKAGE__->table( 'modules' ); + +__PACKAGE__->add_columns( + 'id' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'id', + 'is_nullable' => 0, + 'size' => 0 + }, + 'module' => { + 'data_type' => 'text', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'module', + 'is_nullable' => 1, + 'size' => 0 + }, + 'in_dist' => { + 'data_type' => 'integer', + 'is_auto_increment' => 0, + 'default_value' => undef, + 'is_foreign_key' => 0, + 'name' => 'in_dist', + 'is_nullable' => 1, + 'size' => 0 + }, +); +__PACKAGE__->set_primary_key('id'); + +package CPAN::cpanmap; +use base 'DBIx::Class::Schema'; +use strict; +use warnings; + +__PACKAGE__->register_class( 'edges', 'CPAN::cpanmap::edges' ); +__PACKAGE__->register_class( 'packages', 'CPAN::cpanmap::packages' ); +__PACKAGE__->register_class( 'modules', 'CPAN::cpanmap::modules' ); + +1; -- cgit 1.4.1