Place import_command() in a separate cpp file

This commit is contained in:
Alexander Karatarakis 2016-09-22 01:15:09 -07:00
parent 95a44983db
commit f26c8c8b60
4 changed files with 34 additions and 26 deletions

View File

@ -0,0 +1,30 @@
#include "vcpkg_Commands.h"
#include "vcpkg.h"
#include "vcpkg_System.h"
namespace vcpkg
{
void import_command(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths)
{
if (args.command_arguments.size() != 3)
{
System::println(System::color::error, "Error: %s requires 3 parameters", args.command);
print_example(Strings::format(R"(%s C:\path\to\CONTROLfile C:\path\to\includedir C:\path\to\projectdir)", args.command).c_str());
exit(EXIT_FAILURE);
}
const fs::path control_file_path(args.command_arguments[0]);
const fs::path include_directory(args.command_arguments[1]);
const fs::path project_directory(args.command_arguments[2]);
auto pghs = get_paragraphs(control_file_path);
Checks::check_throw(pghs.size() == 1, "Invalid control file for package");
StatusParagraph spgh;
spgh.package = BinaryParagraph(pghs[0]);
auto& control_file_data = spgh.package;
vcpkg::binary_import(paths, include_directory, project_directory, control_file_data);
exit(EXIT_SUCCESS);
}
}

View File

@ -1,8 +1,6 @@
#include "vcpkg_Commands.h"
#include <iostream>
#include "vcpkg.h"
#include "vcpkg_System.h"
#include "vcpkg_Files.h"
namespace vcpkg
{
@ -49,30 +47,6 @@ namespace vcpkg
" vcpkg " << command_and_arguments << "\n";
}
void import_command(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths)
{
if (args.command_arguments.size() != 3)
{
System::println(System::color::error, "Error: %s requires 3 parameters", args.command);
print_example(Strings::format(R"(%s C:\path\to\CONTROLfile C:\path\to\includedir C:\path\to\projectdir)", args.command).c_str());
exit(EXIT_FAILURE);
}
const fs::path control_file_path(args.command_arguments[0]);
const fs::path include_directory(args.command_arguments[1]);
const fs::path project_directory(args.command_arguments[2]);
auto pghs = get_paragraphs(control_file_path);
Checks::check_throw(pghs.size() == 1, "Invalid control file for package");
StatusParagraph spgh;
spgh.package = BinaryParagraph(pghs[0]);
auto& control_file_data = spgh.package;
vcpkg::binary_import(paths, include_directory, project_directory, control_file_data);
exit(EXIT_SUCCESS);
}
void internal_test_command(const vcpkg_cmd_arguments& /*args*/, const vcpkg_paths& /*paths*/)
{
// auto data = FormatEventData("test");

View File

@ -131,6 +131,7 @@
<ClCompile Include="..\src\commands_cache.cpp" />
<ClCompile Include="..\src\commands_create.cpp" />
<ClCompile Include="..\src\commands_edit.cpp" />
<ClCompile Include="..\src\commands_import.cpp" />
<ClCompile Include="..\src\commands_list.cpp" />
<ClCompile Include="..\src\commands_owns.cpp" />
<ClCompile Include="..\src\commands_remove.cpp" />

View File

@ -63,6 +63,9 @@
<ClCompile Include="..\src\commands_owns.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\commands_import.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\include\post_build_lint.h">