2010-12-19 01:38:38 -08:00
|
|
|
import sys, os
|
|
|
|
|
|
|
|
|
|
import vars_init
|
|
|
|
|
vars_init.init([])
|
|
|
|
|
|
{ood,sources,targets}: fix relative paths; turn missing targets into sources.
When we check dependencies and a previously-is_generated dependency
existed before, but no longer does, forget that it was is_generated.
This slightly improves the situation where as a project evolves, a file
that used to be a target gets removed, and then later is re-added as a
static source file. (It doesn't fix the other variant, where a file is
changed from target to source in a single atomic change, and is never
missing. That one will be trickier to handle.)
While adding a test for this behaviour, I discovered that redo-sources,
redo-targets, and redo-ood were reporting their output relative to
STARTDIR instead of relative to $PWD, so fix that too.
2018-11-23 18:20:32 -05:00
|
|
|
import state, vars
|
Raw logs contain @@REDO lines instead of formatted data.
This makes them more reliable to parse. redo-log can parse each line,
format and print it, then recurse if necessary. This got a little ugly
because I wanted 'redo --raw-logs' to work, which we want to format the
output nicely, but not call redo-log.
(As a result, --raw-logs has a different meaning to redo and
redo-log, which is kinda dumb. I should fix that.)
As an added bonus, redo-log now handles indenting of recursive logs, so
if the build was a -> a/b -> a/b/c, and you look at the log for a/b, it
can still start at the top level indentation.
2018-11-13 04:05:42 -05:00
|
|
|
from logs import err
|
2010-12-19 01:38:38 -08:00
|
|
|
|
|
|
|
|
|
2018-12-02 23:15:37 -05:00
|
|
|
def main():
|
|
|
|
|
if len(sys.argv[1:]) != 0:
|
|
|
|
|
err('%s: no arguments expected.\n' % sys.argv[0])
|
|
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
|
|
cwd = os.getcwd()
|
|
|
|
|
for f in state.files():
|
|
|
|
|
if f.is_source():
|
|
|
|
|
print state.relpath(os.path.join(vars.BASE, f.name), cwd)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
main()
|