Subversion Repositories DevTools

Rev

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

Rev 247 Rev 249
Line 350... Line 350...
350
#                       <property name="releasemanager.projectname" value="...">
350
#                       <property name="releasemanager.projectname" value="...">
351
#                       <import file=...>
351
#                       <import file=...>
352
#
352
#
353
#                  Note: This function handles a wider scope of XML files
353
#                  Note: This function handles a wider scope of XML files
354
#                        than it really needs to. All thats needed is
354
#                        than it really needs to. All thats needed is
355
#                        the <property name= vale=> fields.
355
#                        the <property name= value=> fields.
356
#
356
#
357
# Inputs          :
357
# Inputs          :
358
#
358
#
359
# Returns         :
359
# Returns         :
360
#
360
#
Line 384... Line 384...
384
        if ( m~<project~ )
384
        if ( m~<project~ )
385
        {
385
        {
386
            #   Extract the package name
386
            #   Extract the package name
387
            #   this to determine the required version of the package
387
            #   this to determine the required version of the package
388
            #
388
            #
389
            if ( m~name=\"([^"]*)"~ )
389
            if ( m~name="([^"]*)"~ )
390
            {
390
            {
391
                $release_name = $1;
391
                $release_name = $1;
392
                Error ("Empty 'name' attribute not found in 'project'") unless ( $release_name );
392
                Error ("Empty 'name' attribute not found in 'project'") unless ( $release_name );
393
                Verbose2 ("Project: $release_name");
393
                Verbose2 ("Project: $release_name");
394
            }
394
            }
Line 404... Line 404...
404
            #   Both must exist
404
            #   Both must exist
405
            #
405
            #
406
            my $name;
406
            my $name;
407
            my $value;
407
            my $value;
408
 
408
 
409
            if ( m~name=\"([^"]*)"~  )
409
            if ( m~name="([^"]*)"~  )
410
            {
410
            {
411
                $name = $1;
411
                $name = $1;
412
            }
412
            }
413
            else
413
            else
414
            {
414
            {
415
                Error ("Name attribute not found in 'property'");
415
                Error ("Name attribute not found in 'property'");
416
            }
416
            }
417
 
417
 
418
            if ( m~value=\"([^"]*)"~ )
418
            if ( m~value="([^"]*)"~ )
419
            {
419
            {
420
                $value = $1;
420
                $value = $1;
421
            }
421
            }
422
            else
422
            else
423
            {
423
            {
Line 442... Line 442...
442
                #   Ensure that we already have the package name
442
                #   Ensure that we already have the package name
443
                #
443
                #
444
                Error ("packageversion before packagename") unless ( $release_name );
444
                Error ("packageversion before packagename") unless ( $release_name );
445
 
445
 
446
                my $new_ver = get_package ( $release_name, $release_version );
446
                my $new_ver = get_package ( $release_name, $release_version );
447
                s~(.*)value=\"([^"]*)"~$1value=\"$new_ver\"~;
447
                s~(.*)value="([^"]*)"~$1value=\"$new_ver\"~;
448
                print_update( '', $release_name ,$release_version, $new_ver );
448
                print_update( '', $release_name ,$release_version, $new_ver );
449
            }
449
            }
450
            elsif ( defined $fields{$name} )
450
            elsif ( defined $fields{$name} )
451
            {
451
            {
452
                #
452
                #
Line 454... Line 454...
454
                #   There are very few tagged values.
454
                #   There are very few tagged values.
455
                #
455
                #
456
                my $new_value = $fields{$name};
456
                my $new_value = $fields{$name};
457
                Error ("Release attribute not found: $name") unless ( $new_value );
457
                Error ("Release attribute not found: $name") unless ( $new_value );
458
 
458
 
459
                s~(.*)value=\"([^"]*)"~$1value=\"$new_value\"~;
459
                s~(.*)value="([^"]*)"~$1value=\"$new_value\"~;
460
                print_update( 'Release', $name ,$value, $new_value );
460
                print_update( 'Release', $name ,$value, $new_value );
461
            }
461
            }
462
            else
462
            else
463
            {
463
            {
464
                my $new_ver = get_package ( $name, $value );
464
                my $new_ver = get_package ( $name, $value );
465
                s~(.*)value=\"([^"]*)"~$1value=\"$new_ver\"~;
465
                s~(.*)value="([^"]*)"~$1value=\"$new_ver\"~;
466
                print_update( '', $name ,$value, $new_ver );
466
                print_update( '', $name ,$value, $new_ver );
467
            }
467
            }
468
        }
468
        }
469
 
469
 
470
        #
470
        #
Line 474... Line 474...
474
        {
474
        {
475
            #
475
            #
476
            #   Extract the package name and version
476
            #   Extract the package name and version
477
            #   and use this to determine the required version of the package
477
            #   and use this to determine the required version of the package
478
            #
478
            #
479
            m~name=\"([^"]*)"~;
479
            m~name="([^"]*)"~;
480
            my $name = $1;
480
            my $name = $1;
481
            Error ("Name attribute not found in 'using'") unless ( $name );
481
            Error ("Name attribute not found in 'using'") unless ( $name );
482
            Verbose2 ("Using: $name");
482
            Verbose2 ("Using: $name");
483
 
483
 
484
            #
484
            #
485
            #   Extract the version
485
            #   Extract the version
486
            #
486
            #
487
            m~version=\"([^"]*)"~;
487
            m~version="([^"]*)"~;
488
            $release_version = $1;
488
            $release_version = $1;
489
            Error ("Version attribute not found in package 'using' : $name") unless ( $release_version );
489
            Error ("Version attribute not found in package 'using' : $name") unless ( $release_version );
490
 
490
 
491
            my $new_ver = get_package ( $name, $release_version );
491
            my $new_ver = get_package ( $name, $release_version );
492
            s~(.*)version=\"([^"]*)"~$1version=\"$new_ver\"~;
492
            s~(.*)version="([^"]*)"~$1version=\"$new_ver\"~;
493
            print_update( '', $name ,$release_version, $new_ver );
493
            print_update( '', $name ,$release_version, $new_ver );
494
        }
494
        }
495
 
495
 
496
        #
496
        #
497
        #   Import File
497
        #   Import File
Line 500... Line 500...
500
        elsif ( m~<import~ )
500
        elsif ( m~<import~ )
501
        {
501
        {
502
            #
502
            #
503
            #   Extract the file
503
            #   Extract the file
504
            #
504
            #
505
            m~file=\"([^"]*)"~;
505
            m~file="([^"]*)"~;
506
            my $file = $1;
506
            my $file = $1;
507
            Error ("File attribute not found in 'import'") unless ( $file );
507
            Error ("File attribute not found in 'import'") unless ( $file );
508
 
508
 
509
            #
509
            #
510
            #   Extract the package name and version from the file
510
            #   Extract the package name and version from the file
Line 520... Line 520...
520
            my $new_ver = get_package ( $pname, $pver );
520
            my $new_ver = get_package ( $pname, $pver );
521
 
521
 
522
            #
522
            #
523
            #   Rewrite the body of the directive
523
            #   Rewrite the body of the directive
524
            #
524
            #
525
            s~(.*)file=\"([^"]*)"~$1file=\"$prefix/$pname/$new_ver/$fname\"~;
525
            s~(.*)file="([^"]*)"~$1file=\"$prefix/$pname/$new_ver/$fname\"~;
526
            print_update( '', $pname ,$pver, $new_ver );
526
            print_update( '', $pname ,$pver, $new_ver );
527
        }
527
        }
528
 
528
 
529
    } continue
529
    } continue
530
    {
530
    {