SConstruct (11811:83677ded6358) | SConstruct (11887:f08918a690cf) |
---|---|
1# -*- mode:python -*- 2 3# Copyright (c) 2013, 2015, 2016 ARM Limited 4# All rights reserved. 5# 6# The license below extends only to copyright in the software and shall 7# not be construed as granting a license to any other intellectual 8# property including but not limited to intellectual property relating --- 254 unchanged lines hidden (view full) --- 263 264 265style_message = """ 266You're missing the gem5 style hook, which automatically checks your code 267against the gem5 style rules on %s. 268This script will now install the hook in your %s. 269Press enter to continue, or ctrl-c to abort: """ 270 | 1# -*- mode:python -*- 2 3# Copyright (c) 2013, 2015, 2016 ARM Limited 4# All rights reserved. 5# 6# The license below extends only to copyright in the software and shall 7# not be construed as granting a license to any other intellectual 8# property including but not limited to intellectual property relating --- 254 unchanged lines hidden (view full) --- 263 264 265style_message = """ 266You're missing the gem5 style hook, which automatically checks your code 267against the gem5 style rules on %s. 268This script will now install the hook in your %s. 269Press enter to continue, or ctrl-c to abort: """ 270 |
271mercurial_style_message = style_message % ("hg commit and qrefresh commands", 272 ".hg/hgrc file") 273git_style_message = style_message % ("'git commit'", 274 ".git/hooks/ directory") | 271mercurial_style_message = """ 272You're missing the gem5 style hook, which automatically checks your code 273against the gem5 style rules on hg commit and qrefresh commands. 274This script will now install the hook in your .hg/hgrc file. 275Press enter to continue, or ctrl-c to abort: """ |
275 | 276 |
277git_style_message = """ 278You're missing the gem5 style or commit message hook. These hooks help 279to ensure that your code follows gem5's style rules on git commit. 280This script will now install the hook in your .git/hooks/ directory. 281Press enter to continue, or ctrl-c to abort: """ 282 |
|
276mercurial_style_upgrade_message = """ 277Your Mercurial style hooks are not up-to-date. This script will now 278try to automatically update them. A backup of your hgrc will be saved 279in .hg/hgrc.old. 280Press enter to continue, or ctrl-c to abort: """ 281 282mercurial_style_hook = """ 283# The following lines were automatically added by gem5/SConstruct --- 87 unchanged lines hidden (view full) --- 371 try: 372 gitdir = Dir(readCommand( 373 ["git", "rev-parse", "--git-dir"]).strip("\n")) 374 except Exception, e: 375 print "Warning: Failed to find git repo directory: %s" % e 376 return 377 378 git_hooks = gitdir.Dir("hooks") | 283mercurial_style_upgrade_message = """ 284Your Mercurial style hooks are not up-to-date. This script will now 285try to automatically update them. A backup of your hgrc will be saved 286in .hg/hgrc.old. 287Press enter to continue, or ctrl-c to abort: """ 288 289mercurial_style_hook = """ 290# The following lines were automatically added by gem5/SConstruct --- 87 unchanged lines hidden (view full) --- 378 try: 379 gitdir = Dir(readCommand( 380 ["git", "rev-parse", "--git-dir"]).strip("\n")) 381 except Exception, e: 382 print "Warning: Failed to find git repo directory: %s" % e 383 return 384 385 git_hooks = gitdir.Dir("hooks") |
379 git_pre_commit_hook = git_hooks.File("pre-commit") 380 git_style_script = File("util/git-pre-commit.py") | 386 def hook_exists(hook_name): 387 hook = git_hooks.File(hook_name) 388 return hook.exists() |
381 | 389 |
382 if git_pre_commit_hook.exists(): | 390 def hook_install(hook_name, script): 391 hook = git_hooks.File(hook_name) 392 if hook.exists(): 393 print "Warning: Can't install %s, hook already exists." % hook_name 394 return 395 396 if not git_hooks.exists(): 397 mkdir(git_hooks.get_abspath()) 398 399 # Use a relative symlink if the hooks live in the source directory 400 if hook.is_under(main.root): 401 script_path = os.path.relpath( 402 script.get_abspath(), 403 hook.Dir(".").get_abspath()) 404 else: 405 script_path = script.get_abspath() 406 407 try: 408 os.symlink(script_path, hook.get_abspath()) 409 except: 410 print "Error updating git %s hook" % hook_name 411 raise 412 413 if hook_exists("pre-commit") and hook_exists("commit-msg"): |
383 return 384 385 print git_style_message, 386 try: 387 raw_input() 388 except: 389 print "Input exception, exiting scons.\n" 390 sys.exit(1) 391 | 414 return 415 416 print git_style_message, 417 try: 418 raw_input() 419 except: 420 print "Input exception, exiting scons.\n" 421 sys.exit(1) 422 |
392 if not git_hooks.exists(): 393 mkdir(git_hooks.get_abspath()) | 423 git_style_script = File("util/git-pre-commit.py") 424 git_msg_script = File("ext/git-commit-msg") |
394 | 425 |
395 # Use a relative symlink if the hooks live in the source directory 396 if git_pre_commit_hook.is_under(main.root): 397 script_path = os.path.relpath( 398 git_style_script.get_abspath(), 399 git_pre_commit_hook.Dir(".").get_abspath()) 400 else: 401 script_path = git_style_script.get_abspath() | 426 hook_install("pre-commit", git_style_script) 427 hook_install("commit-msg", git_msg_script) |
402 | 428 |
403 try: 404 os.symlink(script_path, git_pre_commit_hook.get_abspath()) 405 except: 406 print "Error updating git pre-commit hook" 407 raise 408 | |
409# Try to wire up git to the style hooks 410if not ignore_style and main.root.Entry(".git").exists(): 411 install_git_style_hooks() 412 413################################################### 414# 415# Figure out which configurations to set up based on the path(s) of 416# the target(s). --- 1155 unchanged lines hidden --- | 429# Try to wire up git to the style hooks 430if not ignore_style and main.root.Entry(".git").exists(): 431 install_git_style_hooks() 432 433################################################### 434# 435# Figure out which configurations to set up based on the path(s) of 436# the target(s). --- 1155 unchanged lines hidden --- |