aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/zen/cmds/builds_cmd.cpp28
-rw-r--r--src/zenutil/commandlineoptions.cpp30
2 files changed, 24 insertions, 34 deletions
diff --git a/src/zen/cmds/builds_cmd.cpp b/src/zen/cmds/builds_cmd.cpp
index 179f34193..949e40085 100644
--- a/src/zen/cmds/builds_cmd.cpp
+++ b/src/zen/cmds/builds_cmd.cpp
@@ -829,7 +829,7 @@ namespace {
std::string& OutBucket,
std::string& OutBuildId)
{
- std::string Url(RemoveQuotes(InUrl));
+ std::string Url(InUrl);
const std::string_view ExtendedApiString = "api/v2/builds/";
if (auto ApiString = ToLower(Url).find(ExtendedApiString); ApiString != std::string::npos)
{
@@ -10540,11 +10540,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
ParseSystemOptions();
auto ParseStorageOptions = [&](bool RequireNamespace, bool RequireBucket) {
- m_Host = RemoveQuotes(m_Host);
- m_OverrideHost = RemoveQuotes(m_OverrideHost);
- m_Url = RemoveQuotes(m_Url);
- m_Namespace = RemoveQuotes(m_Namespace);
- m_Bucket = RemoveQuotes(m_Bucket);
if (!m_Url.empty())
{
if (!m_Host.empty())
@@ -10636,19 +10631,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
};
auto ParseAuthOptions = [&]() {
- m_OpenIdProviderUrl = RemoveQuotes(m_OpenIdProviderUrl);
- m_OpenIdClientId = RemoveQuotes(m_OpenIdClientId);
-
- m_AccessToken = RemoveQuotes(m_AccessToken);
- m_EncryptionKey = RemoveQuotes(m_EncryptionKey);
- m_EncryptionIV = RemoveQuotes(m_EncryptionIV);
-
- m_OAuthUrl = RemoveQuotes(m_OAuthUrl);
- m_OAuthClientId = RemoveQuotes(m_OAuthClientId);
- m_OAuthClientSecret = RemoveQuotes(m_OAuthClientSecret);
-
- m_OidcTokenAuthExecutablePath = RemoveQuotes(m_OidcTokenAuthExecutablePath);
-
if (!m_OpenIdProviderUrl.empty() && !m_OpenIdClientId.empty())
{
CreateAuthMgr();
@@ -10774,8 +10756,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
bool RequireBucket) -> StorageInstance {
ParseStorageOptions(RequireNamespace, RequireBucket);
- m_ZenCacheHost = RemoveQuotes(m_ZenCacheHost);
-
StorageInstance Result;
std::string BuildStorageName = ZEN_CLOUD_STORAGE;
@@ -11061,7 +11041,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
};
auto ParseBlobHash = [&]() -> IoHash {
- m_BlobHash = RemoveQuotes(m_BlobHash);
if (m_BlobHash.empty())
{
throw OptionParseException("'--blob-hash' is required", SubOption->help());
@@ -11084,7 +11063,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
};
auto ParseBuildId = [&]() -> Oid {
- m_BuildId = RemoveQuotes(m_BuildId);
if (m_BuildId.length() != Oid::StringLength)
{
throw OptionParseException(
@@ -11102,7 +11080,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
};
auto ParseBuildPartId = [&]() -> Oid {
- m_BuildPartId = RemoveQuotes(m_BuildPartId);
if (m_BuildPartId.length() != Oid::StringLength)
{
throw OptionParseException(
@@ -11173,7 +11150,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
}
return MetaData;
}
- m_BuildMetadata = RemoveQuotes(m_BuildMetadata);
if (!m_BuildMetadata.empty())
{
CbObjectWriter MetaDataWriter(1024);
@@ -11413,8 +11389,6 @@ BuildsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
const std::filesystem::path TempDir = ZenTempFolderPath(m_ZenFolderPath);
- m_ManifestPath = RemoveQuotes(m_ManifestPath);
-
UploadFolder(Storage,
BuildId,
BuildPartId,
diff --git a/src/zenutil/commandlineoptions.cpp b/src/zenutil/commandlineoptions.cpp
index afef7f6f2..040726c77 100644
--- a/src/zenutil/commandlineoptions.cpp
+++ b/src/zenutil/commandlineoptions.cpp
@@ -116,10 +116,15 @@ StripCommandlineQuotes(std::vector<std::string>& InOutArgs)
{
if (Arg.find('"', 1) == Arg.length() - 1)
{
- if (Arg.find(' ', 1) == std::string::npos)
- {
- Arg = Arg.substr(1, Arg.length() - 2);
- }
+ Arg = Arg.substr(1, Arg.length() - 2);
+ }
+ }
+ else if (Arg.ends_with("\""))
+ {
+ std::string::size_type EqualSign = Arg.find("=", 1);
+ if (EqualSign != std::string::npos && Arg[EqualSign + 1] == '\"')
+ {
+ Arg = Arg.substr(0, EqualSign + 1) + Arg.substr(EqualSign + 2, Arg.length() - (EqualSign + 2) - 1);
}
}
RawArgs.push_back(const_cast<char*>(Arg.c_str()));
@@ -209,12 +214,23 @@ TEST_CASE("CommandLine")
CHECK_EQ(v2Stripped[5], std::string("--namespace=ue.oplog"));
CHECK_EQ(v2Stripped[6], std::string("--bucket=citysample.packaged-build.fortnite-main.windows"));
CHECK_EQ(v2Stripped[7], std::string("c:\\just\\a\\path"));
- CHECK_EQ(v2Stripped[8], std::string("--access-token-path=\"C:\\Users\\dan.engelbrecht\\jupiter-token.json\""));
- CHECK_EQ(v2Stripped[9], std::string("\"D:\\Dev\\Spaced Folder\\Target\""));
- CHECK_EQ(v2Stripped[10], std::string("--alt-path=\"D:\\Dev\\Spaced Folder2\\Target\""));
+ CHECK_EQ(v2Stripped[8], std::string("--access-token-path=C:\\Users\\dan.engelbrecht\\jupiter-token.json"));
+ CHECK_EQ(v2Stripped[9], std::string("D:\\Dev\\Spaced Folder\\Target"));
+ CHECK_EQ(v2Stripped[10], std::string("--alt-path=D:\\Dev\\Spaced Folder2\\Target"));
CHECK_EQ(v2Stripped[11], std::string("07dn23ifiwesnvoasjncasab"));
CHECK_EQ(v2Stripped[12], std::string("--build-part-name"));
CHECK_EQ(v2Stripped[13], std::string("win64,linux,ps5"));
+
+ std::vector<std::string> v3 = ParseCommandLine(
+ "--tracehost \"127.0.0.1\" builds download --url=\"https://jupiter.devtools.epicgames.com\" --build-part-name=\"win64\"");
+ std::vector<char*> v3Stripped = StripCommandlineQuotes(v3);
+
+ CHECK_EQ(v3Stripped[0], std::string("--tracehost"));
+ CHECK_EQ(v3Stripped[1], std::string("127.0.0.1"));
+ CHECK_EQ(v3Stripped[2], std::string("builds"));
+ CHECK_EQ(v3Stripped[3], std::string("download"));
+ CHECK_EQ(v3Stripped[4], std::string("--url=https://jupiter.devtools.epicgames.com"));
+ CHECK_EQ(v3Stripped[5], std::string("--build-part-name=win64"));
}
#endif