Thomas Nagy
9ed7d41488
Expand '--foo=' with shell=False - Issue #1814
2016-09-15 21:36:02 +02:00
Thomas Nagy
8797425153
Expose Python3 timeout on Task.timeout and bld(rule=..., timeout=...)
2016-09-10 12:32:01 +02:00
Thomas Nagy
62459e1147
Accept Task.cwd as str besides Node
2016-09-10 10:44:08 +02:00
Thomas Nagy
1721a505d9
Use the new syntax for sets
2016-09-02 20:20:43 +02:00
Thomas Nagy
7778868718
Set TaskBase.keep_last_cmd to keep the last command executed
2016-07-30 10:09:55 +02:00
Thomas Nagy
70e438393d
Add a parameter to keep the last command executed
2016-07-29 23:10:26 +02:00
Thomas Nagy
eaa83004c8
Api docs
2016-06-25 16:23:06 +02:00
Thomas Nagy
ef6525c0bf
Api docs
2016-06-25 14:49:27 +02:00
Thomas Nagy
7d5f6e4a59
Process tsk.env.PATH as lists or strings
2016-06-17 07:34:11 +02:00
Thomas Nagy
d50017f693
Have Task.exec_command add tsk.env.PATH to os.environ in the child process
2016-06-16 20:07:40 +02:00
Thomas Nagy
092712f001
Enable per-OS @argfile limits
2016-06-15 22:24:30 +02:00
Thomas Nagy
537d1fcd45
Simplify long command processing
2016-06-15 20:24:34 +02:00
Thomas Nagy
605952fe92
Remove redundant warnings
2016-06-11 22:26:34 +02:00
Thomas Nagy
e8ef5a89eb
More cleanup
2016-06-05 00:23:57 +02:00
Thomas Nagy
75b1423ce8
Winrc processing is almost certainly broken...
2016-06-05 00:01:01 +02:00
Thomas Nagy
062a5263a0
Update conf.check_waf_version to 1.9
2016-06-04 09:33:13 +02:00
Thomas Nagy
02a8361149
Beautify Logs.{debug,error,info,warn} now that the formatting bug is fixed
2016-05-28 16:18:51 +02:00
Thomas Nagy
80109eacbe
Improve error handling in the case of missing implicit dependencies
...
Avoid calling are_implicit_nodes_ready() twice.
Stop the build when files are missing or truncated.
Provide a better error message and avoid catching all exceptions.
2016-04-30 13:35:08 +02:00
Thomas Nagy
508b20679d
Do not truncate _task suffixes from Task class names
2016-04-26 18:33:03 +02:00
Thomas Nagy
b87a761ead
Tuples in startswith/endswith (Python 2.5 feature)
2016-04-21 22:30:35 +02:00
Thomas Nagy
8520dd65bb
Code cleanup
2016-04-19 22:00:21 +02:00
Thomas Nagy
fd2981f91f
Remove Task.dep_vars as it is unnecessary
2016-04-16 13:05:27 +02:00
Thomas Nagy
aeed691829
Fun with conditional expressions
2016-04-08 18:37:09 +02:00
Thomas Nagy
bd255ce641
Missing TaskBase.uid() method
2016-03-30 23:01:46 +02:00
Thomas Nagy
c2361d54bd
Removed TaskBase.attr as it is never used
2016-03-30 21:17:26 +02:00
Thomas Nagy
ca01ddb83a
Removed an unused variable in Task.py
2016-03-25 12:03:45 +01:00
Thomas Nagy
3cbd029cc9
Task.sig_vars, Task.sig_explit_deps and Task.sig_implicit_deps return None
2016-03-25 11:50:32 +01:00
Thomas Nagy
a08aff6bff
Format debug/info records lazily
2016-03-19 14:46:22 +01:00
Thomas Nagy
6768a4cb38
Unbind task.last_cmd when the command is successful
2016-03-06 17:23:24 +01:00
Thomas Nagy
b95db27d05
Micro-optimization
2016-03-05 11:05:43 +01:00
Thomas Nagy
1524d74301
Missing line
2016-02-28 10:34:32 +01:00
Thomas Nagy
df956ed5c5
Better task cleanup logic
2016-02-28 10:13:03 +01:00
Thomas Nagy
248d89e85b
Use deques
2016-02-28 10:01:43 +01:00
Thomas Nagy
8207a878a9
Enable multiprocessing for faster subprocess execution
2016-02-25 20:03:07 +01:00
Thomas Nagy
df8e144631
Smarter detection of programs passed to the command-line
2016-02-23 22:59:29 +01:00
Thomas Nagy
7e16c7cb1e
Removed bld.returned_tasks
2016-02-15 23:52:11 +01:00
Thomas Nagy
4be840bd7a
Reduced Task size (~700B/task)
2016-02-15 00:46:35 +01:00
Thomas Nagy
2897bcfd81
Reduced Task size (~600B/task)
2016-02-15 00:46:27 +01:00
Thomas Nagy
29cd350170
Use Node.exists when possible
2016-02-09 22:12:39 +01:00
Thomas Nagy
f1f2e8f8bc
Slightly better error message for inexisting nodes
2016-02-09 22:05:12 +01:00
Thomas Nagy
6124ee6975
Removed an old and unnecessary wrapper for objects in deps_man
2016-02-09 22:03:20 +01:00
Thomas Nagy
5b82ce528c
No more 'missing node signature' errors
2016-01-28 22:45:37 +01:00
Thomas Nagy
adc1ce1375
Simplification: added Task.get_cwd()
2016-01-11 05:25:46 +01:00
Thomas Nagy
c016a5761e
Missing variable dependency in compile_fun_shell for
2016-01-11 03:10:50 +01:00
Thomas Nagy
331dd9f96c
Commands executed without a shell will merge flags of the form
2016-01-06 17:53:55 +01:00
Thomas Nagy
d23490287a
Code simplifications - use enumerate
2016-01-06 14:53:18 +01:00
Thomas Nagy
f73d3f1a2f
Misleading attribute never_skip, replaced by always_run
2015-12-25 17:54:10 +01:00
Thomas Nagy
4fdd8a520d
Task cwd must be a node object
2015-12-24 23:10:56 +01:00
Thomas Nagy
5a3a89b4de
Stop adding incompatible task data into the same dict objects
2015-12-24 18:36:48 +01:00
Thomas Nagy
06c7c09681
Provide node.exists() to increase filesystem abstraction
2015-12-24 18:36:42 +01:00
Thomas Nagy
72fda8ae36
Reduce the size of the build pickle file
2015-12-24 18:36:38 +01:00
Thomas Nagy
281148b8eb
Removed the old __eq__ and __hash__ which are not useful anymore in recent interpreters
2015-12-23 19:16:31 +01:00
Thomas Nagy
7681bddfb7
Remove Node.sig and Node.cache_sig
2015-12-23 17:55:44 +01:00
Thomas Nagy
db31168eb6
New class attribute Task.never_skip to enable tasks to be always executed (the class decorator will be phased out)
2015-12-23 17:55:44 +01:00
Thomas Nagy
2ab00f7f49
Removed Node.cache_sig
2015-12-23 17:55:44 +01:00
Thomas Nagy
6c34e2a654
Force scanner functions to run after task failures - Issue 1660
2015-11-20 17:15:33 +01:00
Thomas Nagy
c2605e4dbb
Honor chmod on subst and rule when provided - Issue 1650
2015-11-07 00:29:03 +01:00
Thomas Nagy
084d9a215d
Calculate ${SRC} and ${TGT} from user-defined folders
...
The current working directory used for expanding ${SRC} and ${TGT} is
assumed to be bld.bldnode. This change enables changing the current
working directory globally so that commands can be executed from
the 'build' folder instead of the 'variant' folder:
def build(bld):
bld.cwdx = bld.bldnode.parent
bld.cwd = bld.cwdx.abspath()
print("building from %r instead of %r" % (bld.cwdx, bld.bldnode))
...
2015-11-01 14:09:47 +01:00
Thomas Nagy
1a47ae26c2
docs
2015-10-10 17:09:49 +02:00
Thomas Nagy
a6b467d73e
Moved the command hashing logic into a utility function
2015-10-03 09:12:08 +02:00
Thomas Nagy
201b8ac38f
Enable rules mixing functions with scriptlets
2015-10-01 19:25:29 +02:00
Thomas Nagy
0e76f676be
Let compile_fun process lists of string commands
2015-09-30 23:38:33 +02:00
Thomas Nagy
b45f52165b
docs
2015-05-03 10:22:28 +02:00
Thomas Nagy
02f4e0f1c0
Fortran errors lead to broken signatures - Issue 1546
2015-03-07 02:13:22 +01:00
Thomas Nagy
517578b5d2
Keep run_str on orig_run_str to help subclasses
2015-02-19 08:58:53 +01:00
Thomas Nagy
ae3c7ee7e1
Have 'waf -ppp' display no progress bar
2015-01-20 22:05:19 +01:00
Thomas Nagy
1551b070b2
Fix and test for class names containing utf-8 characters - Python 2.7 and 3.x
2015-01-06 12:29:06 +01:00
Syl
291a3077dd
improved error message when a path contains unicode character.
...
display the path and raise the exception.
2015-01-02 20:10:56 +01:00
Thomas Nagy
7ffd53b803
Use EnvironmentError more often
2014-10-30 19:09:53 +01:00
Thomas Nagy
046c55a97e
Issue 1506
2014-10-28 22:15:52 +01:00
Thomas Nagy
388d94cca2
Ensure that Python scripts are read in the desired encoding
2014-09-28 01:30:00 +02:00
Thomas Nagy
fcc950dd46
Short build outputs by default in waf 1.8
2014-09-27 16:35:33 +02:00
Thomas Nagy
c21317c727
Issue 1453
2014-05-19 21:32:24 +02:00
Thomas Nagy
4004dd47f3
do not eliminate backslashes from scriptlet expressions when shell=False - Issue 1433
2014-04-12 14:01:10 +02:00
Thomas Nagy
ff4b88c82f
Removed unused variables from Task.py
2014-02-01 14:33:00 +01:00
Thomas Nagy
6e1e59a999
Do not print tasks that have nothing to display
2014-02-01 14:28:00 +01:00
Thomas Nagy
d413616400
The progress bar should always appear on stderr
2014-01-23 22:22:15 +01:00
Thomas Nagy
fbb7a0e720
Merge from Jerome's branch
2014-01-16 02:03:53 +01:00
Thomas Nagy
d2fcc7b7be
special case of files created in the source directory in combination with update_outputs
2013-12-18 23:21:34 +01:00
Thomas Nagy
135fed0830
Issue 1334
2013-08-17 20:24:21 +02:00
Jerome Carretero
3c00a614d7
Revert "Issue 1334 - let FOO_ST:FOO return empty when FOO_ST is empty/undefined"
...
This reverts commit d4d33bba2a
.
It breaks demos/c
2013-07-20 14:57:20 -04:00
Thomas Nagy
d4d33bba2a
Issue 1334 - let FOO_ST:FOO return empty when FOO_ST is empty/undefined
2013-07-08 19:37:42 +02:00
Thomas Nagy
5c6d626048
removed the cache from the task level, it usually degrades performance and is better implemented on the compiler level
2013-05-26 10:14:49 +02:00
Thomas Nagy
c14f00f4c1
Code mistakenly removed from the core classes
2012-09-26 18:41:58 +02:00
Thomas Nagy
5bc516a08d
Dead code: __hash__ does return the id of the current object by default
2012-09-11 00:03:54 +02:00
Thomas Nagy
a3a8eea2cb
Optimization
2012-07-31 09:49:20 +02:00
Thomas Nagy
2367a224c1
TypeError->AttributeError on Issue 1174
2012-06-20 19:12:38 +02:00
Thomas Nagy
62862a143d
Issue 1174
2012-06-20 19:10:34 +02:00
Thomas Nagy
1ae1fef31e
Provide a way to bypass the default class registration in all Task subclasses
2012-06-14 00:43:10 +02:00
Thomas Nagy
898872699d
removed the macro DLL_EXPORT for gcc/g++ on windows and cleaned up a few TODO entries
2012-04-07 10:54:40 +02:00
Thomas Nagy
81a2e68859
cleanup
2012-04-07 09:45:53 +02:00
Thomas Nagy
44308c4d10
s.split("\n") is not portable, use s.splitlines()
2012-02-26 09:43:18 +01:00
Jerome Carretero
6b3401d28e
compile_fun: allow debug output to be copy/pasted into interpreter
...
$ waf --zones=action
[2/2] cprogram: build/main.c.1.o -> build/main
18:16:04 action ['def f(tsk):', '\tenv = tsk.env', '\tgen = tsk.generator', '...']
cut & paste...
>>> x = CUT&PASTE
>>> print("\n".join(x))
def f(tsk):
env = tsk.env
gen = tsk.generator
...
2012-02-25 18:23:27 -05:00
Thomas Nagy
242869fd40
docs (replace 1.6 by 1.7)
2012-02-19 12:44:37 +01:00
Thomas Nagy
872e480abf
typo
2012-02-16 20:16:30 +01:00
Thomas Nagy
63d3442ad2
remove more except: lines
2012-02-11 14:43:07 +01:00
Thomas Nagy
5b577a9109
docs
2012-01-26 21:08:52 +01:00
Thomas Nagy
f953165688
error message improvement
2012-01-25 09:36:33 +01:00
Thomas Nagy
9fab9e0f6b
better error messages
2011-10-17 18:37:19 +02:00
Thomas Nagy
44a967e326
Initial commit
2011-09-10 11:13:51 +02:00