gboolean post_parse() { if (file_ != 0) { if (tofile_ == 0 && todir_ == 0) { log::errorf("One of \"tofile\" or \"todir\" must be specified with \"file\"\n"); return FALSE; } } else if (filesets_.first() != 0) { if (tofile_ != 0) { log::errorf("Only \"todir\" is allowed with \"filesets\"\n"); return FALSE; } if (todir_ == 0) { log::errorf("Must use \"todir\" is \"filesets\"\n"); return FALSE; } } else if (file_ == 0 && filesets_.first() == 0) { log::errorf("At least one of \"file\" or \"<fileset>\" must be present\n"); return FALSE; } if (mapper_ == 0) mapper_ = mapper_t::create("identity", 0, 0); return TRUE; }
gboolean exec() { list_iterator_t<fileset_t> iter; result_ = TRUE; ncopied_ = 0; exp_todir_ = expand(todir_); if (file_ != 0) { string_var expfile = expand(file_); copy_one(expfile, this); } /* execute for <fileset> children */ for (iter = filesets_.first() ; iter != 0 ; ++iter) (*iter)->apply(project_->properties(), copy_one, this); exp_todir_ = (char*)0; return result_; }