Changeset 171798 in webkit


Ignore:
Timestamp:
Jul 30, 2014, 9:35:17 AM (11 years ago)
Author:
Brent Fulgham
Message:

[Win] Modify version numbering scheme to support 5-tuple versions
https://bugs.webkit.org/show_bug.cgi?id=135400
<rdar://problem/17849033>

Reviewed by David Kilzer.

Source/JavaScriptCore:

new version-stamp.pl script to version JavaScriptCore.dll.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Use the new

version-stamp.pl script to version JavaScriptCore.dll.

Source/WTF:

  • WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script

to version WTF.dll.

  • WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the

appropriate version resource during builds.

Tools:
Update test cases to recognize that we can only support Major
values from 0-65535, Minor values from 0-64, Tiny values from 0-999,
Micro values from 0-64, and Nano values from 0-999.

  • Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: Update

test expectations for physical limits.

WebKitLibraries:
Revise the auto-version.pl script so that it generates a set of packed
version tuples that allow us to map 5-tuple versions into something
that will work with Windows' 3-tuple version structure.

  • win/tools/scripts/auto-version.pl:

(packTwoValues): Added,
(splitVersion): Revised to return packed combination of minor-tiny and
micro-nano to be used as "MINOR" and "TINY" portion of version.
(splitBuildMajorVersion): Deleted.

  • win/tools/scripts/version-stamp.pl: Added.
Location:
trunk
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r171746 r171798  
     12014-07-29  Brent Fulgham  <bfulgham@apple.com>
     2
     3        [Win] Modify version numbering scheme to support 5-tuple versions
     4        https://bugs.webkit.org/show_bug.cgi?id=135400
     5        <rdar://problem/17849033>
     6
     7        Reviewed by David Kilzer.
     8
     9        * JavaScriptCore.vcxproj/JavaScriptCorePostBuild.cmd: Use the
     10        new version-stamp.pl script to version JavaScriptCore.dll.
     11
    1122014-07-29  Daniel Bates  <dabates@apple.com>
    213
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCorePostBuild.cmd

    r151706 r171798  
    1 if exist "%WEBKIT_LIBRARIES%\tools\VersionStamper\VersionStamper.exe" "%WEBKIT_LIBRARIES%\tools\VersionStamper\VersionStamper.exe" --verbose "%TARGETPATH%"
     1perl "%WEBKIT_LIBRARIES%\tools\scripts\version-stamp.pl" "%INTDIR%" "%TARGETPATH%"
    22if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
  • trunk/Source/WTF/ChangeLog

    r171746 r171798  
     12014-07-29  Brent Fulgham  <bfulgham@apple.com>
     2
     3        [Win] Modify version numbering scheme to support 5-tuple versions
     4        https://bugs.webkit.org/show_bug.cgi?id=135400
     5        <rdar://problem/17849033>
     6
     7        Reviewed by David Kilzer.
     8
     9        * WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script
     10        to version WTF.dll.
     11        * WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the
     12        appropriate version resource during builds.
     13
    1142014-07-29  Daniel Bates  <dabates@apple.com>
    215
  • trunk/Source/WTF/WTF.vcxproj/WTFPostBuild.cmd

    r158602 r171798  
    11if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
    2 if exist "%WEBKIT_LIBRARIES%\tools\VersionStamper\VersionStamper.exe" "%WEBKIT_LIBRARIES%\tools\VersionStamper\VersionStamper.exe" --verbose "%TARGETPATH%"
     2perl "%WEBKIT_LIBRARIES%\tools\scripts\version-stamp.pl" "%INTDIR%" "%TARGETPATH%"
  • trunk/Source/WTF/WTF.vcxproj/WTFPreBuild.cmd

    r170937 r171798  
    55if errorlevel 1 exit 1
    66echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
     7
     8perl "%WEBKIT_LIBRARIES%\tools\scripts\auto-version.pl" "%INTDIR%"
  • trunk/Source/WebKit/ChangeLog

    r171212 r171798  
     12014-07-29  Brent Fulgham  <bfulgham@apple.com>
     2
     3        [Win] Modify version numbering scheme to support 5-tuple versions
     4        https://bugs.webkit.org/show_bug.cgi?id=135400
     5        <rdar://problem/17849033>
     6
     7        Reviewed by David Kilzer.
     8
     9        * WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Use the new
     10        version-stamp.pl script to version JavaScriptCore.dll.
     11
    1122014-07-17  David Kilzer  <ddkilzer@apple.com>
    213
  • trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd

    r170483 r171798  
    1919xcopy /y /d "%PROJECTDIR%\..\..\win\WebKit.resources\Info.plist" "%ResourcesDirectory%" >NUL
    2020
    21 if exist "%WEBKIT_LIBRARIES%\tools\VersionStamper\VersionStamper.exe" "%WEBKIT_LIBRARIES%\tools\VersionStamper\VersionStamper.exe" --verbose "%TARGETPATH%"
     21perl "%WEBKIT_LIBRARIES%\tools\scripts\version-stamp.pl" "%INTDIR%" "%TARGETPATH%"
    2222
    2323if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
  • trunk/Tools/ChangeLog

    r171794 r171798  
     12014-07-29  Brent Fulgham  <bfulgham@apple.com>
     2
     3        [Win] Modify version numbering scheme to support 5-tuple versions
     4        https://bugs.webkit.org/show_bug.cgi?id=135400
     5        <rdar://problem/17849033>
     6
     7        Reviewed by David Kilzer.
     8
     9        Update test cases to recognize that we can only support Major
     10        values from 0-65535, Minor values from 0-64, Tiny values from 0-999,
     11        Micro values from 0-64, and Nano values from 0-999.
     12
     13        * Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: Update
     14        test expectations for physical limits.
     15
    1162014-07-30  Carlos Garcia Campos  <cgarcia@igalia.com>
    217
  • trunk/Tools/Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl

    r171351 r171798  
    3939            '__BUILD_NUMBER__' => '300.4.3.2.1',
    4040            '__BUILD_NUMBER_SHORT__' => '300.4.3.2.1',
    41             '__VERSION_MAJOR__' => '3',
    42             '__VERSION_MINOR__' => '00',
    43             '__VERSION_TINY__' => '4',
    44             '__VERSION_BUILD__' => '3',
     41            '__VERSION_MAJOR__' => '300',
     42            '__VERSION_MINOR__' => '4003',
     43            '__VERSION_TINY__' => '2001',
     44            '__VERSION_BUILD__' => '1',
    4545            '__BUILD_NUMBER_MAJOR__' => '300',
    46             '__BUILD_NUMBER_MINOR__' => '4',
    47             '__BUILD_NUMBER_VARIANT__' => '3',
     46            '__BUILD_NUMBER_MINOR__' => '4003',
     47            '__BUILD_NUMBER_VARIANT__' => '2001',
    4848        },
    4949    },
     
    5555            '__BUILD_NUMBER__' => '530.4.3.2.1',
    5656            '__BUILD_NUMBER_SHORT__' => '530.4.3.2.1',
    57             '__VERSION_MAJOR__' => '5',
    58             '__VERSION_MINOR__' => '30',
    59             '__VERSION_TINY__' => '4',
    60             '__VERSION_BUILD__' => '3',
    61             '__BUILD_NUMBER_MAJOR__' => '530',
    62             '__BUILD_NUMBER_MINOR__' => '4',
    63             '__BUILD_NUMBER_VARIANT__' => '3',
     57            '__VERSION_MAJOR__' => '530',
     58            '__VERSION_MINOR__' => '4003',
     59            '__VERSION_TINY__' => '2001',
     60            '__VERSION_BUILD__' => '1',
     61            '__BUILD_NUMBER_MAJOR__' => '530',
     62            '__BUILD_NUMBER_MINOR__' => '4003',
     63            '__BUILD_NUMBER_VARIANT__' => '2001',
    6464        },
    6565    },
     
    7171            '__BUILD_NUMBER__' => '53.4.3.2.1',
    7272            '__BUILD_NUMBER_SHORT__' => '53.4.3.2.1',
    73             '__VERSION_MAJOR__' => '5',
    74             '__VERSION_MINOR__' => '3',
    75             '__VERSION_TINY__' => '4',
    76             '__VERSION_BUILD__' => '3',
     73            '__VERSION_MAJOR__' => '53',
     74            '__VERSION_MINOR__' => '4003',
     75            '__VERSION_TINY__' => '2001',
     76            '__VERSION_BUILD__' => '1',
    7777            '__BUILD_NUMBER_MAJOR__' => '53',
    78             '__BUILD_NUMBER_MINOR__' => '4',
    79             '__BUILD_NUMBER_VARIANT__' => '3',
     78            '__BUILD_NUMBER_MINOR__' => '4003',
     79            '__BUILD_NUMBER_VARIANT__' => '2001',
    8080        },
    8181    },
     
    8888            '__BUILD_NUMBER_SHORT__' => '5.4.3.2.1',
    8989            '__VERSION_MAJOR__' => '5',
    90             '__VERSION_MINOR__' => '',
    91             '__VERSION_TINY__' => '4',
    92             '__VERSION_BUILD__' => '3',
     90            '__VERSION_MINOR__' => '4003',
     91            '__VERSION_TINY__' => '2001',
     92            '__VERSION_BUILD__' => '1',
    9393            '__BUILD_NUMBER_MAJOR__' => '5',
    94             '__BUILD_NUMBER_MINOR__' => '4',
    95             '__BUILD_NUMBER_VARIANT__' => '3',
     94            '__BUILD_NUMBER_MINOR__' => '4003',
     95            '__BUILD_NUMBER_VARIANT__' => '2001',
    9696        },
    9797    },
     
    103103            '__BUILD_NUMBER__' => '300.4.3.2',
    104104            '__BUILD_NUMBER_SHORT__' => '300.4.3.2',
    105             '__VERSION_MAJOR__' => '3',
    106             '__VERSION_MINOR__' => '00',
    107             '__VERSION_TINY__' => '4',
    108             '__VERSION_BUILD__' => '3',
     105            '__VERSION_MAJOR__' => '300',
     106            '__VERSION_MINOR__' => '4003',
     107            '__VERSION_TINY__' => '2000',
     108            '__VERSION_BUILD__' => '2',
    109109            '__BUILD_NUMBER_MAJOR__' => '300',
    110             '__BUILD_NUMBER_MINOR__' => '4',
    111             '__BUILD_NUMBER_VARIANT__' => '3',
     110            '__BUILD_NUMBER_MINOR__' => '4003',
     111            '__BUILD_NUMBER_VARIANT__' => '2000',
    112112        },
    113113    },
     
    119119            '__BUILD_NUMBER__' => '530.4.3.2',
    120120            '__BUILD_NUMBER_SHORT__' => '530.4.3.2',
    121             '__VERSION_MAJOR__' => '5',
    122             '__VERSION_MINOR__' => '30',
    123             '__VERSION_TINY__' => '4',
    124             '__VERSION_BUILD__' => '3',
    125             '__BUILD_NUMBER_MAJOR__' => '530',
    126             '__BUILD_NUMBER_MINOR__' => '4',
    127             '__BUILD_NUMBER_VARIANT__' => '3',
     121            '__VERSION_MAJOR__' => '530',
     122            '__VERSION_MINOR__' => '4003',
     123            '__VERSION_TINY__' => '2000',
     124            '__VERSION_BUILD__' => '2',
     125            '__BUILD_NUMBER_MAJOR__' => '530',
     126            '__BUILD_NUMBER_MINOR__' => '4003',
     127            '__BUILD_NUMBER_VARIANT__' => '2000',
    128128        },
    129129    },
     
    135135            '__BUILD_NUMBER__' => '53.4.3.2',
    136136            '__BUILD_NUMBER_SHORT__' => '53.4.3.2',
    137             '__VERSION_MAJOR__' => '5',
    138             '__VERSION_MINOR__' => '3',
    139             '__VERSION_TINY__' => '4',
    140             '__VERSION_BUILD__' => '3',
     137            '__VERSION_MAJOR__' => '53',
     138            '__VERSION_MINOR__' => '4003',
     139            '__VERSION_TINY__' => '2000',
     140            '__VERSION_BUILD__' => '2',
    141141            '__BUILD_NUMBER_MAJOR__' => '53',
    142             '__BUILD_NUMBER_MINOR__' => '4',
    143             '__BUILD_NUMBER_VARIANT__' => '3',
     142            '__BUILD_NUMBER_MINOR__' => '4003',
     143            '__BUILD_NUMBER_VARIANT__' => '2000',
    144144        },
    145145    },
     
    152152            '__BUILD_NUMBER_SHORT__' => '5.4.3.2',
    153153            '__VERSION_MAJOR__' => '5',
    154             '__VERSION_MINOR__' => '',
    155             '__VERSION_TINY__' => '4',
    156             '__VERSION_BUILD__' => '3',
     154            '__VERSION_MINOR__' => '4003',
     155            '__VERSION_TINY__' => '2000',
     156            '__VERSION_BUILD__' => '2',
    157157            '__BUILD_NUMBER_MAJOR__' => '5',
    158             '__BUILD_NUMBER_MINOR__' => '4',
    159             '__BUILD_NUMBER_VARIANT__' => '3',
     158            '__BUILD_NUMBER_MINOR__' => '4003',
     159            '__BUILD_NUMBER_VARIANT__' => '2000',
    160160        },
    161161    },
     
    167167            '__BUILD_NUMBER__' => '300.4.3',
    168168            '__BUILD_NUMBER_SHORT__' => '300.4.3',
    169             '__VERSION_MAJOR__' => '3',
    170             '__VERSION_MINOR__' => '00',
    171             '__VERSION_TINY__' => '4',
    172             '__VERSION_BUILD__' => '3',
     169            '__VERSION_MAJOR__' => '300',
     170            '__VERSION_MINOR__' => '4003',
     171            '__VERSION_TINY__' => '0',
     172            '__VERSION_BUILD__' => '0',
    173173            '__BUILD_NUMBER_MAJOR__' => '300',
    174             '__BUILD_NUMBER_MINOR__' => '4',
    175             '__BUILD_NUMBER_VARIANT__' => '3',
     174            '__BUILD_NUMBER_MINOR__' => '4003',
     175            '__BUILD_NUMBER_VARIANT__' => '0',
    176176        },
    177177    },
     
    183183            '__BUILD_NUMBER__' => '530.4.3',
    184184            '__BUILD_NUMBER_SHORT__' => '530.4.3',
    185             '__VERSION_MAJOR__' => '5',
    186             '__VERSION_MINOR__' => '30',
    187             '__VERSION_TINY__' => '4',
    188             '__VERSION_BUILD__' => '3',
    189             '__BUILD_NUMBER_MAJOR__' => '530',
    190             '__BUILD_NUMBER_MINOR__' => '4',
    191             '__BUILD_NUMBER_VARIANT__' => '3',
     185            '__VERSION_MAJOR__' => '530',
     186            '__VERSION_MINOR__' => '4003',
     187            '__VERSION_TINY__' => '0',
     188            '__VERSION_BUILD__' => '0',
     189            '__BUILD_NUMBER_MAJOR__' => '530',
     190            '__BUILD_NUMBER_MINOR__' => '4003',
     191            '__BUILD_NUMBER_VARIANT__' => '0',
    192192        },
    193193    },
     
    199199            '__BUILD_NUMBER__' => '53.4.3',
    200200            '__BUILD_NUMBER_SHORT__' => '53.4.3',
    201             '__VERSION_MAJOR__' => '5',
    202             '__VERSION_MINOR__' => '3',
    203             '__VERSION_TINY__' => '4',
    204             '__VERSION_BUILD__' => '3',
     201            '__VERSION_MAJOR__' => '53',
     202            '__VERSION_MINOR__' => '4003',
     203            '__VERSION_TINY__' => '0',
     204            '__VERSION_BUILD__' => '0',
    205205            '__BUILD_NUMBER_MAJOR__' => '53',
    206             '__BUILD_NUMBER_MINOR__' => '4',
    207             '__BUILD_NUMBER_VARIANT__' => '3',
     206            '__BUILD_NUMBER_MINOR__' => '4003',
     207            '__BUILD_NUMBER_VARIANT__' => '0',
    208208        },
    209209    },
     
    216216            '__BUILD_NUMBER_SHORT__' => '5.4.3',
    217217            '__VERSION_MAJOR__' => '5',
    218             '__VERSION_MINOR__' => '',
    219             '__VERSION_TINY__' => '4',
    220             '__VERSION_BUILD__' => '3',
     218            '__VERSION_MINOR__' => '4003',
     219            '__VERSION_TINY__' => '0',
     220            '__VERSION_BUILD__' => '0',
    221221            '__BUILD_NUMBER_MAJOR__' => '5',
    222             '__BUILD_NUMBER_MINOR__' => '4',
    223             '__BUILD_NUMBER_VARIANT__' => '3',
     222            '__BUILD_NUMBER_MINOR__' => '4003',
     223            '__BUILD_NUMBER_VARIANT__' => '0',
    224224        },
    225225    },
     
    231231            '__BUILD_NUMBER__' => '300.4',
    232232            '__BUILD_NUMBER_SHORT__' => '300.4',
    233             '__VERSION_MAJOR__' => '3',
    234             '__VERSION_MINOR__' => '00',
    235             '__VERSION_TINY__' => '4',
     233            '__VERSION_MAJOR__' => '300',
     234            '__VERSION_MINOR__' => '4000',
     235            '__VERSION_TINY__' => '0',
    236236            '__VERSION_BUILD__' => '0',
    237237            '__BUILD_NUMBER_MAJOR__' => '300',
    238             '__BUILD_NUMBER_MINOR__' => '4',
     238            '__BUILD_NUMBER_MINOR__' => '4000',
    239239            '__BUILD_NUMBER_VARIANT__' => '0',
    240240        },
     
    247247            '__BUILD_NUMBER__' => '530.4',
    248248            '__BUILD_NUMBER_SHORT__' => '530.4',
    249             '__VERSION_MAJOR__' => '5',
    250             '__VERSION_MINOR__' => '30',
    251             '__VERSION_TINY__' => '4',
    252             '__VERSION_BUILD__' => '0',
    253             '__BUILD_NUMBER_MAJOR__' => '530',
    254             '__BUILD_NUMBER_MINOR__' => '4',
     249            '__VERSION_MAJOR__' => '530',
     250            '__VERSION_MINOR__' => '4000',
     251            '__VERSION_TINY__' => '0',
     252            '__VERSION_BUILD__' => '0',
     253            '__BUILD_NUMBER_MAJOR__' => '530',
     254            '__BUILD_NUMBER_MINOR__' => '4000',
    255255            '__BUILD_NUMBER_VARIANT__' => '0',
    256256        },
     
    263263            '__BUILD_NUMBER__' => '53.4',
    264264            '__BUILD_NUMBER_SHORT__' => '53.4',
    265             '__VERSION_MAJOR__' => '5',
    266             '__VERSION_MINOR__' => '3',
    267             '__VERSION_TINY__' => '4',
     265            '__VERSION_MAJOR__' => '53',
     266            '__VERSION_MINOR__' => '4000',
     267            '__VERSION_TINY__' => '0',
    268268            '__VERSION_BUILD__' => '0',
    269269            '__BUILD_NUMBER_MAJOR__' => '53',
    270             '__BUILD_NUMBER_MINOR__' => '4',
     270            '__BUILD_NUMBER_MINOR__' => '4000',
    271271            '__BUILD_NUMBER_VARIANT__' => '0',
    272272        },
     
    280280            '__BUILD_NUMBER_SHORT__' => '5.4',
    281281            '__VERSION_MAJOR__' => '5',
    282             '__VERSION_MINOR__' => '',
    283             '__VERSION_TINY__' => '4',
     282            '__VERSION_MINOR__' => '4000',
     283            '__VERSION_TINY__' => '0',
    284284            '__VERSION_BUILD__' => '0',
    285285            '__BUILD_NUMBER_MAJOR__' => '5',
    286             '__BUILD_NUMBER_MINOR__' => '4',
     286            '__BUILD_NUMBER_MINOR__' => '4000',
    287287            '__BUILD_NUMBER_VARIANT__' => '0',
    288288        },
     
    295295            '__BUILD_NUMBER__' => '300',
    296296            '__BUILD_NUMBER_SHORT__' => '300',
    297             '__VERSION_MAJOR__' => '3',
    298             '__VERSION_MINOR__' => '00',
     297            '__VERSION_MAJOR__' => '300',
     298            '__VERSION_MINOR__' => '0',
    299299            '__VERSION_TINY__' => '0',
    300300            '__VERSION_BUILD__' => '0',
     
    311311            '__BUILD_NUMBER__' => '530',
    312312            '__BUILD_NUMBER_SHORT__' => '530',
    313             '__VERSION_MAJOR__' => '5',
    314             '__VERSION_MINOR__' => '30',
     313            '__VERSION_MAJOR__' => '530',
     314            '__VERSION_MINOR__' => '0',
    315315            '__VERSION_TINY__' => '0',
    316316            '__VERSION_BUILD__' => '0',
     
    327327            '__BUILD_NUMBER__' => '530.1.1.1',
    328328            '__BUILD_NUMBER_SHORT__' => '530.1.1.1',
    329             '__VERSION_MAJOR__' => '5',
    330             '__VERSION_MINOR__' => '30',
    331             '__VERSION_TINY__' => '1',
     329            '__VERSION_MAJOR__' => '530',
     330            '__VERSION_MINOR__' => '1001',
     331            '__VERSION_TINY__' => '1000',
    332332            '__VERSION_BUILD__' => '1',
    333333            '__BUILD_NUMBER_MAJOR__' => '530',
    334             '__BUILD_NUMBER_MINOR__' => '1',
    335             '__BUILD_NUMBER_VARIANT__' => '1',
     334            '__BUILD_NUMBER_MINOR__' => '1001',
     335            '__BUILD_NUMBER_VARIANT__' => '1000',
    336336        },
    337337    },
     
    343343            '__BUILD_NUMBER__' => '530.30.20.10',
    344344            '__BUILD_NUMBER_SHORT__' => '530.30.20.10',
    345             '__VERSION_MAJOR__' => '5',
    346             '__VERSION_MINOR__' => '30',
    347             '__VERSION_TINY__' => '30',
    348             '__VERSION_BUILD__' => '20',
    349             '__BUILD_NUMBER_MAJOR__' => '530',
    350             '__BUILD_NUMBER_MINOR__' => '30',
    351             '__BUILD_NUMBER_VARIANT__' => '20',
    352         },
    353     },
    354 
    355     {
    356         'RC_ProjectSourceVersion' => '10530.300.200.100',
    357         expectedResults => {
    358             '__VERSION_TEXT__' => '530.300.200.100',
    359             '__BUILD_NUMBER__' => '530.300.200.100',
    360             '__BUILD_NUMBER_SHORT__' => '530.300.200.100',
    361             '__VERSION_MAJOR__' => '5',
    362             '__VERSION_MINOR__' => '30',
    363             '__VERSION_TINY__' => '300',
    364             '__VERSION_BUILD__' => '200',
    365             '__BUILD_NUMBER_MAJOR__' => '530',
    366             '__BUILD_NUMBER_MINOR__' => '300',
    367             '__BUILD_NUMBER_VARIANT__' => '200',
    368         },
    369     },
    370 
    371     {
    372         'RC_ProjectSourceVersion' => '10530.3000.2000.1000',
    373         expectedResults => {
    374             '__VERSION_TEXT__' => '530.3000.2000.1000',
    375             '__BUILD_NUMBER__' => '530.3000.2000.1000',
    376             '__BUILD_NUMBER_SHORT__' => '530.3000.2000.1000',
    377             '__VERSION_MAJOR__' => '5',
    378             '__VERSION_MINOR__' => '30',
    379             '__VERSION_TINY__' => '3000',
    380             '__VERSION_BUILD__' => '2000',
    381             '__BUILD_NUMBER_MAJOR__' => '530',
    382             '__BUILD_NUMBER_MINOR__' => '3000',
    383             '__BUILD_NUMBER_VARIANT__' => '2000',
    384         },
    385     },
    386 
    387     {
    388         'RC_ProjectSourceVersion' => '7530.3000.2000.1000',
    389         expectedResults => {
    390             '__VERSION_TEXT__' => '530.3000.2000.1000',
    391             '__BUILD_NUMBER__' => '530.3000.2000.1000',
    392             '__BUILD_NUMBER_SHORT__' => '530.3000.2000.1000',
    393             '__VERSION_MAJOR__' => '5',
    394             '__VERSION_MINOR__' => '30',
    395             '__VERSION_TINY__' => '3000',
    396             '__VERSION_BUILD__' => '2000',
    397             '__BUILD_NUMBER_MAJOR__' => '530',
    398             '__BUILD_NUMBER_MINOR__' => '3000',
    399             '__BUILD_NUMBER_VARIANT__' => '2000',
    400         },
    401     },
    402 
    403     {
    404         'RC_ProjectSourceVersion' => '7530.300.200.100',
    405         expectedResults => {
    406             '__VERSION_TEXT__' => '530.300.200.100',
    407             '__BUILD_NUMBER__' => '530.300.200.100',
    408             '__BUILD_NUMBER_SHORT__' => '530.300.200.100',
    409             '__VERSION_MAJOR__' => '5',
    410             '__VERSION_MINOR__' => '30',
    411             '__VERSION_TINY__' => '300',
    412             '__VERSION_BUILD__' => '200',
    413             '__BUILD_NUMBER_MAJOR__' => '530',
    414             '__BUILD_NUMBER_MINOR__' => '300',
    415             '__BUILD_NUMBER_VARIANT__' => '200',
    416         },
    417     },
    418 
    419     {
    420         'RC_ProjectSourceVersion' => '7530.30.20.10',
    421         expectedResults => {
    422             '__VERSION_TEXT__' => '530.30.20.10',
    423             '__BUILD_NUMBER__' => '530.30.20.10',
    424             '__BUILD_NUMBER_SHORT__' => '530.30.20.10',
    425             '__VERSION_MAJOR__' => '5',
    426             '__VERSION_MINOR__' => '30',
    427             '__VERSION_TINY__' => '30',
    428             '__VERSION_BUILD__' => '20',
    429             '__BUILD_NUMBER_MAJOR__' => '530',
    430             '__BUILD_NUMBER_MINOR__' => '30',
    431             '__BUILD_NUMBER_VARIANT__' => '20',
     345            '__VERSION_MAJOR__' => '530',
     346            '__VERSION_MINOR__' => '30020',
     347            '__VERSION_TINY__' => '10000',
     348            '__VERSION_BUILD__' => '10',
     349            '__BUILD_NUMBER_MAJOR__' => '530',
     350            '__BUILD_NUMBER_MINOR__' => '30020',
     351            '__BUILD_NUMBER_VARIANT__' => '10000',
     352        },
     353    },
     354
     355    {
     356        'RC_ProjectSourceVersion' => '10530.64.200.64',
     357        expectedResults => {
     358            '__VERSION_TEXT__' => '530.64.200.64',
     359            '__BUILD_NUMBER__' => '530.64.200.64',
     360            '__BUILD_NUMBER_SHORT__' => '530.64.200.64',
     361            '__VERSION_MAJOR__' => '530',
     362            '__VERSION_MINOR__' => '64200',
     363            '__VERSION_TINY__' => '64000',
     364            '__VERSION_BUILD__' => '64',
     365            '__BUILD_NUMBER_MAJOR__' => '530',
     366            '__BUILD_NUMBER_MINOR__' => '64200',
     367            '__BUILD_NUMBER_VARIANT__' => '64000',
     368        },
     369    },
     370
     371    {
     372        'RC_ProjectSourceVersion' => '10530.64.999.64',
     373        expectedResults => {
     374            '__VERSION_TEXT__' => '530.64.999.64',
     375            '__BUILD_NUMBER__' => '530.64.999.64',
     376            '__BUILD_NUMBER_SHORT__' => '530.64.999.64',
     377            '__VERSION_MAJOR__' => '530',
     378            '__VERSION_MINOR__' => '64999',
     379            '__VERSION_TINY__' => '64000',
     380            '__VERSION_BUILD__' => '64',
     381            '__BUILD_NUMBER_MAJOR__' => '530',
     382            '__BUILD_NUMBER_MINOR__' => '64999',
     383            '__BUILD_NUMBER_VARIANT__' => '64000',
     384        },
     385    },
     386
     387    {
     388        'RC_ProjectSourceVersion' => '7530.64.99.10',
     389        expectedResults => {
     390            '__VERSION_TEXT__' => '530.64.99.10',
     391            '__BUILD_NUMBER__' => '530.64.99.10',
     392            '__BUILD_NUMBER_SHORT__' => '530.64.99.10',
     393            '__VERSION_MAJOR__' => '530',
     394            '__VERSION_MINOR__' => '64099',
     395            '__VERSION_TINY__' => '10000',
     396            '__VERSION_BUILD__' => '10',
     397            '__BUILD_NUMBER_MAJOR__' => '530',
     398            '__BUILD_NUMBER_MINOR__' => '64099',
     399            '__BUILD_NUMBER_VARIANT__' => '10000',
    432400        },
    433401    },
     
    440408            '__BUILD_NUMBER__' => '53',
    441409            '__BUILD_NUMBER_SHORT__' => '53',
    442             '__VERSION_MAJOR__' => '5',
    443             '__VERSION_MINOR__' => '3',
     410            '__VERSION_MAJOR__' => '53',
     411            '__VERSION_MINOR__' => '0',
    444412            '__VERSION_TINY__' => '0',
    445413            '__VERSION_BUILD__' => '0',
     
    458426            '__BUILD_NUMBER_SHORT__' => '5',
    459427            '__VERSION_MAJOR__' => '5',
    460             '__VERSION_MINOR__' => '',
     428            '__VERSION_MINOR__' => '0',
    461429            '__VERSION_TINY__' => '0',
    462430            '__VERSION_BUILD__' => '0',
     
    469437    # Largest specified version test
    470438    {
    471         'RC_ProjectSourceVersion' => '214747.99.99.99.99',
    472         expectedResults => {
    473             '__VERSION_TEXT__' => '747.99.99.99.99',
    474             '__BUILD_NUMBER__' => '747.99.99.99.99',
    475             '__BUILD_NUMBER_SHORT__' => '747.99.99.99.99',
    476             '__VERSION_MAJOR__' => '7',
    477             '__VERSION_MINOR__' => '47',
    478             '__VERSION_TINY__' => '99',
     439        'RC_ProjectSourceVersion' => '214747.64.999.64.999',
     440        expectedResults => {
     441            '__VERSION_TEXT__' => '747.64.999.64.999',
     442            '__BUILD_NUMBER__' => '747.64.999.64.999',
     443            '__BUILD_NUMBER_SHORT__' => '747.64.999.64.999',
     444            '__VERSION_MAJOR__' => '747',
     445            '__VERSION_MINOR__' => '64999',
     446            '__VERSION_TINY__' => '64999',
     447            '__VERSION_BUILD__' => '999',
     448            '__BUILD_NUMBER_MAJOR__' => '747',
     449            '__BUILD_NUMBER_MINOR__' => '64999',
     450            '__BUILD_NUMBER_VARIANT__' => '64999',
     451        },
     452    },
     453
     454    # Leading Whitespace
     455    {
     456        'RC_ProjectSourceVersion' => '        214747.64.99.64.99',
     457        expectedResults => {
     458            '__VERSION_TEXT__' => '747.64.99.64.99',
     459            '__BUILD_NUMBER__' => '747.64.99.64.99',
     460            '__BUILD_NUMBER_SHORT__' => '747.64.99.64.99',
     461            '__VERSION_MAJOR__' => '747',
     462            '__VERSION_MINOR__' => '64099',
     463            '__VERSION_TINY__' => '64099',
    479464            '__VERSION_BUILD__' => '99',
    480465            '__BUILD_NUMBER_MAJOR__' => '747',
    481             '__BUILD_NUMBER_MINOR__' => '99',
    482             '__BUILD_NUMBER_VARIANT__' => '99',
    483         },
    484     },
    485 
    486     # Leading Whitespace
    487     {
    488         'RC_ProjectSourceVersion' => '        214747.99.99.99.99',
    489         expectedResults => {
    490             '__VERSION_TEXT__' => '747.99.99.99.99',
    491             '__BUILD_NUMBER__' => '747.99.99.99.99',
    492             '__BUILD_NUMBER_SHORT__' => '747.99.99.99.99',
    493             '__VERSION_MAJOR__' => '7',
    494             '__VERSION_MINOR__' => '47',
    495             '__VERSION_TINY__' => '99',
     466            '__BUILD_NUMBER_MINOR__' => '64099',
     467            '__BUILD_NUMBER_VARIANT__' => '64099',
     468        },
     469    },
     470
     471    # Trailing Whitespace
     472    {
     473        'RC_ProjectSourceVersion' => '214747.64.99.64.99      ',
     474        expectedResults => {
     475            '__VERSION_TEXT__' => '747.64.99.64.99',
     476            '__BUILD_NUMBER__' => '747.64.99.64.99',
     477            '__BUILD_NUMBER_SHORT__' => '747.64.99.64.99',
     478            '__VERSION_MAJOR__' => '747',
     479            '__VERSION_MINOR__' => '64099',
     480            '__VERSION_TINY__' => '64099',
    496481            '__VERSION_BUILD__' => '99',
    497482            '__BUILD_NUMBER_MAJOR__' => '747',
    498             '__BUILD_NUMBER_MINOR__' => '99',
    499             '__BUILD_NUMBER_VARIANT__' => '99',
    500         },
    501     },
    502 
    503     # Trailing Whitespace
    504     {
    505         'RC_ProjectSourceVersion' => '214747.99.99.99.99      ',
    506         expectedResults => {
    507             '__VERSION_TEXT__' => '747.99.99.99.99',
    508             '__BUILD_NUMBER__' => '747.99.99.99.99',
    509             '__BUILD_NUMBER_SHORT__' => '747.99.99.99.99',
    510             '__VERSION_MAJOR__' => '7',
    511             '__VERSION_MINOR__' => '47',
    512             '__VERSION_TINY__' => '99',
     483            '__BUILD_NUMBER_MINOR__' => '64099',
     484            '__BUILD_NUMBER_VARIANT__' => '64099',
     485        },
     486    },
     487
     488    # Leading and Trailing Whitespace
     489    {
     490        'RC_ProjectSourceVersion' => '        214747.64.99.64.99      ',
     491        expectedResults => {
     492            '__VERSION_TEXT__' => '747.64.99.64.99',
     493            '__BUILD_NUMBER__' => '747.64.99.64.99',
     494            '__BUILD_NUMBER_SHORT__' => '747.64.99.64.99',
     495            '__VERSION_MAJOR__' => '747',
     496            '__VERSION_MINOR__' => '64099',
     497            '__VERSION_TINY__' => '64099',
    513498            '__VERSION_BUILD__' => '99',
    514499            '__BUILD_NUMBER_MAJOR__' => '747',
    515             '__BUILD_NUMBER_MINOR__' => '99',
    516             '__BUILD_NUMBER_VARIANT__' => '99',
    517         },
    518     },
    519 
    520     # Leading and Trailing Whitespace
    521     {
    522         'RC_ProjectSourceVersion' => '        214747.99.99.99.99      ',
    523         expectedResults => {
    524             '__VERSION_TEXT__' => '747.99.99.99.99',
    525             '__BUILD_NUMBER__' => '747.99.99.99.99',
    526             '__BUILD_NUMBER_SHORT__' => '747.99.99.99.99',
    527             '__VERSION_MAJOR__' => '7',
    528             '__VERSION_MINOR__' => '47',
    529             '__VERSION_TINY__' => '99',
    530             '__VERSION_BUILD__' => '99',
    531             '__BUILD_NUMBER_MAJOR__' => '747',
    532             '__BUILD_NUMBER_MINOR__' => '99',
    533             '__BUILD_NUMBER_VARIANT__' => '99',
     500            '__BUILD_NUMBER_MINOR__' => '64099',
     501            '__BUILD_NUMBER_VARIANT__' => '64099',
    534502        },
    535503    },
     
    555523
    556524    my $outputFile = File::Spec->catfile($testOutputDir, 'include', 'autoversion.h');
    557     open(TEST_OUTPUT, '<', $outputFile) or die "Unable to open $outputFile";
     525    open(TEST_OUTPUT, '<', $outputFile) or die "Unable to open $outputFile: $!";
    558526
    559527    while (my $line = <TEST_OUTPUT>) {
     
    572540        }
    573541    }
     542
     543    close(TEST_OUTPUT);
    574544}
  • trunk/WebKitLibraries/ChangeLog

    r171479 r171798  
     12014-07-29  Brent Fulgham  <bfulgham@apple.com>
     2
     3        [Win] Modify version numbering scheme to support 5-tuple versions
     4        https://bugs.webkit.org/show_bug.cgi?id=135400
     5        <rdar://problem/17849033>
     6
     7        Reviewed by David Kilzer.
     8
     9        Revise the auto-version.pl script so that it generates a set of packed
     10        version tuples that allow us to map 5-tuple versions into something
     11        that will work with Windows' 3-tuple version structure.
     12
     13        * win/tools/scripts/auto-version.pl:
     14        (packTwoValues): Added,
     15        (splitVersion): Revised to return packed combination of minor-tiny and
     16        micro-nano to be used as "MINOR" and "TINY" portion of version.
     17        (splitBuildMajorVersion): Deleted.
     18        * win/tools/scripts/version-stamp.pl: Added.
     19
    1202014-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
    221
  • trunk/WebKitLibraries/win/tools/scripts/auto-version.pl

    r171351 r171798  
    3030
    3131sub splitVersion($);
    32 sub splitBuildMajorVersion($);
    3332
    3433die "You must supply an output path as the argument.\n" if ($#ARGV < 0);
     
    7271chomp($PROPOSED_VERSION);
    7372
    74 my ($BUILD_MAJOR_VERSION, $BUILD_MINOR_VERSION, $BUILD_TINY_VERSION, $ADJUSTED_PROPOSED_VERSION) = splitVersion($PROPOSED_VERSION);
     73my ($BUILD_MAJOR_VERSION, $BUILD_MINOR_VERSION, $BUILD_TINY_VERSION, $BUILD_VARIANT_VERSION, $ADJUSTED_PROPOSED_VERSION) = splitVersion($PROPOSED_VERSION);
    7574
    76 my ($MAJOR_VERSION, $MINOR_VERSION) = splitBuildMajorVersion($BUILD_MAJOR_VERSION);
    77 my $TINY_VERSION = $BUILD_MINOR_VERSION;
    78 my $VARIANT_VERSION = $BUILD_TINY_VERSION;
     75my $TINY_VERSION = $BUILD_TINY_VERSION;
    7976my $VERSION_TEXT = $ADJUSTED_PROPOSED_VERSION;
    8077my $VERSION_TEXT_SHORT = $VERSION_TEXT;
     
    103100#define __BUILD_NUMBER__ "$VERSION_TEXT"
    104101#define __BUILD_NUMBER_SHORT__ "$VERSION_TEXT_SHORT"
    105 #define __VERSION_MAJOR__ $MAJOR_VERSION
    106 #define __VERSION_MINOR__ $MINOR_VERSION
    107 #define __VERSION_TINY__ $TINY_VERSION
    108 #define __VERSION_BUILD__ $VARIANT_VERSION
     102#define __VERSION_MAJOR__ $BUILD_MAJOR_VERSION
     103#define __VERSION_MINOR__ $BUILD_MINOR_VERSION
     104#define __VERSION_TINY__ $BUILD_TINY_VERSION
     105#define __VERSION_BUILD__ $BUILD_VARIANT_VERSION
    109106#define __BUILD_NUMBER_MAJOR__ $BUILD_MAJOR_VERSION
    110107#define __BUILD_NUMBER_MINOR__ $BUILD_MINOR_VERSION
     
    118115close(OUTPUT_FILE);
    119116
     117sub packTwoValues($$)
     118{
     119    my $first = shift;
     120    my $second = shift;
     121
     122    die "First version component ($first) is too large. Must be between 0 and 99" if ($first > 99);
     123    die "Second version component ($second) is too large. Must be between 0 and 999" if ($second > 999);
     124
     125    return $first * 1000 + $second;
     126}
    120127
    121128sub splitVersion($)
     
    135142    my $BUILD_MINOR_VERSION = 0;
    136143    my $BUILD_TINY_VERSION = 0;
     144    my $BUILD_MICRO_VERSION = 0;
     145    my $BUILD_NANO_VERSION = 0;
    137146    if ($componentCount > 1) {
    138147        $BUILD_MINOR_VERSION = $components[1];
    139         if ($componentCount > 2) {
    140             $BUILD_TINY_VERSION = $components[2];
    141         }
     148    }
     149    if ($componentCount > 2) {
     150        $BUILD_TINY_VERSION = $components[2];
     151    }
     152    if ($componentCount > 3) {
     153        $BUILD_MICRO_VERSION = $components[3];
     154    }
     155
     156    my $RETURN_NANO_VERSION = $BUILD_MICRO_VERSION;
     157    if ($componentCount > 4) {
     158        $BUILD_NANO_VERSION = $components[4];
     159        $RETURN_NANO_VERSION = $BUILD_NANO_VERSION;
    142160    }
    143161
     
    152170    $PROPOSED_VERSION = substr($PROPOSED_VERSION, $charactersToRemove);
    153171
    154     return ($BUILD_MAJOR_VERSION, $BUILD_MINOR_VERSION, $BUILD_TINY_VERSION, $PROPOSED_VERSION);
     172    return ($BUILD_MAJOR_VERSION, packTwoValues($BUILD_MINOR_VERSION, $BUILD_TINY_VERSION), packTwoValues($BUILD_MICRO_VERSION, $BUILD_NANO_VERSION), $RETURN_NANO_VERSION, $PROPOSED_VERSION);
    155173}
    156174
    157 sub splitBuildMajorVersion($)
    158 {
    159     # Split the first component further by using the first digit for the
    160     # major version and the remaining two characters as the minor version.
    161     # The minor version is shifted down to the tiny version, with the tiny
    162     # version becoming the variant version.
    163     my ($MAJOR_VERSION, $MINOR_VERSION);
    164     {
    165         if ($BUILD_MAJOR_VERSION =~ m/^[^\d]*(\d)(\d{1,})/) {
    166             $MAJOR_VERSION = $1;
    167             $MINOR_VERSION = $2;
    168         } else {
    169             $MAJOR_VERSION = $BUILD_MAJOR_VERSION;
    170             $MINOR_VERSION = '';
    171         }
    172     }
    173 
    174     return ($MAJOR_VERSION, $MINOR_VERSION);
    175 }
Note: See TracChangeset for help on using the changeset viewer.