Subversion Repositories DevTools

Rev

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

Rev 2439 Rev 2450
Line 39... Line 39...
39
#
39
#
40
#   Package information
40
#   Package information
41
#
41
#
42
our %ScmReleases;
42
our %ScmReleases;
43
our %ScmPackages;
43
our %ScmPackages;
-
 
44
our %ScmPkgNames;
44
our %ScmSuffixes;
45
our %ScmSuffixes;
45
our %ScmAllPackages;
46
our %ScmAllPackages;
46
our %ScmAllBomProjects;
47
our %ScmAllBomProjects;
47
our %ScmSboms;
48
our %ScmSboms;
-
 
49
our %Protected;
48
 
50
 
49
################################################################################
51
################################################################################
50
#   Data structure to help create links in all the files
52
#   Data structure to help create links in all the files
51
#       BadVcs_$pvid
53
#       BadVcs_$pvid
52
#       Repo_$repo
54
#       Repo_$repo
Line 64... Line 66...
64
    S7 =>  {file => 'PackageConversion_MultiplePackages.html' , title => 'MultiplePackages'                 , tag => '' },
66
    S7 =>  {file => 'PackageConversion_MultiplePackages.html' , title => 'MultiplePackages'                 , tag => '' },
65
    S8 =>  {file => 'PackageConversion_RepoIndex.html'        , title => 'Repository Index'                 , tag => '' },
67
    S8 =>  {file => 'PackageConversion_RepoIndex.html'        , title => 'Repository Index'                 , tag => '' },
66
    S9 =>  {file => 'PackageConversion_RepoMap.html'          , title => 'Repository Mapping'               , tag => 'Repo' },
68
    S9 =>  {file => 'PackageConversion_RepoMap.html'          , title => 'Repository Mapping'               , tag => 'Repo' },
67
    SA =>  {file => 'PackageConversion_unMapped.html'         , title => 'Unmapped Packages'                , tag => '' },
69
    SA =>  {file => 'PackageConversion_unMapped.html'         , title => 'Unmapped Packages'                , tag => '' },
68
    SB =>  {file => 'PackageConversion_SvnPkgs.html'          , title => 'Packages in Subversion'           , tag => '' },
70
    SB =>  {file => 'PackageConversion_SvnPkgs.html'          , title => 'Packages in Subversion'           , tag => '' },
-
 
71
    SC =>  {file => 'PackageConversion_Issues.html'           , title => 'Packages with known issues'       , tag => '' },
69
);
72
);
70
 
73
 
71
#-------------------------------------------------------------------------------
74
#-------------------------------------------------------------------------------
72
# Function        : Main Entry
75
# Function        : Main Entry
73
#
76
#
Line 149... Line 152...
149
my %Views;
152
my %Views;
150
my %Vobs;
153
my %Vobs;
151
my %ReleasePackages;
154
my %ReleasePackages;
152
 
155
 
153
getBadLabelData();
156
getBadLabelData();
-
 
157
getProtectedPackages();
154
 
158
 
155
#
159
#
156
#   Remove packages that we don't need
160
#   Remove packages that we don't need
157
#
161
#
158
my $deleteCount = keys %ScmPackages;
162
my $deleteCount = keys %ScmPackages;
Line 175... Line 179...
175
        $badCount++;
179
        $badCount++;
176
        next;
180
        next;
177
    }
181
    }
178
 
182
 
179
    push @{$PackageSet{$pkgid}}, $_;
183
    push @{$PackageSet{$pkgid}}, $_;
-
 
184
    $ScmPkgNames{$ScmPackages{$_}{name}} = $pkgid;
180
 
185
 
181
    my ($vob, $path) = extractVob($_);
186
    my ($vob, $path) = extractVob($_);
182
    if ($vob)
187
    if ($vob)
183
    {
188
    {
184
        next if ( $ScmPackages{$_}{BadVob} );
189
        next if ( $ScmPackages{$_}{BadVob} );
Line 413... Line 418...
413
#
418
#
414
sub generateImportData
419
sub generateImportData
415
{
420
{
416
    my %Data;
421
    my %Data;
417
    Message("Generate Data for utilties");
422
    Message("Generate Data for utilties");
418
    
-
 
419
    {
423
    {
420
        my $file = "cc2svn.repo.txt";
424
        my $file = "cc2svn.repo.txt";
421
        Message ("Create: $file");
425
        Message ("Create: $file");
422
        my $fh = ConfigurationFile::New( $file );
426
        my $fh = ConfigurationFile::New( $file );
423
 
427
 
Line 445... Line 449...
445
            $Data{$name}{repo} = $repo;
449
            $Data{$name}{repo} = $repo;
446
            $Data{$name}{SVN} = 1 if $PackageData{$pkgid}{isSVN};
450
            $Data{$name}{SVN} = 1 if $PackageData{$pkgid}{isSVN};
447
            $Data{$name}{youngest} = $youngest;
451
            $Data{$name}{youngest} = $youngest;
448
            $Data{$name}{ynr} = $youngestNonRipple;
452
            $Data{$name}{ynr} = $youngestNonRipple;
449
            $Data{$name}{ynb} = $youngestNonBuildadm;
453
            $Data{$name}{ynb} = $youngestNonBuildadm;
450
 
-
 
-
 
454
            $Data{$name}{protected} = $Protected{$PackageData{$pkgid}{name}} if exists $Protected{$PackageData{$pkgid}{name}};
451
        }
455
        }
452
        $fh->Close();
456
        $fh->Close();
453
    }
457
    }
454
 
458
 
455
    my $file = "cc2svn.repo.dat";
459
    my $file = "cc2svn.repo.dat";
Line 872... Line 876...
872
            }
876
            }
873
        }
877
        }
874
        my $txt = join( '<br>', values %RepoList);
878
        my $txt = join( '<br>', values %RepoList);
875
        $txt = ' : ' . $txt if ( $txt );
879
        $txt = ' : ' . $txt if ( $txt );
876
        $t->addRow("Repo:", hRef("#Repo_$repo", $repo). $txt );
880
        $t->addRow("Repo:", hRef("#Repo_$repo", $repo). $txt );
-
 
881
        $t->addRow("Protected:", $Protected{$PackageData{$pkgid}{name}} ) if exists $Protected{$PackageData{$pkgid}{name}};
877
    }
882
    }
878
    $t->setColClass (1, 'listTitle' );
883
    $t->setColClass (1, 'listTitle' );
879
    print $HTML $t->getTable;
884
    print $HTML $t->getTable;
880
    generateHTMLTail($HTML);
885
    generateHTMLTail($HTML);
881
    #
886
    #
Line 1180... Line 1185...
1180
        }
1185
        }
1181
        $t->addRow( linkPackageDetails($pkgid), join( '<br>', values %RepoList) );
1186
        $t->addRow( linkPackageDetails($pkgid), join( '<br>', values %RepoList) );
1182
    }
1187
    }
1183
    print $HTML $t->getTable;
1188
    print $HTML $t->getTable;
1184
 
1189
 
-
 
1190
    #
-
 
1191
    #   Packages with known issues
-
 
1192
    #
-
 
1193
    $HTML = generateHTMLHeader ('SC');
-
 
1194
    print $HTML "Packages that are not being migrated due to known issues\n";
-
 
1195
 
-
 
1196
    $t = new HTML::Table( -border=>1 );
-
 
1197
    $t->addRow( "Protected Packages - Migration delayed");
-
 
1198
    $t->setRowClass  (-1, 'packageTitle');
-
 
1199
    $t->setCellColSpan(-1, 1, 2);
-
 
1200
    foreach my $pkgname ( sort keys %Protected )
-
 
1201
    {
-
 
1202
        next unless ( $Protected{$pkgname} eq 'Protected' );
-
 
1203
        my $pkgid =  $ScmPkgNames{$pkgname};
-
 
1204
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
-
 
1205
        $t->addRow( $txt, $Protected{$pkgname});
-
 
1206
    }
-
 
1207
 
-
 
1208
    $t->addRow( "Broken Packages - Migration not possible");
-
 
1209
    $t->setRowClass  (-1, 'packageTitle');
-
 
1210
    $t->setCellColSpan(-1, 1, 2);
-
 
1211
    foreach my $pkgname ( sort keys %Protected )
-
 
1212
    {
-
 
1213
        next if ( $Protected{$pkgname} eq 'Protected' );
-
 
1214
        my $pkgid =  $ScmPkgNames{$pkgname};
-
 
1215
        my $txt = $pkgid ? linkPackageDetails($pkgid) : $pkgname;
-
 
1216
        $t->addRow( $txt, $Protected{$pkgname});
-
 
1217
    }
-
 
1218
    
-
 
1219
    print $HTML $t->getTable;
-
 
1220
    
-
 
1221
 
1185
    generateHTMLTail($HTML);
1222
    generateHTMLTail($HTML);
1186
Message ("Created: PackageConversion.html");
1223
Message ("Created: PackageConversion.html");
1187
}
1224
}
1188
 
1225
 
1189
sub hRef
1226
sub hRef
Line 1477... Line 1514...
1477
        'accesscontrol_ejb-api'                 => 'MASS_Dev_Infra/Security',
1514
        'accesscontrol_ejb-api'                 => 'MASS_Dev_Infra/Security',
1478
        'tp5000_MUG'                            => 'MREF_Package',
1515
        'tp5000_MUG'                            => 'MREF_Package',
1479
        'udman'                                 => 'MASS_Dev_Infra',
1516
        'udman'                                 => 'MASS_Dev_Infra',
1480
        'emvud'                                 => 'DPG_SWBase/emvud',
1517
        'emvud'                                 => 'DPG_SWBase/emvud',
1481
        'daf_mmi_ti'                            => 'DPG_SWBase',
1518
        'daf_mmi_ti'                            => 'DPG_SWBase',
-
 
1519
        'daf_osa_mos'                           => 'DPG_SWBase/OSA',
1482
        'mos_api'                               => 'MOS',
1520
        'mos_api'                               => 'MOS',
1483
        'tp5700_Manifest'                       => 'MREF_Package',
1521
        'tp5700_Manifest'                       => 'MREF_Package',
1484
        'TRACS'                                 => 'TRACS',
1522
        'TRACS'                                 => 'TRACS',
1485
 
1523
 
1486
        'jboss_config'                          => 'MASS_Dev_Bus/Business' ,
1524
        'jboss_config'                          => 'MASS_Dev_Bus/Business' ,
1487
        'jboss_service'                         => 'MASS_Dev_Bus/Business' ,
1525
        'jboss_service'                         => 'MASS_Dev_Bus/Business' ,
1488
        'pgres'                                 => 'ITSO_TRACS/DataManagement' ,
1526
        'pgres'                                 => 'ITSO_TRACS/DataManagement' ,
1489
        'ERGcda_imports'                        => 'MREF_Package',
1527
        'ERGcda_imports'                        => 'MREF_Package',
1490
        'daf_dataman_extras'                    => 'ProjectCD/seattle',
1528
        'daf_dataman_extras'                    => 'ProjectCD/seattle',
1491
        'XmlDocInterface'                       => 'MASS_Dev_Infra',
1529
        'XmlDocInterface'                       => 'MASS_Dev_Infra',
-
 
1530
        'SPOS_IngenicoApp'                      => 'DPG_SWCode',
1492
 
1531
 
1493
 
1532
 
1494
        # Kill single package subdirs
1533
        # Kill single package subdirs
1495
        'application'                           => 'MASS_Dev_Bus',
1534
        'application'                           => 'MASS_Dev_Bus',
1496
        'card'                                  => 'MASS_Dev_Bus',
1535
        'card'                                  => 'MASS_Dev_Bus',
Line 2087... Line 2126...
2087
    }
2126
    }
2088
    close $fh;
2127
    close $fh;
2089
}
2128
}
2090
 
2129
 
2091
#-------------------------------------------------------------------------------
2130
#-------------------------------------------------------------------------------
-
 
2131
# Function        : getProtectedPackages
-
 
2132
#
-
 
2133
# Description     : Read in protected package data
-
 
2134
#
-
 
2135
# Inputs          : 
-
 
2136
#
-
 
2137
# Returns         : 
-
 
2138
#
-
 
2139
sub getProtectedPackages
-
 
2140
{
-
 
2141
    my $badFile = 'cc2svn_protected.txt';
-
 
2142
    Message ("Reading Protected Package: $badFile");
-
 
2143
    open (my $fh, '<', $badFile ) || Error ("Cannot open $badFile");
-
 
2144
    while ( <$fh> )
-
 
2145
    {
-
 
2146
        #
-
 
2147
        #   Format of data is:
-
 
2148
        #       packageName     - protected
-
 
2149
        #      -packageName     - Known Broken
-
 
2150
        #
-
 
2151
        s~\s+$~~;
-
 
2152
        s~^\s+~~;
-
 
2153
        next if ( m~^#~ );
-
 
2154
        $_ .= ' ';
-
 
2155
        my @data = split (/ /, $_, 2);
-
 
2156
        next unless ( $data[0] );
-
 
2157
        my $name = $data[0];
-
 
2158
        my $mode = 'Protected';
-
 
2159
        if ( $name =~ m~^-(.*)~ )
-
 
2160
        {
-
 
2161
            $name = $1;
-
 
2162
            $mode = 'Broken'
-
 
2163
        }
-
 
2164
        $Protected{$name} = $mode;
-
 
2165
    }
-
 
2166
    close $fh;
-
 
2167
#    DebugDumpData('%Protected', \%Protected );
-
 
2168
}
-
 
2169
 
-
 
2170
#-------------------------------------------------------------------------------
2092
#   Documentation
2171
#   Documentation
2093
#
2172
#
2094
 
2173
 
2095
=pod
2174
=pod
2096
 
2175