X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftar.cpp;h=a85ee3d4ad01b1c5b07f905204e6054456515528;hb=0e34eb4b0de804174b9ea3e91cbc3ee0063518c6;hp=82330caa9762f34531be65b56fcffcdd2b2eb3f6;hpb=338eefb513953ae55e8e3614c009c242ba8ad74e;p=builder.git diff --git a/source/tar.cpp b/source/tar.cpp index 82330ca..a85ee3d 100644 --- a/source/tar.cpp +++ b/source/tar.cpp @@ -19,11 +19,10 @@ Target *Tar::create_target(const list &sources, const string &arg) con { if(!sources.front()->get_package()) throw invalid_argument("Tar::create_target"); - const SourcePackage &src_pkg = dynamic_cast(*sources.front()->get_package()); - TarBall *tarball = new TarBall(builder, src_pkg, arg); + TarBall *tarball = new TarBall(builder, *sources.front()->get_package(), arg); for(list::const_iterator i=sources.begin(); i!=sources.end(); ++i) - tarball->add_depend(*i); + tarball->add_depend(**i); return tarball; } @@ -38,9 +37,7 @@ Task *Tar::run(const Target &target) const Tar::Worker::Worker(const TarBall &tb): tarball(tb) -{ - launch(); -} +{ } void Tar::Worker::main() { @@ -48,8 +45,8 @@ void Tar::Worker::main() FS::Path basedir = FS::basepart(FS::basename(tarball.get_path())); IO::File out(tarball.get_path().str(), IO::M_WRITE); - const TargetList &deps = tarball.get_depends(); - for(TargetList::const_iterator i=deps.begin(); i!=deps.end(); ++i) + const Target::Dependencies &deps = tarball.get_depends(); + for(Target::Dependencies::const_iterator i=deps.begin(); i!=deps.end(); ++i) { FileTarget *ft = dynamic_cast(*i); if(!ft)