@@ -17,73 +17,62 @@ DEFINE INPUT PARAMETER plManualCheck AS LOGICAL NO-UNDO.
17
17
18
18
{ DataDigger.i }
19
19
20
- DEFINE VARIABLE cLocalVersion AS CHARACTER NO-UNDO .
21
- DEFINE VARIABLE cLocalBuildNr AS CHARACTER NO-UNDO .
22
- DEFINE VARIABLE cRemoteVersion AS CHARACTER NO-UNDO .
23
- DEFINE VARIABLE cRemoteBuildNr AS CHARACTER NO-UNDO .
20
+ DEFINE VARIABLE cLocalBuild AS CHARACTER NO-UNDO .
21
+ DEFINE VARIABLE cRemoteBuild AS CHARACTER NO-UNDO .
24
22
DEFINE VARIABLE cNewVersionUrl AS CHARACTER NO-UNDO .
25
23
DEFINE VARIABLE lVisit AS LOGICAL NO-UNDO INITIAL TRUE .
24
+ DEFINE VARIABLE cStableBuild AS CHARACTER NO-UNDO .
26
25
27
26
/* Might be spaces in the include file */
28
- cLocalVersion = TRIM (' {version.i}' ).
29
- cLocalBuildNr = TRIM (' {build.i}' ).
27
+ cLocalBuild = TRIM (' {build.i}' ).
30
28
31
29
/* If channel is set to manual, but this is not a manual check then return. */
32
30
IF piChannel = {&CHECK-MANUAL} AND NOT plManualCheck THEN RETURN .
33
31
32
+ /* Get current stable build */
33
+ RUN getVersionInfo.p (INPUT ' master' , OUTPUT cStableBuild ).
34
+
34
35
/* Get proper version info, depending on channel */
35
- CASE piChannel :
36
- WHEN {&CHECK-MANUAL} THEN RUN getVersionInfo.p (INPUT ' master' , OUTPUT cRemoteVersion , OUTPUT cRemoteBuildNr ).
37
- WHEN {&CHECK-STABLE} THEN RUN getVersionInfo.p (INPUT ' master' , OUTPUT cRemoteVersion , OUTPUT cRemoteBuildNr ).
38
- WHEN {&CHECK-BETA} THEN RUN getVersionInfo.p (INPUT ' develop' , OUTPUT cRemoteVersion , OUTPUT cRemoteBuildNr ).
39
- END CASE .
36
+ IF piChannel = {&CHECK-MANUAL} OR piChannel = {&CHECK-STABLE} THEN
37
+ DO :
38
+ /* If local build is newer than stable, set update channel to BETA */
39
+ IF cLocalBuild > cStableBuild THEN
40
+ DO :
41
+ setRegistry (" DataDigger:Update" ," UpdateChannel" , " {&CHECK-BETA}" ).
42
+ piChannel = {&CHECK-BETA} .
43
+ END .
44
+ ELSE
45
+ cRemoteBuild = cStableBuild .
46
+ END .
47
+
48
+ IF piChannel = {&CHECK-BETA} THEN
49
+ RUN getVersionInfo.p (INPUT ' develop' , OUTPUT cRemoteBuild ).
40
50
41
51
/* If version cannot be determined then don't bother. Unless this is a manual check */
42
- IF cRemoteBuildNr = ' ' THEN
52
+ IF cRemoteBuild = ' ' OR cRemoteBuild = ? THEN
43
53
DO :
44
- IF plManualCheck THEN MESSAGE ' Cannot reach version the DataDigger website' VIEW-AS ALERT-BOX INFORMATION BUTTONS OK .
54
+ IF plManualCheck THEN MESSAGE ' Cannot reach the DataDigger website' VIEW-AS ALERT-BOX INFORMATION BUTTONS OK .
45
55
RETURN .
46
56
END .
47
57
48
58
/* Save remote version / build */
49
- setRegistry (' DataDigger:Update' , ' RemoteBuildNr' , cRemoteBuildNr ).
50
- setRegistry (' DataDigger:Update' , ' RemoteVersion' , cRemoteVersion ).
59
+ setRegistry (' DataDigger:Update' , ' RemoteBuildNr' , cRemoteBuild ).
51
60
52
- /* If you are using a build that is newer than the production version, it means you are running a beta version.
53
- * Then force the update channel to 'beta'
54
- */
55
- IF (piChannel = {&CHECK-MANUAL} OR piChannel = {&CHECK-STABLE} )
56
- AND ' {build.i}' > cRemoteBuildNr THEN setRegistry (" DataDigger:Update" ," UpdateChannel" , " {&CHECK-BETA}" ).
57
-
58
- /* New version? */
59
- IF cRemoteVersion > cLocalVersion THEN
61
+ /* Check build to detect new versions */
62
+ IF cRemoteBuild > cLocalBuild THEN
60
63
DO :
61
- cNewVersionUrl = ' https://github.com/patrickTingen/DataDigger/releases/latest' .
62
-
63
- IF plManualCheck THEN
64
- DO :
65
- MESSAGE ' A new version is available on the DataDigger website~n~n Do you want to check it?' VIEW-AS ALERT-BOX INFORMATION BUTTONS YES-NO-CANCEL UPDATE lVisit .
66
- IF lVisit = TRUE THEN OS-COMMAND NO-WAIT START VALUE (cNewVersionUrl ).
67
- END .
64
+ IF piChannel = {&CHECK-MANUAL} OR piChannel = {&CHECK-STABLE} THEN
65
+ cNewVersionUrl = ' https://github.com/patrickTingen/DataDigger/releases/latest' .
68
66
ELSE
69
- setRegistry (' DataDigger:Update' , ' NewVersionURL' , cNewVersionUrl ).
70
-
71
- END .
72
-
73
- ELSE
74
- /* New BETA? */
75
- IF cRemoteBuildNr > cLocalBuildNr THEN
76
- DO :
77
- cNewVersionUrl = ' https://github.com/patrickTingen/DataDigger/releases/' .
67
+ cNewVersionUrl = ' https://github.com/patrickTingen/DataDigger/releases/' .
78
68
79
69
IF plManualCheck THEN
80
70
DO :
81
- MESSAGE ' A new BETA version is available on the DataDigger website~n~n Do you want to check it?' VIEW-AS ALERT-BOX INFORMATION BUTTONS YES-NO-CANCEL UPDATE lVisit .
71
+ MESSAGE ' A new version is available on the DataDigger website~n~n Do you want to check it?' VIEW-AS ALERT-BOX INFORMATION BUTTONS YES-NO-CANCEL UPDATE lVisit .
82
72
IF lVisit = TRUE THEN OS-COMMAND NO-WAIT START VALUE (cNewVersionUrl ).
83
73
END .
84
74
ELSE
85
75
setRegistry (' DataDigger:Update' , ' NewVersionURL' , cNewVersionUrl ).
86
-
87
76
END .
88
77
89
78
ELSE
0 commit comments