Subversion Repositories DevTools

Rev

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

Rev 289 Rev 315
Line 48... Line 48...
48
              BuildVersionCdefs
48
              BuildVersionCdefs
49
              BuildVersionCSharp
49
              BuildVersionCSharp
50
              BuildVersionWinRC
50
              BuildVersionWinRC
51
              BuildVersionProperties
51
              BuildVersionProperties
52
              BuildVersionDelphi
52
              BuildVersionDelphi
-
 
53
              BuildVersionVB
53
            );
54
            );
54
 
55
 
55
#-------------------------------------------------------------------------------
56
#-------------------------------------------------------------------------------
56
# Function        : BuildVersionCSharp
57
# Function        : BuildVersionCSharp
57
#
58
#
Line 723... Line 724...
723
 
724
 
724
    $fh->WriteLn();
725
    $fh->WriteLn();
725
    $fh->Close();
726
    $fh->Close();
726
}
727
}
727
 
728
 
-
 
729
#-------------------------------------------------------------------------------
-
 
730
# Function        : BuildVersionVB
-
 
731
#
-
 
732
# Description     : Create a VB6 file in Basic format
-
 
733
#
-
 
734
# Inputs          : $FileName       - Output filename (Optional)
-
 
735
#                   $Prefix         - Tag for all generated definitions
-
 
736
#
-
 
737
#
-
 
738
# Returns         : 
-
 
739
#
-
 
740
sub BuildVersionVB
-
 
741
{
-
 
742
    my ( $fname, $Prefix ) = @_;
-
 
743
 
-
 
744
    #
-
 
745
    #   Default name of the file
-
 
746
    #
-
 
747
    $fname = 'version.bas' unless $fname;
-
 
748
    $fname .= '.bas'
-
 
749
        unless ( $fname =~ m~\.~ );
-
 
750
 
-
 
751
    #
-
 
752
    #   Store the files location for use at runtime
-
 
753
    #   It will be a file that is 'known' to JATS
-
 
754
    #
-
 
755
    $fname = ::BuildAddKnownFile ( $Srcdir, $fname );
-
 
756
    return if ( $Clobber );      # clobber mode ?
-
 
757
    Message ("Creating Visual Basic Version File: $fname" );
-
 
758
 
-
 
759
    #
-
 
760
    #   Generate version source file
-
 
761
    #   This file contains ONLY constant definitions.
-
 
762
 
-
 
763
    #
-
 
764
    #   Allow for a user supplied property prefix
-
 
765
    #   Not really needed as
-
 
766
    #
-
 
767
    my $vtag = '';
-
 
768
    $vtag = $Prefix . '_' if $Prefix;
-
 
769
 
-
 
770
 
-
 
771
    my ($major, $minor, $patch, $build, $raw_patch) = SplitVersion($BUILDNAME_VERSION);
-
 
772
    my @PACKAGEVERS = PackageEntry::GetPackageVersionList();
-
 
773
 
-
 
774
    #
-
 
775
    #   Create properties in the same form as for "C" definitions
-
 
776
    #   Note:
-
 
777
    #       The 'ALL' is in a format used by other software. Do not change
-
 
778
    #
-
 
779
    sub pvbstring
-
 
780
    {
-
 
781
        my ($arg, $val) = @_;
-
 
782
        Error ("Undefined value for $arg") unless ( defined $val );
-
 
783
        return sprintf ( "Public Const %-24s = \"%s\"" , $arg, $val);
-
 
784
    }
-
 
785
    sub pvbnum
-
 
786
    {
-
 
787
        my ($arg, $val) = @_;
-
 
788
        Error ("Undefined value for $arg") unless ( defined $val );
-
 
789
        return sprintf ( "Public Const %-24s = %s" , $arg, strip_zeros($val) );
-
 
790
    }
-
 
791
 
-
 
792
    my $fh = ConfigurationFile::New( $fname, '--Type=Basic' );
-
 
793
    $fh->HeaderSimple( "buildlib (Version $BuildVersion)",
-
 
794
                       "Visual Basic Version Definition" );
-
 
795
 
-
 
796
    $fh->WriteLn(
-
 
797
        "Attribute VB_Name = \"JatsVersion\"",
-
 
798
        '',
-
 
799
        pvbstring ("${vtag}BUILDNAME",      $BUILDNAME),
-
 
800
        pvbstring ("${vtag}BUILDDATE",      $::CurrentTime),
-
 
801
        '',
-
 
802
        pvbstring ("${vtag}PACKAGE",        $BUILDNAME_PACKAGE),
-
 
803
        pvbstring ("${vtag}VERSION",        $BUILDNAME_VERSION),
-
 
804
        pvbstring ("${vtag}MAJOR_STR",      $major),
-
 
805
        pvbstring ("${vtag}MINOR_STR",      $minor),
-
 
806
        pvbstring ("${vtag}PATCH_STR",      $patch),
-
 
807
        pvbstring ("${vtag}BUILD_STR",      $build),
-
 
808
        pvbstring ("${vtag}PATCHBUILD_STR", $raw_patch),
-
 
809
        pvbstring ("${vtag}PROJECT",        $BUILDNAME_PROJECT),
-
 
810
        pvbnum    ("${vtag}MAJOR",          $major),
-
 
811
        pvbnum    ("${vtag}MINOR",          $minor),
-
 
812
        pvbnum    ("${vtag}PATCH",          $patch),
-
 
813
        pvbnum    ("${vtag}BUILD",          $build),
-
 
814
        pvbnum    ("${vtag}PATCHBUILD",     $raw_patch),
-
 
815
        pvbstring ("${vtag}ALL",            "$BUILDNAME_PACKAGE ($BUILDNAME_VERSION.$BUILDNAME_PROJECT) @PACKAGEVERS"),
-
 
816
        pvbnum    ("${vtag}BUILDTIME",      time()),
-
 
817
        ''
-
 
818
        );
-
 
819
 
-
 
820
    #
-
 
821
    #   Create a set of definitions for each dependent package
-
 
822
    #
-
 
823
    $fh->Comment("Dependent Packages and Versions\n");
-
 
824
    $fh->Comment("\n");
-
 
825
 
-
 
826
    foreach my $tag ( PackageEntry::GetPackageList() )
-
 
827
    {
-
 
828
        my ($name, $version, $type) = PackageEntry::GetPackageData($tag);
-
 
829
        $fh->WriteLn(pstring ("${vtag}PACKAGE_$name", $version));
-
 
830
    }
-
 
831
 
-
 
832
    $fh->WriteLn();
-
 
833
    $fh->Close();
-
 
834
}
-
 
835
 
728
 
836
 
729
#-------------------------------------------------------------------------------
837
#-------------------------------------------------------------------------------
730
# Function        : stip_zeros
838
# Function        : stip_zeros
731
#
839
#
732
# Description     : Remove leading 0's from a string
840
# Description     : Remove leading 0's from a string