]> git.tdb.fi Git - builder.git/blobdiff - source/sourcearchivecomponent.cpp
Refactor transitive dependencies to work on all targets
[builder.git] / source / sourcearchivecomponent.cpp
diff --git a/source/sourcearchivecomponent.cpp b/source/sourcearchivecomponent.cpp
deleted file mode 100644 (file)
index b1e4279..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <msp/core/algorithm.h>
-#include "builder.h"
-#include "file.h"
-#include "sourcearchivecomponent.h"
-#include "sourcepackage.h"
-#include "tool.h"
-
-using namespace std;
-using namespace Msp;
-
-SourceArchiveComponent::SourceArchiveComponent(SourcePackage &p):
-       Component(p, p.get_name()+"-source")
-{ }
-
-void SourceArchiveComponent::create_targets() const
-{
-       Builder &builder = package.get_builder();
-
-       vector<Target *> files;
-       files.push_back(&package.get_build_file());
-
-       for(const FS::Path &s: collect_source_files())
-       {
-               FileTarget *file = builder.get_vfs().get_target(s);
-               if(!file)
-                       file = new File(builder, package, s);
-               files.push_back(file);
-       }
-
-       BuildGraph &build_graph = builder.get_build_graph();
-       for(const auto &kvp: build_graph.get_targets())
-               if(kvp.second->get_package()==&package && !kvp.second->is_buildable())
-                       if(!any_equals(files, kvp.second))
-                               files.push_back(kvp.second);
-
-       const Toolchain &toolchain = builder.get_toolchain();
-       string archive_name = package.get_name();
-       if(!package.get_version().empty())
-               archive_name += "-"+package.get_version();
-       archive_name += "-source";
-       Target *result = toolchain.get_tool("TAR").create_target(files, archive_name);
-       build_graph.get_target("archives")->add_dependency(*result);
-}