-
Notifications
You must be signed in to change notification settings - Fork 0
/
AddToFile.cmd
100 lines (81 loc) · 2.98 KB
/
AddToFile.cmd
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
/* Add specified line to file */
/* Adds the specified line to the end of the specified file.
* Usage:
* AddToFile.cmd FileName,PrefixString,Function[,Parameters...]
*
* Examples:
* AddToFile.cmd FileName,#define DDATE,DATEL
* Adds today's date to Filename: #define DDATE 20130312L
*
* AddToFile.cmd FileName,#define BLDLEVEL,BLDLEVEL2,D Azarewicz,1.2.3,Description,Fixpack
* Adds a formatted BLDLEVEL string to Filename using double quotes: #define BLDLEVEL "<bldlevel string>"
*
* AddToFile.cmd FileName,option description,BLDLEVEL,D Azarewicz,1.2.3,Description,Fixpack
* Adds a formatted BLDLEVEL string to Filename using single quotes: option description '<bldlevel string>'
*/
parse arg OutFile','String','What','ProjVendor','BuildVersion','ProductName','FixPack;
select
when (What='DATEL') then do
rc=lineout(OutFile, String||' '||DATE('S')||'L');
rc=lineout(OutFile);
end
when (LEFT(What,8)='BLDLEVEL') then do
Type=SUBSTR(What,9,1);
/* get hostname for build system */
ProjHost = VALUE('HOSTNAME',,'OS2ENVIRONMENT');
/* projString = projDate" "projTime" "projHost */
ProjString = left(Date()||' '||TIME(),25)||left(ProjHost,10);
/* get fixpack from SVN version */
if (FixPack='SVN') then FixPack='SVN'||SvnVersion();
parse var BuildVersion major'.'minor'.'ProjVersion;
if (Type='2') then do
rc=lineout(OutFile, String||' "@#'||ProjVendor||':'||BuildVersion||'#@##1## '||ProjString||'::::'||ProjVersion||'::'||FixPack||'@@'||ProductName||'"');
end
else do
rc=lineout(OutFile, String||" '@#"||ProjVendor||":"||BuildVersion||"#@##1## "||ProjString||"::::"||ProjVersion||"::"||FixPack||"@@"||ProductName||"'");
end
rc=lineout(OutFile);
end
when (What='DATEYEAR') then do
rc=lineout(OutFile, String||' '||FORMAT(SUBSTR(DATE('S'), 1, 4)));
rc=lineout(OutFile);
end
when (What='DATEMONTH') then do
rc=lineout(OutFile, String||' '||FORMAT(SUBSTR(DATE('S'), 5, 2)));
rc=lineout(OutFile);
end
when (What='DATEDAY') then do
rc=lineout(OutFile, String||' '||FORMAT(SUBSTR(DATE('S'), 7, 2)));
rc=lineout(OutFile);
end
when (What="VERSIONMAJOR") then do
parse var ProjVendor Major'.'Minor'.'Revision;
rc=lineout(OutFile, String||' '||FORMAT(Major));
rc=lineout(OutFile);
end
when (What="VERSIONMINOR") then do
parse var ProjVendor Major'.'Minor'.'Revision;
rc=lineout(OutFile, String||' '||FORMAT(Minor));
rc=lineout(OutFile);
end
when (What="VERSIONREVISION") then do
parse var ProjVendor Major'.'Minor'.'Revision;
rc=lineout(OutFile, String||' '||FORMAT(Revision));
rc=lineout(OutFile);
end
otherwise do
say "AddToFile: Unrecognized command: "||What;
exit 1;
end
end
exit 0;
SvnVersion:
File = ARG(1);
'@svn info 2>&1 | rxqueue'
do while (QUEUED() > 0)
PARSE PULL Line1':'Line2
if (Line1 = "Last Changed Rev") then leave;
Line2 = "";
end
do while (QUEUED() <> 0); PULL; end;
Return(STRIP(Line2,'B'));