@@ -9,11 +9,13 @@ import (
9
9
shellwords "github.com/mattn/go-shellwords"
10
10
"gopkg.in/urfave/cli.v1"
11
11
12
+ "github.com/0xAX/notificator"
12
13
"log"
13
14
"os"
14
15
"os/signal"
15
16
"path/filepath"
16
17
"strconv"
18
+ "strings"
17
19
"syscall"
18
20
"time"
19
21
)
26
28
colorGreen = string ([]byte {27 , 91 , 57 , 55 , 59 , 51 , 50 , 59 , 49 , 109 })
27
29
colorRed = string ([]byte {27 , 91 , 57 , 55 , 59 , 51 , 49 , 59 , 49 , 109 })
28
30
colorReset = string ([]byte {27 , 91 , 48 , 109 })
31
+ notifier = notificator .New (notificator.Options {AppName : "Gin Build" })
29
32
)
30
33
31
34
func main () {
@@ -218,17 +221,25 @@ func EnvAction(c *cli.Context) {
218
221
func build (builder gin.Builder , runner gin.Runner , logger * log.Logger ) {
219
222
logger .Println ("Building..." )
220
223
224
+ notifier .Push ("Build Started!" , "Building " + builder .Binary ()+ "..." , "" , notificator .UR_NORMAL )
221
225
err := builder .Build ()
222
226
if err != nil {
223
227
buildError = err
224
228
logger .Printf ("%sBuild failed%s\n " , colorRed , colorReset )
225
229
fmt .Println (builder .Errors ())
230
+ 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" )
233
+ }
226
234
} else {
227
235
buildError = nil
228
236
logger .Printf ("%sBuild finished%s\n " , colorGreen , colorReset )
229
237
if immediate {
230
238
runner .Run ()
231
239
}
240
+ if err := notifier .Push ("Build Succeded" , "Build Finished!" , "" , notificator .UR_CRITICAL ); err != nil {
241
+ logger .Println ("Notification send failed" )
242
+ }
232
243
}
233
244
234
245
time .Sleep (100 * time .Millisecond )
0 commit comments