Fixed issue with git fetch timeout or server down.
[apps/native/sample/sample-core-components.git] / tool / development / buildbot / poll_and_build_changes.py
1 #!/usr/bin/python
2
3 import sys, os
4 import json
5 import argparse
6 import subprocess
7 import traceback
8 import nativesamples as ns
9
10 reload(sys)
11 sys.setdefaultencoding('utf8')
12
13 if ns.numberOfProcesses(".*python.*" + os.path.basename(__file__)) > 1:
14         print "process already running"
15         sys.exit(0)
16
17 if len(sys.argv) < 2:
18         print "Please provide samples root build path"
19         sys.exit(0)
20
21 rootBuildDir =  os.path.abspath(sys.argv[1])
22
23 nativeSamples = ns.NativeSamples(rootBuildDir)
24
25 emailSender = ns.EmailSender(nativeSamples.config)
26 stacktrace = None
27 try:
28         nativeSamples.pollForChanges()
29         nativeSamples.evaluatePendingChanges()
30 except KeyboardInterrupt:
31         raise
32 except subprocess.CalledProcessError as error:
33         stacktrace = "Exception Info:\n\n" + traceback.format_exc() + error.output
34         traceback.print_exc()
35 except:
36         stacktrace = "Exception Info:\n\n" + traceback.format_exc()
37         traceback.print_exc()
38
39 if stacktrace is not None:
40         subject = 'Tizen SAMPLE BUILD SYSTEM error: Something unexpected happened during build process'
41         emailSender.send(mailSubject = subject, mailText = stacktrace)