Thomas Nagy
b1baa2b8e1
Revert the args file threshold on non-win32 systems from #2214
2019-03-03 17:43:34 +01:00
Thomas Nagy
b72fabf8e5
Do not expose Task.allow_argsfile and remove allow_argsfile from non-Task class #2216
...
The class waflib.Tools.winres.rc_parser is not a subclass of waflib.Task.Task:
rc_parser -> c_preproc.c_parser -> object
2019-03-03 17:04:53 +01:00
ita1024
e3c0c1b571
Merge branch 'add-allow_argsfile-to-tasks' into 'master'
...
task: winres: allow tasks to disable @argsfile
Closes #2224
See merge request ita1024/waf!2216
2019-03-03 15:15:36 +00:00
Thomas Nagy
57377901fe
Fix 4046e48ac1
from #2214
...
TypeError: can only concatenate list
2019-02-24 10:50:44 +01:00
James Harris
9599cc532f
task: winres: allow tasks to disable @argsfile
...
Not all tools executed by tasks support the '@argsfile' syntax for
shunting commandline arguments to a file. This means that if such
commands are shunted to a file early, he command will not work. On
windows the rc.exe command is such an example, but some tools on linux
have similar limitations. In the posix case, we artifically limit our
commandline size because it is difficult/variable to caluclate what the
actual limit is (it is partially dependent on environment size). This
could artifically cause commands to fail due to commandline length when
they otherwise wouldn't.
This patch fixes this issue by adding the 'allow_argsfile' flag to the
task. This way certain task instances will be able to specify if they
are compatible with the '@argsfile' syntax or not.
2019-02-19 12:48:04 -06:00
James Harris
4046e48ac1
task: calculate correct cmdline bytes
...
The previous patches to workaround
http://support.microsoft.com/kb/830473 drastically over estimated the
number of characters in commands by treating the repr() version of the
command array as a reasonable estimator of commandline length. This
caused commands attempt to write argsfiles before they should have.
The new calculation calculates the number characters in the command
array and adds the number of spaces that would be added by ' '.join(cmd)
this provides a much closer estimate of the commandline length.
This also limits the CLI-length on non windows platforms to 200kB. This
prevents us hitting the much larger argument limits on Linux/BSD/MacOS
platforms.
2019-02-15 10:50:27 -06:00
Mickaël Schoentgen
412a9b819e
Fix all DeprecationWarning: invalid escape sequence
...
Signed-off-by: Mickaël Schoentgen <contact@tiger-222.fr>
2019-01-05 12:02:42 +01:00
Romain Le Godais
e74760c666
Fix description of before
and after
attributes of Task class.
...
Their descriptions were actually the opposite of what they really are.
2018-11-15 10:22:39 +01:00
Thomas Nagy
fc59ca785d
Limit sig_vars calls to super() to fix #2194
2018-10-03 21:28:42 +02:00
Thomas Nagy
3f4acd6ff3
Add a new task semaphore system
2018-07-29 12:13:54 +02:00
Thomas Nagy
3fc8c8c68a
Fix deadlocks affecting generated Fortran files #2187
2018-07-28 10:27:54 +02:00
Thomas Nagy
1f5e3e2d6c
Fix a regression caused by the previous change
2018-07-03 07:53:19 +02:00
Thomas Nagy
1787ec1f20
Add dependencies on scriptlet outputs
2018-07-02 19:15:09 +02:00
Thomas Nagy
1a43b608ac
Enable deep input dependencies as a task decorator
2018-02-17 18:40:29 +01:00
Thomas Nagy
d21446ff71
Update docs for 2018
2018-01-01 20:53:49 +01:00
Thomas Nagy
f5f4218cda
Set task.stdout=task.stderr for long-running tasks
2017-12-10 21:27:09 +01:00
Thomas Nagy
40fe56abcd
Have the task count start at 1 (regression)
2017-10-20 20:25:24 +02:00
fedepell
5cc784aabd
correct the documentation example for colon
2017-09-15 21:06:52 +02:00
Thomas Nagy
b5408091b3
Cleanup unused global statements
2017-09-02 23:34:15 +02:00
Thomas Nagy
755a1bf6a5
Simplify task error handling
2017-08-27 10:11:56 +02:00
Thomas Nagy
57087471c1
Remove Utils.ex_stack - use traceback.format_exc()
2017-08-19 11:54:58 +02:00
Thomas Nagy
28846d6f34
Remove one Node class assumption in Task.py
...
Tasks cannot assume that additional dependency (deps_man) belong
to the same Node object class before obtaining their signatures
2017-08-12 16:31:51 +02:00
Thomas Nagy
a550472fcb
Fix missing tg_idx_count attribute on task generators
2017-06-16 00:28:49 +02:00
Thomas Nagy
f49f162817
Rework the priority system
...
- Have Task.weight apply to the current task only
- Do not rely on object addresses to set the build order
- Introduce tg.tg_idx_count to count task generators
- Enable propagating/non-propagating weights through Task.tree_weight/Task.weight
2017-06-16 00:14:32 +02:00
Thomas Nagy
e5e8397154
Change producer.outstanding.appendleft to producer.outstanding.append
2017-06-14 19:53:01 +02:00
Thomas Nagy
23c0d41aff
Schedule tasks using a priority queue
2017-06-14 18:59:28 +02:00
Thomas Nagy
5ac6123e5e
Cleanup: Break multiple statements on multiple lines
2017-04-17 13:16:57 +02:00
Thomas Nagy
cfe9158664
Cleanup
2017-04-17 12:24:33 +02:00
Thomas Nagy
29b32f7a1a
Reflect the current build group in bld.current_group
2017-04-15 15:12:03 +02:00
Matt Selsky
b247ab1c83
Typos
2017-03-27 19:33:16 +02:00
Thomas Nagy
14197b713f
Cleanup
2017-03-02 20:43:44 +01:00
Thomas Nagy
8560c18ccb
Process a given task group exactly one
2017-02-20 19:01:33 +01:00
Thomas Nagy
63a53064a3
Provide TaskGroups to replace mem_reducer
2017-02-19 19:58:19 +01:00
Thomas Nagy
1c3c49d0fb
Simplify task.inputs/task.outputs usage
2017-02-19 11:05:44 +01:00
Thomas Nagy
d7822a04de
Make Task.Task.hcode a hashable value
2017-02-12 15:42:40 +01:00
Thomas Nagy
497f028a95
Implement a new priority system
2017-02-12 15:29:16 +01:00
Thomas Nagy
b7d93c3c4d
Update the year in headers to 2017
2017-02-11 16:13:37 +01:00
Thomas Nagy
5ac8e882e0
Remove the TaskBase class hierarchy level
2017-02-11 15:04:25 +01:00
Thomas Nagy
1a8e5c881d
Simplify task un-installation
2017-01-22 14:40:36 +01:00
Thomas Nagy
57b406aaff
Add a task status 'canceled'
...
The purpose is to skip safely the tasks that have
missing dependencies due to build errors.
2017-01-21 23:47:44 +01:00
Thomas Nagy
f1487eab44
iso8859-1 -> latin-1
2017-01-21 13:28:06 +01:00
Thomas Nagy
5c2db88730
Prevent accidental data sharing on ext_in/ext_out/before/after
2016-12-26 15:54:03 +01:00
Thomas Nagy
dbe1a4ad78
Include all vars in tuple rules #1883
2016-12-22 15:21:16 +01:00
Thomas Nagy
9be4fa2c0c
Avoid hash() and __class__ usage in Task.hash_constraints
2016-12-07 23:18:53 +01:00
Thomas Nagy
468f205bcd
Read variables from self.vars #1873
2016-12-07 19:09:30 +01:00
Thomas Nagy
ac2ebb2ccc
Remove Task.update_outputs, Task.always_run
2016-12-01 22:58:47 +01:00
Thomas Nagy
37388fda3b
Enable waf --zones=argfile to display @argfile contents
2016-10-03 14:08:42 +02:00
Jan Niklas Hasse
87419b3c6b
Less verbose output when a task failed if not running with -v
2016-09-26 12:44:23 +02:00
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