-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathversion.bat
124 lines (99 loc) · 2.8 KB
/
version.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
@ECHO OFF
REM this script will update the "build" number of the netPhotoGreaphics version and commit it
REM copyright by Stephen Billard, all rights reserved.
SET SOURCE=npgCore\version.php
FOR /F "delims=" %%a in ('FINDSTR "NETPHOTOGRAPHICS_VERSION" %SOURCE%') DO SET REL=%%a
SET REL=%REL:~36,-3%
FOR /F "tokens=1,2,3,4,5 delims=.'-" %%a in ("%REL%-") DO (
SET major=%%a
SET minor=%%b
SET release=%%c
SET build=%%d
SET devbuild=%%e
)
SET beta=[]
SET /a devversion=0
FOR /F "tokens=1,2 delims=.'-" %%a in ("%CD%") DO (
SET base=%%a
SET beta=%%b
)
if NOT [%beta%]==[] GOTO SETVERSION
SET param=%1
IF [%param%]==[] GOTO BUILD
SET option=%param:~0,3%
IF [%option%]==[maj] GOTO MAJOR
IF [%option%]==[min] GOTO MINOR
IF [%option%]==[rel] GOTO RELEASE
GOTO BUILD
:MAJOR
SET /a major=%major%+1
SET /a minor=1000000
SET /a release=1000000
SET /a build=1000000
GOTO SETVERSION
:MINOR
SET /a N=1%minor%-(11%minor%-1%minor%)/10
SET /a minor=%N%+1
SET /a N=1%minor%-(11%minor%-1%minor%)/10
SET minor=1000000%N%
SET /a release=1000000
SET /a build=1000000
GOTO SETVERSION
:RELEASE
SET /a N=1%release%-(11%release%-1%release%)/10
SET /a release=%N%+1
SET /a N=1%release%-(11%release%-1%release%)/10
SET release=1000000%N%
SET build=1000000
GOTO SETVERSION
:BUILD
SET /a N=1%build%-(11%build%-1%build%)/10
SET /a build=%N%+1
SET /a N=1%build%-(11%build%-1%build%)/10
SET build=1000000%N%
:SETVERSION
SET new=%major%.%minor:~-2%.%release:~-2%.%build:~-2%
SET doc=%new%
IF [%beta%]==[] GOTO TAG
if [%devbuild%]==[] goto DEVBUILD
FOR /F "tokens=1,2 delims=.'_" %%a in ("%devbuild%") DO (
SET base=%%a
SET devversion=%%b
)
if [%devversion%]==[] set devversion=%base%
:DEVBUILD
SET /a N=1%devversion%-(11%devversion%-1%devversion%)/10
SET /a devversion=%N%+1
SET /a N=1%devversion%-(11%devversion%-1%devversion%)/10
SET devversion=1000000%N%
SET new=%new%.%devversion:~-2%
REM for dev builds show doc as next build level
SET /a N=1%build%-(11%build%-1%build%)/10
SET /a build=%N%+1
SET /a N=1%build%-(11%build%-1%build%)/10
SET build=1000000%N%
SET doc=%major%.%minor%.%release%.%build:~-2%
:TAG
>%SOURCE% echo ^<?php
>>%SOURCE% echo // This file contains version info only and is automatically updated. DO NOT EDIT.
>>%SOURCE% echo define('NETPHOTOGRAPHICS_VERSION', '%new%');
>>%SOURCE% echo ?^>
:DOCUPDATE
setlocal
rem update the version number in the release notes
set dest="docs\release notes.htm"
(for /f "delims=" %%i in (D:\test_sites\dev\docs\release_notes.htm) do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:$v$=%doc%!"
echo(!line!
endlocal
))>%dest%
IF NOT [%beta%]==[] GOTO COMMIT
rem update the user guide
D:\github\DevTools\docto -f "D:\github\DevTools-DEV\user guide.docx" -O "docs/user guide.pdf" -T wdFormatPDF
:COMMIT
rem commit the changes
@git add .
@git commit -m"release build %NEW%"
:END