2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-22 01:46:15 +01:00
Commit Graph

150 Commits

Author SHA1 Message Date
Thomas Nagy
959d57b757
Remove the metaclass hierarchy in Python 2 2019-10-18 23:02:19 +02:00
Thomas Nagy
1068ff98ec
Waf file creation will now require Python 3 2019-10-17 20:05:48 +02:00
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