aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-04-29 12:57:33 +0200
committerdec05eba <dec05eba@protonmail.com>2018-04-29 12:57:37 +0200
commit8d3a83a20a57cd505b2f98a542903a3aee0c2b45 (patch)
treef22a67990a9b9f6f0729c4466124a8c10b2d4228 /src
parent34563dda0ccfc34ce62f0bfcfc20f2b0fa48833e (diff)
Change sibs cache directory to standard one, remove library archive when it has been extracted
Diffstat (limited to 'src')
-rw-r--r--src/CmakeModule.cpp2
-rw-r--r--src/GlobalLib.cpp11
-rw-r--r--src/Package.cpp2
-rw-r--r--src/main.cpp4
4 files changed, 11 insertions, 8 deletions
diff --git a/src/CmakeModule.cpp b/src/CmakeModule.cpp
index 3beb792..99be269 100644
--- a/src/CmakeModule.cpp
+++ b/src/CmakeModule.cpp
@@ -19,7 +19,7 @@ namespace sibs
if (!globalLibDirResult)
return Result<bool>::Err(globalLibDirResult);
FileString globalLibDir = globalLibDirResult.unwrap();
- globalLibDir += TINYDIR_STRING("/.sibs/lib");
+ globalLibDir += TINYDIR_STRING("/.cache/sibs/lib");
Result<bool> createGlobalLibDirResult = createDirectoryRecursive(globalLibDir.c_str());
if(createGlobalLibDirResult.isErr())
return createGlobalLibDirResult;
diff --git a/src/GlobalLib.cpp b/src/GlobalLib.cpp
index 8618cfd..c577a4a 100644
--- a/src/GlobalLib.cpp
+++ b/src/GlobalLib.cpp
@@ -282,13 +282,13 @@ namespace sibs
if (!libPathResult)
return Result<bool>::Err(libPathResult);
FileString libPath = libPathResult.unwrap();
- libPath += TINYDIR_STRING("/.sibs/lib/");
+ libPath += TINYDIR_STRING("/.cache/sibs/lib/");
libPath += toFileString(dependency->name);
libPath += TINYDIR_STRING("/");
libPath += toFileString(dependency->version);
FileString libArchivedFilePath = libPathResult.unwrap();
- libArchivedFilePath += TINYDIR_STRING("/.sibs/archive/");
+ libArchivedFilePath += TINYDIR_STRING("/.cache/sibs/archive/");
libArchivedFilePath += toFileString(dependency->name);
Result<bool> createArchiveDirResult = createDirectoryRecursive(libArchivedFilePath.c_str());
if(!createArchiveDirResult)
@@ -305,7 +305,10 @@ namespace sibs
if(!createLibDirResult)
return createLibDirResult;
- return Archive::extract(libArchivedFilePath.c_str(), libPath.c_str());
+ Result<bool> archiveExtractResult = Archive::extract(libArchivedFilePath.c_str(), libPath.c_str());
+ // We have extracted the archive, we dont need to cache it. If remove fails, it doesn't really matter, user can remove it himself
+ remove(libArchivedFilePath.c_str());
+ return archiveExtractResult;
}
Result<bool> GlobalLib::downloadDependency(GitDependency *dependency)
@@ -314,7 +317,7 @@ namespace sibs
if (!libPathResult)
return Result<bool>::Err(libPathResult);
FileString libPath = libPathResult.unwrap();
- libPath += TINYDIR_STRING("/.sibs/lib/");
+ libPath += TINYDIR_STRING("/.cache/sibs/lib/");
libPath += toFileString(dependency->name);
// We dont care if the directory already exists. Nothing will happen if it does
diff --git a/src/Package.cpp b/src/Package.cpp
index a2aaf52..f87da86 100644
--- a/src/Package.cpp
+++ b/src/Package.cpp
@@ -87,7 +87,7 @@ namespace sibs
}
// TODO: Always downloading is fine right now because the package list is small. This should later be modified to use local cache.
- // The package file should be stored locally (at ~/.sibs/packages.json) and the version file should also be stored.
+ // The package file should be stored locally (at ~/.cache/sibs/packages.json) and the version file should also be stored.
// First we check if the version is incorrect and if it, we download the new packages.json file.
// We should only check if the package list is up to date once every 10 minute or so (make it configurable in a config file?)
// to improve build performance and reduce server load.
diff --git a/src/main.cpp b/src/main.cpp
index 2223b56..441ec2f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -43,7 +43,7 @@ using namespace std::chrono;
// Might need to make it possible to define variables if a dependency exists (or doesn't exist) because the code might have
// preprocessor like: USE_LIBSODIUM or NO_LIBSODIUM.
-// TODO: When building a sibs project, add a hardlink in ~/.sibs/lib to it. This allows us to have dependency to a project that we can modify
+// TODO: When building a sibs project, add a hardlink in ~/.cache/sibs/lib to it. This allows us to have dependency to a project that we can modify
// without having to commit & push to remote
// TODO: Check compiler flags generated by cmake and visual studio in debug and release mode and use the same ones when building sibs project.
@@ -429,7 +429,7 @@ void newProjectCreateConf(const string &projectName, const string &projectType,
projectConfStr += asString(SYSTEM_PLATFORM);
projectConfStr += "\"]\n";
projectConfStr += "tests = \"tests\"";
- projectConfStr += "\n";
+ projectConfStr += "\n\n";
projectConfStr += "[dependencies]\n";
FileString projectConfPath = projectPath;