Skip to content

Commit 8ea6eaa

Browse files
committed
Remove cppan driver.
1 parent f182bd2 commit 8ea6eaa

7 files changed

Lines changed: 29 additions & 137 deletions

File tree

cppan.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ projects:
127127
dependencies:
128128
- builder
129129
- driver.cpp
130-
- driver.cppan
131130
- pvt.cppan.demo.giovannidicanio.winreg: master
132131
- name: pvt.egorpugin.primitives.sw.main
133132
version: master
@@ -206,21 +205,6 @@ projects:
206205
post_target: |
207206
cppan_flex_bison_internal(src/driver/cpp/bazel/lexer.ll PARSERS src/driver/cpp/bazel/grammar.yy)
208207
209-
driver.cppan:
210-
type: library
211-
#static_only: true
212-
api_name: SW_DRIVER_CPPAN_API
213-
#export_if_static: true
214-
215-
files:
216-
- include/sw/driver/cppan/.*
217-
- src/driver/cppan/.*
218-
219-
include_directories:
220-
- include
221-
222-
dependencies:
223-
- builder
224208
225209
builder:
226210
type: library

include/sw/driver/cppan/driver.h

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/client/client.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include <sw/builder/build.h>
1818
#include <sw/builder/driver.h>
1919
#include <sw/driver/cpp/driver.h>
20-
#include <sw/driver/cppan/driver.h>
2120
#include <jumppad.h>
2221

2322
//#include <args.hxx>
@@ -52,7 +51,6 @@ bool bConsoleMode = true;
5251
bool bUseSystemPause = false;
5352

5453
namespace sw::driver::cpp { SW_REGISTER_PACKAGE_DRIVER(CppDriver); }
55-
namespace sw::driver::cppan { SW_REGISTER_PACKAGE_DRIVER(CppanDriver); }
5654

5755
/*
5856
// check args here to see if we want gui or not!
@@ -553,6 +551,7 @@ SUBCOMMAND_DECL(test)
553551
extern ::cl::opt<bool> dry_run;
554552
SUBCOMMAND_DECL(update)
555553
{
554+
getPackageStore() = sw::PackageStore();
556555
dry_run = true;
557556
build_arg = build_arg_update.getValue();
558557
cli_build();

src/driver/cppan/driver.cpp

Lines changed: 0 additions & 70 deletions
This file was deleted.

src/manager/resolver.cpp

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -262,17 +262,35 @@ void Resolver::add_dep(Dependencies &dd, const PackageId &d)
262262

263263
void Resolver::resolve(const UnresolvedPackages &deps, std::function<void()> resolve_action)
264264
{
265-
if (!resolve_action)
266-
throw std::logic_error("Empty resolve action!");
267-
268265
if (getPackageStore().use_lock_file)
269266
{
267+
UnresolvedPackages deps2;
270268
for (auto &d : deps)
271-
add_dep(download_dependencies_, getPackageStore().resolved_packages[d]);
269+
{
270+
auto &up = getPackageStore().resolved_packages;
271+
auto i = up.find(d);
272+
if (i == up.end())
273+
{
274+
deps2.insert(d);
275+
LOG_INFO(logger, "new dependency detected: " + d.toString());
276+
//throw std::runtime_error("unresolved package from lock file: " + d.toString());
277+
}
278+
add_dep(download_dependencies_, i->second);
279+
}
280+
if (!deps2.empty())
281+
resolve1(deps2, resolve_action);
272282
resolve_action();
273283
return;
274284
}
275285

286+
resolve1(deps, resolve_action);
287+
}
288+
289+
void Resolver::resolve1(const UnresolvedPackages &deps, std::function<void()> resolve_action)
290+
{
291+
if (!resolve_action)
292+
throw std::logic_error("Empty resolve action!");
293+
276294
// ref to not invalidate all ptrs
277295
auto &us = Settings::get_user_settings();
278296
auto cr = us.remotes.begin();
@@ -288,7 +306,8 @@ void Resolver::resolve(const UnresolvedPackages &deps, std::function<void()> res
288306
{
289307
if (us.remotes.size() > 1)
290308
LOG_INFO(logger, "Trying " + current_remote->name + " remote");
291-
download_dependencies_ = getDependenciesFromRemote(deps, current_remote);
309+
auto dd = getDependenciesFromRemote(deps, current_remote);
310+
download_dependencies_.insert(dd.begin(), dd.end());
292311
}
293312
catch (const std::exception &e)
294313
{
@@ -315,7 +334,8 @@ void Resolver::resolve(const UnresolvedPackages &deps, std::function<void()> res
315334
{
316335
try
317336
{
318-
download_dependencies_ = getDependenciesFromDb(deps, current_remote);
337+
auto dd = getDependenciesFromDb(deps, current_remote);
338+
download_dependencies_.insert(dd.begin(), dd.end());
319339
}
320340
catch (std::exception &e)
321341
{

src/manager/resolver.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class SW_MANAGER_API Resolver
6262
void download_and_unpack();
6363

6464
void resolve(const UnresolvedPackages &deps, std::function<void()> resolve_action);
65+
void resolve1(const UnresolvedPackages &deps, std::function<void()> resolve_action);
6566
void download(const ExtendedPackageData &d, const path &fn);
6667
static void add_dep(Dependencies &dd, const PackageId &d);
6768
};

sw.cpp

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,6 @@ void build(Solution &s)
9797
c->BigObj = true;
9898
#endif
9999

100-
auto &cppan_driver = p.addTarget<LibraryTarget>("driver.cppan");
101-
cppan_driver.ApiName = "SW_DRIVER_CPPAN_API";
102-
cppan_driver.ExportIfStatic = true;
103-
cppan_driver.CPPVersion = CPPLanguageStandard::CPP17;
104-
cppan_driver.Public += builder;
105-
cppan_driver += "src/driver/cppan/.*"_rr, "include/sw/driver/cppan/.*"_rr;
106-
cppan_driver.Public += "include"_idir, "src/driver/cppan"_idir;
107-
108100
auto &tools = p.addDirectory("tools");
109101
auto &self_builder = tools.addTarget<ExecutableTarget>("self_builder");
110102
self_builder.PackageDefinitions = true;
@@ -134,7 +126,7 @@ void build(Solution &s)
134126
client += "src/client/.*"_rr;
135127
client += "src/client"_idir;
136128
client.CPPVersion = CPPLanguageStandard::CPP17;
137-
client += cpp_driver, cppan_driver,
129+
client += cpp_driver,
138130
"pub.egorpugin.primitives.sw.main-master"_dep,
139131
"org.sw.demo.giovannidicanio.winreg-master"_dep;
140132

0 commit comments

Comments
 (0)