Subversion Repositories DevTools

Rev

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

Rev 227 Rev 229
Line 47... Line 47...
47
# Symbols to autoexport (:DEFAULT tag)
47
# Symbols to autoexport (:DEFAULT tag)
48
@EXPORT = qw( BuildVersionC
48
@EXPORT = qw( BuildVersionC
49
              BuildVersionCdefs
49
              BuildVersionCdefs
50
              BuildVersionCSharp
50
              BuildVersionCSharp
51
              BuildVersionWinRC
51
              BuildVersionWinRC
-
 
52
              BuildVersionProperties
52
            );
53
            );
53
 
54
 
54
#-------------------------------------------------------------------------------
55
#-------------------------------------------------------------------------------
55
# Function        : BuildVersionCSharp
56
# Function        : BuildVersionCSharp
56
#
57
#
Line 432... Line 433...
432
 
433
 
433
    close VERSIOND;
434
    close VERSIOND;
434
}
435
}
435
 
436
 
436
#-------------------------------------------------------------------------------
437
#-------------------------------------------------------------------------------
-
 
438
# Function        : BuildVersionProperties
-
 
439
#
-
 
440
# Description     : Generate a "Java" style version definitions file
-
 
441
#                   This is a simple properties file
-
 
442
#
-
 
443
# Inputs          : $FileName       - Output filename (Optional)
-
 
444
#                   $Prefix         - Tag for all generated definitions
-
 
445
#
-
 
446
# Returns         :
-
 
447
#
-
 
448
sub BuildVersionProperties
-
 
449
{
-
 
450
    my ( $fname, $Prefix ) = @_;
-
 
451
 
-
 
452
    #
-
 
453
    #   Default name of the file
-
 
454
    #
-
 
455
    $fname = 'version.properties' unless $fname;
-
 
456
    if ( $Clobber )                             # clobber mode ?
-
 
457
    {
-
 
458
        System( "$::GBE_BIN/rm -f $Srcdir/$fname" );
-
 
459
        return;
-
 
460
    }
-
 
461
 
-
 
462
    #
-
 
463
    #   Generate version properties file
-
 
464
    #
-
 
465
    #   This file contains ONLY definitions. It may be included by the ANT
-
 
466
    #   builds. Its not intended to be imported by the java code
-
 
467
 
-
 
468
 
-
 
469
    #
-
 
470
    #   Allow for a user supplied property prefix
-
 
471
    #   Not really needed as
-
 
472
    #
-
 
473
    my $vtag = '';
-
 
474
    $vtag = $Prefix . '.' if $Prefix;
-
 
475
 
-
 
476
 
-
 
477
    my ($major, $minor, $patch, $build, $raw_patch) = SplitVersion($BUILDNAME_VERSION);
-
 
478
    my @PACKAGEVERS = PackageEntry::GetPackageVersionList();
-
 
479
 
-
 
480
    #
-
 
481
    #   Create properties in the same form as for "C" definitions
-
 
482
    #   Note:
-
 
483
    #       The 'ALL' is in a format used by other software. Do not change
-
 
484
    #
-
 
485
    open( VERSIOND, ">$Srcdir/$fname" ) ||
-
 
486
        Error( "cannot create $Srcdir/$fname" );
-
 
487
 
-
 
488
    print VERSIOND
-
 
489
        "# Please do not edit this file.\n" .
-
 
490
        "# It was auto-generated by Buildlib ($BuildVersion) on $::CurrentTime\n" .
-
 
491
        "#\n" .
-
 
492
        "${vtag}BUILDNAME      = $BUILDNAME\n".
-
 
493
        "${vtag}BUILDDATE      = $::CurrentTime\n".
-
 
494
        "\n".
-
 
495
        "${vtag}PACKAGE        = $BUILDNAME_PACKAGE\n".
-
 
496
        "${vtag}VERSION        = $BUILDNAME_VERSION\n".
-
 
497
        "${vtag}MAJOR_STR      = $major\n".
-
 
498
        "${vtag}MINOR_STR      = $minor\n".
-
 
499
        "${vtag}PATCH_STR      = $patch\n".
-
 
500
        "${vtag}BUILD_STR      = $build\n".
-
 
501
        "${vtag}PATCHBUILD_STR = $raw_patch\n".
-
 
502
        "${vtag}PROJECT        = $BUILDNAME_PROJECT\n".
-
 
503
        "${vtag}MAJOR          = " . strip_zeros($major) . "\n".
-
 
504
        "${vtag}MINOR          = " . strip_zeros($minor) . "\n".
-
 
505
        "${vtag}PATCH          = " . strip_zeros($patch) . "\n".
-
 
506
        "${vtag}BUILD          = " . strip_zeros($build) . "\n".
-
 
507
        "${vtag}PATCHBUILD     = " . strip_zeros($raw_patch) . "\n".
-
 
508
        "${vtag}ALL            = $BUILDNAME_PACKAGE ($BUILDNAME_VERSION.$BUILDNAME_PROJECT) @PACKAGEVERS\n".
-
 
509
        "${vtag}BUILDTIME      = " . strip_zeros(time()) . "\n".
-
 
510
        "\n";
-
 
511
    #
-
 
512
    #   Create a set of definitions for each dependent package
-
 
513
    #
-
 
514
    print VERSIOND "# Dependent Packages and Versions\n".
-
 
515
                   "#\n";
-
 
516
    
-
 
517
    foreach my $tag ( PackageEntry::GetPackageList() )
-
 
518
    {
-
 
519
        my ($name, $version, $type) = PackageEntry::GetPackageData($tag);
-
 
520
#        push @attributes, "build=\"true\"" if $type =~ /Build/i;
-
 
521
        print VERSIOND "${vtag}PACKAGE.$name=$version\n";
-
 
522
    }
-
 
523
    close VERSIOND;
-
 
524
}
-
 
525
 
-
 
526
#-------------------------------------------------------------------------------
437
# Function        : stip_zeros
527
# Function        : stip_zeros
438
#
528
#
439
# Description     : Remove leading 0's from a string
529
# Description     : Remove leading 0's from a string
440
#
530
#
441
# Inputs          : A string
531
# Inputs          : A string