Subversion Repositories DevTools

Rev

Rev 237 | Rev 243 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 237 Rev 241
Line 330... Line 330...
330
 
330
 
331
#
331
#
332
#   Generate HTML depenedancy information and other useful stuff
332
#   Generate HTML depenedancy information and other useful stuff
333
#
333
#
334
GenerateHTML();
334
GenerateHTML();
-
 
335
GenerateHTMLLodgement();
335
 
336
 
336
 
337
 
337
#
338
#
338
#   Display names of files created
339
#   Display names of files created
339
#
340
#
Line 543... Line 544...
543
 
544
 
544
    connectRM(\$RM_DB) unless ($RM_DB);
545
    connectRM(\$RM_DB) unless ($RM_DB);
545
 
546
 
546
    # First get details from pv_id
547
    # First get details from pv_id
547
 
548
 
548
    my $m_sqlstr = "SELECT pv.PV_ID, pkg.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.SRC_PATH, pv.IS_DEPLOYABLE, pbi.BSA_ID, pbi.BM_ID" .
549
    my $m_sqlstr = "SELECT pv.PV_ID, pkg.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.SRC_PATH, pv.IS_DEPLOYABLE, pbi.BSA_ID, pbi.BM_ID, PV_DESCRIPTION" .
549
                    " FROM PACKAGE_VERSIONS pv, PACKAGES pkg, PACKAGE_BUILD_INFO pbi" .
550
                    " FROM PACKAGE_VERSIONS pv, PACKAGES pkg, PACKAGE_BUILD_INFO pbi" .
550
                    " WHERE pv.PV_ID = \'$PV_ID\' AND pv.PKG_ID = pkg.PKG_ID AND pv.PV_ID = pbi.PV_ID (+) ";
551
                    " WHERE pv.PV_ID = \'$PV_ID\' AND pv.PKG_ID = pkg.PKG_ID AND pv.PV_ID = pbi.PV_ID (+) ";
551
 
552
 
552
    my $sth = $RM_DB->prepare($m_sqlstr);
553
    my $sth = $RM_DB->prepare($m_sqlstr);
553
    if ( defined($sth) )
554
    if ( defined($sth) )
Line 564... Line 565...
564
                    my $label       = $row[3] || '';
565
                    my $label       = $row[3] || '';
565
                    my $path        = $row[4] || '';
566
                    my $path        = $row[4] || '';
566
                    my $deployable  = $row[5];
567
                    my $deployable  = $row[5];
567
                    my $build_info  = $row[6] || '';
568
                    my $build_info  = $row[6] || '';
568
                    my $build_mach  = $row[7] || '';
569
                    my $build_mach  = $row[7] || '';
-
 
570
                    my $description = $row[8] || '';
569
 
571
 
570
                    #
572
                    #
571
                    #   BSA_ID: 1:debug, 2:prod, 3:debug+prod, 4:Java1.4 5: Java 1.5
573
                    #   BSA_ID: 1:debug, 2:prod, 3:debug+prod, 4:Java1.4 5: Java 1.5
572
                    #   BM_ID : 1:solaris, 2:win32, 3: linux, 4:generic
574
                    #   BM_ID : 1:solaris, 2:win32, 3: linux, 4:generic
573
                    #
575
                    #
Line 606... Line 608...
606
                    $Package{$name}{$ver}{base} = 1;
608
                    $Package{$name}{$ver}{base} = 1;
607
                    $Package{$name}{$ver}{deployable} = 1 if ($deployable);
609
                    $Package{$name}{$ver}{deployable} = 1 if ($deployable);
608
                    $Package{$name}{$ver}{label} = $label;
610
                    $Package{$name}{$ver}{label} = $label;
609
                    $Package{$name}{$ver}{path} = $path;
611
                    $Package{$name}{$ver}{path} = $path;
610
                    $Package{$name}{$ver}{build}{$build_mach} = $build_info if $build_mach;
612
                    $Package{$name}{$ver}{build}{$build_mach} = $build_info if $build_mach;
-
 
613
                    $Package{$name}{$ver}{description} = $description;
611
 
614
 
612
                    GetDepends( $pv_id, $name, $ver );
615
                    GetDepends( $pv_id, $name, $ver );
613
 
616
 
614
                }
617
                }
615
            }
618
            }
Line 913... Line 916...
913
 
916
 
914
 
917
 
915
sub GenerateHTML
918
sub GenerateHTML
916
{
919
{
917
    my $td = '<td style="vertical-align: top;">' . "\n";
920
    my $td = '<td style="vertical-align: top;">' . "\n";
918
    my $td3 = '<td style="vertical-align: top;" colspan="3">' . "\n";
-
 
919
    my $tdr = '<td style="text-align: right;">';
921
    my $tdr = '<td style="text-align: right;">';
920
 
922
 
921
    my $file = "${fpref}_depends.html";
923
    my $file = "${fpref}_depends.html";
922
    push @create_list, $file;
924
    push @create_list, $file;
923
    open (DP, ">$file" )  || Error ("Cannot create $file");
925
    open (DP, ">$file" )  || Error ("Cannot create $file");
Line 1452... Line 1454...
1452
    
1454
    
1453
    close DP;
1455
    close DP;
1454
}
1456
}
1455
 
1457
 
1456
#-------------------------------------------------------------------------------
1458
#-------------------------------------------------------------------------------
-
 
1459
# Function        : GenerateHTMLLodgement
-
 
1460
#
-
 
1461
# Description     : Simple document to describe packages
-
 
1462
#
-
 
1463
# Inputs          : 
-
 
1464
#
-
 
1465
# Returns         : 
-
 
1466
#
-
 
1467
sub GenerateHTMLLodgement
-
 
1468
{
-
 
1469
    my $td  = '<td style="vertical-align: top;">' . "\n";
-
 
1470
 
-
 
1471
    my $file = "${fpref}_lodgement.html";
-
 
1472
    push @create_list, $file;
-
 
1473
    open (DP, ">$file" )  || Error ("Cannot create $file");
-
 
1474
 
-
 
1475
    #
-
 
1476
    #   Package Information
-
 
1477
    #
-
 
1478
    print DP "<h1>Package Information</h1>\n";
-
 
1479
 
-
 
1480
    print DP "<table border=\"1\"><tbody>\n";
-
 
1481
    print DP "<tr>\n";
-
 
1482
    print DP th("Name, Version");
-
 
1483
    print DP th("Dependencies");
-
 
1484
    print DP "</tr>\n";
-
 
1485
    my $package_count = 0;
-
 
1486
    foreach my $name ( sort keys %Package )
-
 
1487
    {
-
 
1488
        foreach my $ver ( sort keys %{$Package{$name}} )
-
 
1489
        {
-
 
1490
            print DP "<tr>\n";
-
 
1491
            $package_count++;
-
 
1492
 
-
 
1493
            my $anchor= "${name}_${ver}";
-
 
1494
 
-
 
1495
            #
-
 
1496
            #   Package Name and description
-
 
1497
            #   Cleanup and html-ize the description string
-
 
1498
            #
-
 
1499
            my $description = $Package{$name}{$ver}{description};
-
 
1500
            $description =~ s{\n\r}{\n}g;
-
 
1501
            $description =~ s{\r}{}g;
-
 
1502
            $description =~ s{^\n+}{};
-
 
1503
            $description =~ s{&}{&amp;}g;
-
 
1504
            $description =~ s{<}{&lt;}g;
-
 
1505
            $description =~ s{>}{&gt;}g;
-
 
1506
            $description =~ s{"}{&quot;}g;
-
 
1507
            $description =~ s{\n}{<br>\n}g;
-
 
1508
 
-
 
1509
            print DP $td;
-
 
1510
            printf  DP "<a name=\"$anchor\"></a>%s,&nbsp;%s<br>\n", $name, $ver;
-
 
1511
            print DP "<dl><dd>\n";
-
 
1512
            print  DP $description;
-
 
1513
            print DP "</dd></dl>\n";
-
 
1514
            print DP "\n</td>\n";
-
 
1515
 
-
 
1516
            #
-
 
1517
            #   Depends On info
-
 
1518
            #
-
 
1519
            my $icount = 0;
-
 
1520
            print DP $td;
-
 
1521
#            printf  DP "<dl><dt><a name=\"$anchor\"></a><a href=\"#$tag\">%s&nbsp;%s</a> Depends on:</dt>\n", $name, $ver;
-
 
1522
            foreach my $depend ( sort keys %{$Package{$name}{$ver}{depends}} )
-
 
1523
            {
-
 
1524
                my ($dname, $dver) = split $;, $depend;
-
 
1525
                my $tag = "${dname}_${dver}";
-
 
1526
                printf  DP "<a href=\"#$tag\">%s&nbsp;%s</a><br>\n", $dname, $dver;
-
 
1527
                $icount++;
-
 
1528
            }
-
 
1529
            print DP "<br>\n" unless $icount;
-
 
1530
            print DP "</td>\n";
-
 
1531
 
-
 
1532
            #
-
 
1533
            #   End of Row
-
 
1534
            #
-
 
1535
            print DP "</tr>\n";
-
 
1536
        }
-
 
1537
    }
-
 
1538
    print DP "<tr>\n";
-
 
1539
    print DP thl("Total Count: $package_count", 2);
-
 
1540
    print DP "</tr>\n";
-
 
1541
    
-
 
1542
    print DP "</tbody>\n";
-
 
1543
    print DP "</table>\n";
-
 
1544
    close DP;
-
 
1545
}
-
 
1546
 
-
 
1547
#-------------------------------------------------------------------------------
1457
# Function        : extract_files
1548
# Function        : extract_files
1458
#
1549
#
1459
# Description     : Alternate mode of operation
1550
# Description     : Alternate mode of operation
1460
#                   Extract files from the generated list. This is intended to
1551
#                   Extract files from the generated list. This is intended to
1461
#                   be run as a seperate phase taking the 'extract' file
1552
#                   be run as a seperate phase taking the 'extract' file