summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-02-03 19:40:41 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2019-02-03 19:40:41 +0000
commitb7c6cf0e3de4871bbb65742deb444ddeac3c47dc (patch)
tree0a41adc9347196f640c0c24dc538a364bab19580
parentHTTP headers are case insensitive (diff)
downloadicespider-b7c6cf0e3de4871bbb65742deb444ddeac3c47dc.tar.bz2
icespider-b7c6cf0e3de4871bbb65742deb444ddeac3c47dc.tar.xz
icespider-b7c6cf0e3de4871bbb65742deb444ddeac3c47dc.zip
Remove boost::filesystem in favour of std::filesystem
-rw-r--r--icespider/compile/Jamfile.jam9
-rw-r--r--icespider/compile/main.cpp2
-rw-r--r--icespider/compile/routeCompiler.cpp20
-rw-r--r--icespider/compile/routeCompiler.h8
-rw-r--r--icespider/core/Jamfile.jam6
-rw-r--r--icespider/core/core.cpp7
-rw-r--r--icespider/core/core.h4
-rw-r--r--icespider/fileSessions/Jamfile.jam6
-rw-r--r--icespider/fileSessions/fileSessions.cpp20
-rw-r--r--icespider/unittests/Jamfile.jam9
-rw-r--r--icespider/unittests/testApp.cpp4
-rw-r--r--icespider/unittests/testCompile.cpp4
-rw-r--r--icespider/unittests/testFileSessions.cpp24
-rw-r--r--icespider/xslt/Jamfile.jam6
-rw-r--r--icespider/xslt/xsltStreamSerializer.cpp6
-rw-r--r--icespider/xslt/xsltStreamSerializer.h6
16 files changed, 65 insertions, 76 deletions
diff --git a/icespider/compile/Jamfile.jam b/icespider/compile/Jamfile.jam
index 2021abe..f65800e 100644
--- a/icespider/compile/Jamfile.jam
+++ b/icespider/compile/Jamfile.jam
@@ -2,8 +2,7 @@ lib adhocutil : : : : <include>/usr/include/adhocutil ;
lib slicer : : : : <include>/usr/include/slicer <include>/usr/include/adhocutil ;
lib slicer-json ;
lib boost_program_options ;
-lib boost_system ;
-lib boost_filesystem ;
+lib stdc++fs ;
lib mcpp ;
lib icespider-compile :
@@ -18,8 +17,7 @@ lib icespider-compile :
<library>slicer
<library>adhocutil
<library>slicer-json
- <library>boost_system
- <library>boost_filesystem
+ <library>stdc++fs
<library>slice//Slice
<library>../common//icespider-common
<implicit-dependency>../common//icespider-common
@@ -27,8 +25,7 @@ lib icespider-compile :
<library>..//pthread
<library>mcpp
: :
- <library>boost_system
- <library>boost_filesystem
+ <library>stdc++fs
<library>../common//icespider-common
;
diff --git a/icespider/compile/main.cpp b/icespider/compile/main.cpp
index 3d5311f..a6bc226 100644
--- a/icespider/compile/main.cpp
+++ b/icespider/compile/main.cpp
@@ -8,7 +8,7 @@ main(int c, char ** v)
{
bool showHelp;
IceSpider::Compile::RouteCompiler rc;
- boost::filesystem::path input, output;
+ std::filesystem::path input, output;
po::options_description opts("IceSpider compile options");
opts.add_options()
("input", po::value(&input), "Input .json file")
diff --git a/icespider/compile/routeCompiler.cpp b/icespider/compile/routeCompiler.cpp
index 6d8f7e1..b7db3ca 100644
--- a/icespider/compile/routeCompiler.cpp
+++ b/icespider/compile/routeCompiler.cpp
@@ -5,7 +5,7 @@
#include <Slice/Preprocessor.h>
#include <scopeExit.h>
#include <fprintbf.h>
-#include <boost/filesystem/convenience.hpp>
+#include <filesystem>
#include <boost/algorithm/string/replace.hpp>
#include <boost/algorithm/string/join.hpp>
#include <Slice/CPlusPlusUtil.h>
@@ -16,11 +16,11 @@ namespace IceSpider {
namespace Compile {
RouteCompiler::RouteCompiler()
{
- searchPath.push_back(boost::filesystem::current_path());
+ searchPath.push_back(std::filesystem::current_path());
}
RouteConfigurationPtr
- RouteCompiler::loadConfiguration(const boost::filesystem::path & input) const
+ RouteCompiler::loadConfiguration(const std::filesystem::path & input) const
{
auto deserializer = Slicer::DeserializerPtr(Slicer::FileDeserializerFactory::createNew(input.extension().string(), input));
return Slicer::DeserializeAnyWith<RouteConfigurationPtr>(deserializer);
@@ -147,11 +147,11 @@ namespace IceSpider {
}
void
- RouteCompiler::compile(const boost::filesystem::path & input, const boost::filesystem::path & output) const
+ RouteCompiler::compile(const std::filesystem::path & input, const std::filesystem::path & output) const
{
auto configuration = loadConfiguration(input);
auto units = loadUnits(configuration);
- auto outputh = boost::filesystem::change_extension(output, ".h");
+ auto outputh = std::filesystem::path(output).replace_extension(".h");
applyDefaults(configuration, units);
AdHoc::ScopeExit uDestroy([&units]() {
@@ -172,8 +172,8 @@ namespace IceSpider {
},
NULL,
[&output,&outputh]() {
- boost::filesystem::remove(output);
- boost::filesystem::remove(outputh);
+ std::filesystem::remove(output);
+ std::filesystem::remove(outputh);
});
processConfiguration(out, outh, output.stem().string(), configuration, units);
}
@@ -184,9 +184,9 @@ namespace IceSpider {
RouteCompiler::Units units;
AdHoc::ScopeExit uDestroy;
for (const auto & slice : c->slices) {
- boost::filesystem::path realSlice;
+ std::filesystem::path realSlice;
for (const auto & p : searchPath) {
- if (boost::filesystem::exists(p / slice)) {
+ if (std::filesystem::exists(p / slice)) {
realSlice = p / slice;
break;
}
@@ -294,7 +294,7 @@ namespace IceSpider {
fprintf(outputh, "\n// Interface headers.\n");
for (const auto & s : c->slices) {
- boost::filesystem::path slicePath(s);
+ std::filesystem::path slicePath(s);
slicePath.replace_extension(".h");
fprintbf(outputh, "#include <%s>\n", slicePath.string());
}
diff --git a/icespider/compile/routeCompiler.h b/icespider/compile/routeCompiler.h
index b8bb6b9..7a2b7ba 100644
--- a/icespider/compile/routeCompiler.h
+++ b/icespider/compile/routeCompiler.h
@@ -1,7 +1,7 @@
#ifndef ICESPIDER_COMPILE_ROURTECOMPILER_H
#define ICESPIDER_COMPILE_ROURTECOMPILER_H
-#include <boost/filesystem/path.hpp>
+#include <filesystem>
#include <visibility.h>
#include <vector>
#include <routes.h>
@@ -16,13 +16,13 @@ namespace IceSpider {
RouteCompiler();
- RouteConfigurationPtr loadConfiguration(const boost::filesystem::path &) const;
+ RouteConfigurationPtr loadConfiguration(const std::filesystem::path &) const;
Units loadUnits(RouteConfigurationPtr) const;
void applyDefaults(RouteConfigurationPtr, const Units & u) const;
- void compile(const boost::filesystem::path & input, const boost::filesystem::path & output) const;
+ void compile(const std::filesystem::path & input, const std::filesystem::path & output) const;
- std::vector<boost::filesystem::path> searchPath;
+ std::vector<std::filesystem::path> searchPath;
private:
typedef std::map<std::string, int> Proxies;
diff --git a/icespider/core/Jamfile.jam b/icespider/core/Jamfile.jam
index 216127e..2f2f733 100644
--- a/icespider/core/Jamfile.jam
+++ b/icespider/core/Jamfile.jam
@@ -1,7 +1,6 @@
lib adhocutil : : : : <include>/usr/include/adhocutil ;
lib slicer : : : : <include>/usr/include/slicer ;
-lib boost_system ;
-lib boost_filesystem ;
+lib stdc++fs ;
lib icespider-core :
[ glob-tree *.c *.cpp *.ice : bin ]
@@ -9,8 +8,7 @@ lib icespider-core :
<library>../common//icespider-common
<library>adhocutil
<library>slicer
- <library>boost_system
- <library>boost_filesystem
+ <library>stdc++fs
<implicit-dependency>../common
: :
<include>.
diff --git a/icespider/core/core.cpp b/icespider/core/core.cpp
index c5b5a92..50adcab 100644
--- a/icespider/core/core.cpp
+++ b/icespider/core/core.cpp
@@ -2,7 +2,8 @@
#include "exceptions.h"
#include <Ice/Initialize.h>
#include <Ice/ObjectAdapter.h>
-#include <boost/filesystem/convenience.hpp>
+#include <filesystem>
+#include <cxxabi.h>
#include <factory.impl.h>
#include <compileTimeFormatter.h>
@@ -10,7 +11,7 @@ INSTANTIATEFACTORY(IceSpider::Plugin, Ice::CommunicatorPtr, Ice::PropertiesPtr);
INSTANTIATEPLUGINOF(IceSpider::ErrorHandler);
namespace IceSpider {
- const boost::filesystem::path Core::defaultConfig("config/ice.properties");
+ const std::filesystem::path Core::defaultConfig("config/ice.properties");
Core::Core(const Ice::StringSeq & args)
{
@@ -18,7 +19,7 @@ namespace IceSpider {
id.properties = Ice::createProperties();
id.properties->parseCommandLineOptions("", args);
auto config = id.properties->getPropertyWithDefault("IceSpider.Config", defaultConfig.string());
- if (boost::filesystem::exists(config)) {
+ if (std::filesystem::exists(config)) {
id.properties->load(config);
}
communicator = Ice::initialize(id);
diff --git a/icespider/core/core.h b/icespider/core/core.h
index f6fbd6e..08b649e 100644
--- a/icespider/core/core.h
+++ b/icespider/core/core.h
@@ -5,7 +5,7 @@
#include <vector>
#include "irouteHandler.h"
#include <Ice/Communicator.h>
-#include <boost/filesystem/path.hpp>
+#include <filesystem>
#include <plugins.h>
namespace IceSpider {
@@ -32,7 +32,7 @@ namespace IceSpider {
Ice::CommunicatorPtr communicator;
Ice::ObjectAdapterPtr pluginAdapter;
- static const boost::filesystem::path defaultConfig;
+ static const std::filesystem::path defaultConfig;
private:
void defaultErrorReport(IHttpRequest * request, const std::exception & ex) const;
diff --git a/icespider/fileSessions/Jamfile.jam b/icespider/fileSessions/Jamfile.jam
index 1a457cd..8cd6525 100644
--- a/icespider/fileSessions/Jamfile.jam
+++ b/icespider/fileSessions/Jamfile.jam
@@ -1,12 +1,10 @@
lib adhocutil : : : : <include>/usr/include/adhocutil ;
-lib boost_system ;
-lib boost_filesystem ;
+lib stdc++fs ;
lib icespider-filesessions :
[ glob *.cpp ]
:
- <library>boost_system
- <library>boost_filesystem
+ <library>stdc++fs
<library>adhocutil
<library>../core//icespider-core
<implicit-dependency>../core//icespider-core
diff --git a/icespider/fileSessions/fileSessions.cpp b/icespider/fileSessions/fileSessions.cpp
index 7791d3c..e1c3b5c 100644
--- a/icespider/fileSessions/fileSessions.cpp
+++ b/icespider/fileSessions/fileSessions.cpp
@@ -7,7 +7,7 @@
#include <sys/stat.h>
#include <sys/mman.h>
#include <factory.impl.h>
-#include <boost/filesystem/operations.hpp>
+#include <filesystem>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <Ice/OutputStream.h>
@@ -23,8 +23,8 @@ namespace IceSpider {
duration(p->getPropertyAsIntWithDefault("IceSpider.FileSessions.Duration", 3600))
{
if (!root.empty())
- if (!boost::filesystem::exists(root))
- boost::filesystem::create_directories(root);
+ if (!std::filesystem::exists(root))
+ std::filesystem::create_directories(root);
}
~FileSessions()
@@ -59,7 +59,7 @@ namespace IceSpider {
void destroySession(const ::std::string id, const ::Ice::Current &) override
{
try {
- boost::filesystem::remove(root / id);
+ std::filesystem::remove(root / id);
}
catch (const std::exception & e) {
throw SessionError(e.what());
@@ -83,7 +83,7 @@ namespace IceSpider {
SessionPtr load(const std::string & id)
{
auto path = root / id;
- if (!boost::filesystem::exists(path)) return NULL;
+ if (!std::filesystem::exists(path)) return NULL;
try {
AdHoc::FileUtils::MemMap f(path);
sysassert(flock(f.fh, LOCK_SH), -1);
@@ -104,10 +104,10 @@ namespace IceSpider {
void removeExpired()
{
- if (root.empty() || !boost::filesystem::exists(root)) return;
- boost::filesystem::directory_iterator di(root);
- while (di != boost::filesystem::directory_iterator()) {
- auto s = load(di->path().leaf().string());
+ if (root.empty() || !std::filesystem::exists(root)) return;
+ std::filesystem::directory_iterator di(root);
+ while (di != std::filesystem::directory_iterator()) {
+ auto s = load(di->path());
if (s && isExpired(s)) {
destroySession(s->id, Ice::Current());
}
@@ -131,7 +131,7 @@ namespace IceSpider {
}
Ice::CommunicatorPtr ic;
- const boost::filesystem::path root;
+ const std::filesystem::path root;
const Ice::Int duration;
};
}
diff --git a/icespider/unittests/Jamfile.jam b/icespider/unittests/Jamfile.jam
index 43e3d82..fc2d275 100644
--- a/icespider/unittests/Jamfile.jam
+++ b/icespider/unittests/Jamfile.jam
@@ -22,8 +22,7 @@ lib slicer : : : : <include>/usr/include/slicer ;
lib slicer-json : : : : <include>/usr/include/slicer ;
lib slicer-xml : : : : <include>/usr/include/slicer ;
lib boost_utf : : <name>boost_unit_test_framework ;
-lib boost_system ;
-lib boost_filesystem ;
+lib stdc++fs ;
lib dl ;
path-constant me : . ;
@@ -109,8 +108,7 @@ run
<library>../common//icespider-common
<library>../core//icespider-core
<implicit-dependency>../core//icespider-core
- <library>boost_system
- <library>boost_filesystem
+ <library>stdc++fs
<library>slicer
<library>slicer-json
<library>adhocutil
@@ -126,8 +124,7 @@ run
<library>../fileSessions//icespider-filesessions
<library>../common//icespider-common
<library>testCommon
- <library>boost_system
- <library>boost_filesystem
+ <library>stdc++fs
<library>../core//icespider-core
<implicit-dependency>../core//icespider-core
;
diff --git a/icespider/unittests/testApp.cpp b/icespider/unittests/testApp.cpp
index 3bfcd8d..e76e85c 100644
--- a/icespider/unittests/testApp.cpp
+++ b/icespider/unittests/testApp.cpp
@@ -11,7 +11,7 @@
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/predicate.hpp>
-#include <boost/filesystem/operations.hpp>
+#include <filesystem>
#include <definedDirs.h>
#include <slicer/slicer.h>
#include <xml/serializer.h>
@@ -25,7 +25,7 @@ using namespace IceSpider;
static void forceEarlyChangeDir() __attribute__((constructor(101)));
void forceEarlyChangeDir()
{
- boost::filesystem::current_path(XSTR(ROOT));
+ std::filesystem::current_path(XSTR(ROOT));
}
BOOST_AUTO_TEST_CASE( testLoadConfiguration )
diff --git a/icespider/unittests/testCompile.cpp b/icespider/unittests/testCompile.cpp
index 7b451bf..3677207 100644
--- a/icespider/unittests/testCompile.cpp
+++ b/icespider/unittests/testCompile.cpp
@@ -14,7 +14,7 @@ using namespace IceSpider;
static void forceEarlyChangeDir() __attribute__((constructor(101)));
void forceEarlyChangeDir()
{
- boost::filesystem::current_path(XSTR(ROOT));
+ std::filesystem::current_path(XSTR(ROOT));
}
class CoreFixture {
@@ -23,7 +23,7 @@ class CoreFixture {
modeDir(binDir.lexically_relative(rootDir / "bin" / "testCompile.test"))
{
}
- boost::filesystem::path modeDir;
+ std::filesystem::path modeDir;
};
namespace std {
diff --git a/icespider/unittests/testFileSessions.cpp b/icespider/unittests/testFileSessions.cpp
index 119586e..69e4d01 100644
--- a/icespider/unittests/testFileSessions.cpp
+++ b/icespider/unittests/testFileSessions.cpp
@@ -20,14 +20,14 @@ class TestCore : public IceSpider::CoreWithDefaultRouter {
root(communicator->getProperties()->getProperty("IceSpider.FileSessions.Path"))
{
}
- const boost::filesystem::path root;
+ const std::filesystem::path root;
};
BOOST_AUTO_TEST_CASE( clear )
{
TestCore tc;
- if (boost::filesystem::exists(tc.root)) {
- boost::filesystem::remove_all(tc.root);
+ if (std::filesystem::exists(tc.root)) {
+ std::filesystem::remove_all(tc.root);
}
}
@@ -44,11 +44,11 @@ BOOST_AUTO_TEST_CASE( createAndDestroy )
{
auto prx = this->getProxy<IceSpider::SessionManager>();
auto s = prx->createSession();
- BOOST_REQUIRE(boost::filesystem::exists(root / s->id));
+ BOOST_REQUIRE(std::filesystem::exists(root / s->id));
BOOST_REQUIRE_EQUAL(0, s->duration);
BOOST_REQUIRE_EQUAL(time(NULL), s->lastUsed);
prx->destroySession(s->id);
- BOOST_REQUIRE(!boost::filesystem::exists(root / s->id));
+ BOOST_REQUIRE(!std::filesystem::exists(root / s->id));
}
BOOST_AUTO_TEST_CASE( createAndChangeRestore )
@@ -69,32 +69,32 @@ BOOST_AUTO_TEST_CASE( createAndExpire )
{
auto prx = this->getProxy<IceSpider::SessionManager>();
auto s = prx->createSession();
- BOOST_REQUIRE(boost::filesystem::exists(root / s->id));
+ BOOST_REQUIRE(std::filesystem::exists(root / s->id));
BOOST_REQUIRE_EQUAL(0, s->duration);
BOOST_REQUIRE_EQUAL(time(NULL), s->lastUsed);
usleep(1001000);
- BOOST_REQUIRE(boost::filesystem::exists(root / s->id));
+ BOOST_REQUIRE(std::filesystem::exists(root / s->id));
BOOST_REQUIRE(!prx->getSession(s->id));
- BOOST_REQUIRE(!boost::filesystem::exists(root / s->id));
+ BOOST_REQUIRE(!std::filesystem::exists(root / s->id));
}
BOOST_AUTO_TEST_CASE( missing )
{
auto prx = this->getProxy<IceSpider::SessionManager>();
BOOST_REQUIRE(!prx->getSession("missing"));
- BOOST_REQUIRE(!boost::filesystem::exists(root / "missing"));
+ BOOST_REQUIRE(!std::filesystem::exists(root / "missing"));
}
BOOST_AUTO_TEST_CASE( createAndLeave )
{
auto prx = this->getProxy<IceSpider::SessionManager>();
auto s = prx->createSession();
- BOOST_REQUIRE(boost::filesystem::exists(root / s->id));
+ BOOST_REQUIRE(std::filesystem::exists(root / s->id));
}
BOOST_AUTO_TEST_CASE( left )
{
- BOOST_REQUIRE(!boost::filesystem::is_empty(root));
+ BOOST_REQUIRE(!std::filesystem::is_empty(root));
}
BOOST_AUTO_TEST_CASE( expire )
@@ -107,6 +107,6 @@ BOOST_AUTO_TEST_SUITE_END();
BOOST_AUTO_TEST_CASE( empty )
{
TestCore tc;
- BOOST_REQUIRE(boost::filesystem::is_empty(tc.root));
+ BOOST_REQUIRE(std::filesystem::is_empty(tc.root));
}
diff --git a/icespider/xslt/Jamfile.jam b/icespider/xslt/Jamfile.jam
index eacdda4..6f11c68 100644
--- a/icespider/xslt/Jamfile.jam
+++ b/icespider/xslt/Jamfile.jam
@@ -1,7 +1,6 @@
lib adhocutil : : : : <include>/usr/include/adhocutil ;
lib slicer-xml : : : : <include>/usr/include/slicer ;
-lib boost_system ;
-lib boost_filesystem ;
+lib stdc++fs ;
lib xslt ;
lib exslt ;
@@ -10,8 +9,7 @@ lib icespider-xslt :
:
<library>adhocutil
<library>slicer-xml
- <library>boost_system
- <library>boost_filesystem
+ <library>stdc++fs
<library>xslt
<library>exslt
<library>../..//libxmlpp
diff --git a/icespider/xslt/xsltStreamSerializer.cpp b/icespider/xslt/xsltStreamSerializer.cpp
index 5214ab3..72dead1 100644
--- a/icespider/xslt/xsltStreamSerializer.cpp
+++ b/icespider/xslt/xsltStreamSerializer.cpp
@@ -2,7 +2,7 @@
#include <libxslt/xsltInternals.h>
#include <libxml/HTMLtree.h>
#include <factory.impl.h>
-#include <boost/filesystem/convenience.hpp>
+#include <filesystem>
namespace IceSpider {
static int xmlstrmclosecallback(void * context)
@@ -19,7 +19,7 @@ namespace IceSpider {
XsltStreamSerializer::IceSpiderFactory::IceSpiderFactory(const char * path) :
stylesheetPath(path),
- stylesheetWriteTime(0),
+ stylesheetWriteTime(std::filesystem::file_time_type::min()),
stylesheet(nullptr)
{
}
@@ -32,7 +32,7 @@ namespace IceSpider {
Slicer::SerializerPtr
XsltStreamSerializer::IceSpiderFactory::create(std::ostream & strm) const
{
- auto newMtime = boost::filesystem::last_write_time(stylesheetPath);
+ auto newMtime = std::filesystem::last_write_time(stylesheetPath);
if (newMtime != stylesheetWriteTime) {
if (stylesheet) {
xsltFreeStylesheet(stylesheet);
diff --git a/icespider/xslt/xsltStreamSerializer.h b/icespider/xslt/xsltStreamSerializer.h
index eb432fb..dae6ac3 100644
--- a/icespider/xslt/xsltStreamSerializer.h
+++ b/icespider/xslt/xsltStreamSerializer.h
@@ -4,7 +4,7 @@
#include <slicer/xml/serializer.h>
#include <visibility.h>
#include <libxslt/transform.h>
-#include <boost/filesystem/path.hpp>
+#include <filesystem>
namespace IceSpider {
class DLL_PUBLIC XsltStreamSerializer : public Slicer::XmlDocumentSerializer {
@@ -17,8 +17,8 @@ namespace IceSpider {
Slicer::SerializerPtr create(std::ostream &) const override;
private:
- const boost::filesystem::path stylesheetPath;
- mutable std::time_t stylesheetWriteTime;
+ const std::filesystem::path stylesheetPath;
+ mutable std::filesystem::file_time_type stylesheetWriteTime;
mutable xsltStylesheet * stylesheet;
};