@@ -21,14 +21,15 @@ import (
21
21
)
22
22
23
23
var (
24
- startTime = time .Now ()
25
- logger = log .New (os .Stdout , "[gin] " , 0 )
26
- immediate = false
27
- buildError error
28
- colorGreen = string ([]byte {27 , 91 , 57 , 55 , 59 , 51 , 50 , 59 , 49 , 109 })
29
- colorRed = string ([]byte {27 , 91 , 57 , 55 , 59 , 51 , 49 , 59 , 49 , 109 })
30
- colorReset = string ([]byte {27 , 91 , 48 , 109 })
31
- notifier = notificator .New (notificator.Options {AppName : "Gin Build" })
24
+ startTime = time .Now ()
25
+ logger = log .New (os .Stdout , "[gin] " , 0 )
26
+ immediate = false
27
+ buildError error
28
+ colorGreen = string ([]byte {27 , 91 , 57 , 55 , 59 , 51 , 50 , 59 , 49 , 109 })
29
+ colorRed = string ([]byte {27 , 91 , 57 , 55 , 59 , 51 , 49 , 59 , 49 , 109 })
30
+ colorReset = string ([]byte {27 , 91 , 48 , 109 })
31
+ notifier = notificator .New (notificator.Options {AppName : "Gin Build" })
32
+ notifications = false
32
33
)
33
34
34
35
func main () {
@@ -115,6 +116,11 @@ func main() {
115
116
Usage : "Log prefix" ,
116
117
Value : "gin" ,
117
118
},
119
+ cli.BoolFlag {
120
+ Name : "notifications" ,
121
+ EnvVar : "GIN_NOTIFICATIONS" ,
122
+ Usage : "Enables desktop notifications" ,
123
+ },
118
124
}
119
125
app .Commands = []cli.Command {
120
126
{
@@ -143,6 +149,7 @@ func MainAction(c *cli.Context) {
143
149
keyFile := c .GlobalString ("keyFile" )
144
150
certFile := c .GlobalString ("certFile" )
145
151
logPrefix := c .GlobalString ("logPrefix" )
152
+ notifications = c .GlobalBool ("notifications" )
146
153
147
154
logger .SetPrefix (fmt .Sprintf ("[%s] " , logPrefix ))
148
155
@@ -221,24 +228,30 @@ func EnvAction(c *cli.Context) {
221
228
func build (builder gin.Builder , runner gin.Runner , logger * log.Logger ) {
222
229
logger .Println ("Building..." )
223
230
224
- notifier .Push ("Build Started!" , "Building " + builder .Binary ()+ "..." , "" , notificator .UR_NORMAL )
231
+ if notifications {
232
+ notifier .Push ("Build Started!" , "Building " + builder .Binary ()+ "..." , "" , notificator .UR_NORMAL )
233
+ }
225
234
err := builder .Build ()
226
235
if err != nil {
227
236
buildError = err
228
237
logger .Printf ("%sBuild failed%s\n " , colorRed , colorReset )
229
238
fmt .Println (builder .Errors ())
230
239
buildErrors := strings .Split (builder .Errors (), "\n " )
231
- if err := notifier .Push ("Build FAILED!" , buildErrors [1 ], "" , notificator .UR_CRITICAL ); err != nil {
232
- logger .Println ("Notification send failed" )
240
+ if notifications {
241
+ if err := notifier .Push ("Build FAILED!" , buildErrors [1 ], "" , notificator .UR_CRITICAL ); err != nil {
242
+ logger .Println ("Notification send failed" )
243
+ }
233
244
}
234
245
} else {
235
246
buildError = nil
236
247
logger .Printf ("%sBuild finished%s\n " , colorGreen , colorReset )
237
248
if immediate {
238
249
runner .Run ()
239
250
}
240
- if err := notifier .Push ("Build Succeded" , "Build Finished!" , "" , notificator .UR_CRITICAL ); err != nil {
241
- logger .Println ("Notification send failed" )
251
+ if notifications {
252
+ if err := notifier .Push ("Build Succeded" , "Build Finished!" , "" , notificator .UR_CRITICAL ); err != nil {
253
+ logger .Println ("Notification send failed" )
254
+ }
242
255
}
243
256
}
244
257
0 commit comments