This, by itself, works as expected.
# Tupfile
: |> wget $(GOOGLETEST_URL) -q -O %o |> $(GOOGLETEST_ARCHIVE)

This, by itself, works as expected.
# Tupfile
run ./extractzip.sh $(GOOGLETEST_ARCHIVE)
# ... rest of the build

#! /bin/bash
# extractzip.sh archive.zip

# create an array of the archive contents, skipping entries for directories
mapfile -t FILES < <(zipinfo -1 $1 | grep -e "[^/]$")

for f in ${FILES[*]}
do
# create a rule to extract each file from the archive
echo ": |> unzip $1 %o |> $f {ARCHIVECONTENTS}"
done

Unfortunately, when I try to combine them to get tup to download, extract, 
and build Google Test, the process fails, because tup runs the external 
script before downloading the archive.  There doesn't appear to be a 
dependency established between the rule that downloads the archive and 
running the external script that uses it (not surprising, but it is passed 
as an argument, so I had hope).

Ultimately, I'd also like to clone/update git repos, but it seems like I 
will run into similar issues there.

This seems like a pretty small gap to fill.  Does anyone have a solution 
for this, or any thoughts?

Thanks,

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to