+ Component *source_tarball;
+ Config config;
+ mutable Cache cache;
+
+public:
+ SourcePackage(Builder &, const std::string &, const Msp::FS::Path &);
+
+ const std::string &get_version() const { return version; }
+ const std::string &get_interface_version() const { return interface_version; }
+ const std::string &get_description() const { return description; }
+ FileTarget &get_build_file() const { return *build_file; }
+ const Msp::FS::Path &get_source_directory() const { return source_dir; }
+ Msp::FS::Path get_temp_dir() const;
+ Msp::FS::Path get_out_dir() const;
+ const ComponentList &get_components() const { return components; }
+ const Config &get_config() const { return config; }
+ bool match_feature(const std::string &) const;
+ void set_build_type(const BuildType &);
+ const BuildInfo &get_build_info() const { return build_info; }
+ Builder &get_builder() const { return builder; }
+
+ Cache &get_cache() const { return cache; }
+private:
+ virtual void do_prepare();