Single definition of Bloom website domain
This commit is contained in:
@@ -44,6 +44,12 @@ if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
|||||||
# See Paths::compiledResourcesPath() for more.
|
# See Paths::compiledResourcesPath() for more.
|
||||||
add_compile_definitions(BLOOM_COMPILED_RESOURCES_PATH_OVERRIDE="${CMAKE_CURRENT_SOURCE_DIR}")
|
add_compile_definitions(BLOOM_COMPILED_RESOURCES_PATH_OVERRIDE="${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
|
||||||
|
# BLOOM_HOME_DOMAIN_NAME_OVERRIDE can be used to override the domain name used in URLs to the Bloom website.
|
||||||
|
# I (Nav) use this in debug builds, so I can test local changes that involve the Bloom website as well as Bloom
|
||||||
|
# itself. Other users can comment out this override if they don't have a copy of the Bloom website running on their
|
||||||
|
# local machine. See Paths::homeDomainName() for more.
|
||||||
|
add_compile_definitions(BLOOM_HOME_DOMAIN_NAME_OVERRIDE="http://bloom.local")
|
||||||
|
|
||||||
# CMAKE_SKIP_BUILD_RPATH needs to be set to true to use Gammaray during development.
|
# CMAKE_SKIP_BUILD_RPATH needs to be set to true to use Gammaray during development.
|
||||||
# This is because the distributed Qt binaries may not be compatible with the local installation of Gammaray
|
# This is because the distributed Qt binaries may not be compatible with the local installation of Gammaray
|
||||||
set(CMAKE_BUILD_RPATH /opt/Qt/6.1.2/gcc_64/lib/)
|
set(CMAKE_BUILD_RPATH /opt/Qt/6.1.2/gcc_64/lib/)
|
||||||
|
|||||||
@@ -204,7 +204,9 @@ int Application::presentHelpText() {
|
|||||||
|
|
||||||
if (!helpFile.open(QIODevice::ReadOnly)) {
|
if (!helpFile.open(QIODevice::ReadOnly)) {
|
||||||
// This should never happen - if it does, something has gone very wrong
|
// This should never happen - if it does, something has gone very wrong
|
||||||
throw Exception("Failed to open help file - please report this issue at https://bloom.oscillate.io/report-issue");
|
throw Exception(
|
||||||
|
"Failed to open help file - please report this issue at " + Paths::homeDomainName() + "/report-issue"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << "Bloom v" << Application::VERSION.toString() << "\n";
|
std::cout << "Bloom v" << Application::VERSION.toString() << "\n";
|
||||||
@@ -221,7 +223,7 @@ int Application::presentVersionText() {
|
|||||||
std::cout << "DEBUG BUILD - Compilation timestamp: " << __DATE__ << " " << __TIME__ << "\n";
|
std::cout << "DEBUG BUILD - Compilation timestamp: " << __DATE__ << " " << __TIME__ << "\n";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::cout << "https://bloom.oscillate.io/\n";
|
std::cout << Paths::homeDomainName() + "/\n";
|
||||||
std::cout << "Nav Mohammed\n";
|
std::cout << "Nav Mohammed\n";
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
@@ -246,7 +248,10 @@ int Application::initProject() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (!templateConfigFile.open(QIODevice::ReadOnly)) {
|
if (!templateConfigFile.open(QIODevice::ReadOnly)) {
|
||||||
throw Exception("Failed to open template configuration file - please report this issue at https://bloom.oscillate.io/report-issue");
|
throw Exception(
|
||||||
|
"Failed to open template configuration file - please report this issue at "
|
||||||
|
+ Paths::homeDomainName() + "/report-issue"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!configFile.open(QIODevice::ReadWrite)) {
|
if (!configFile.open(QIODevice::ReadWrite)) {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#include "src/TargetController/Exceptions/DeviceInitializationFailure.hpp"
|
#include "src/TargetController/Exceptions/DeviceInitializationFailure.hpp"
|
||||||
#include "src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/Exceptions/Avr8CommandFailure.hpp"
|
#include "src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/Exceptions/Avr8CommandFailure.hpp"
|
||||||
#include "src/Logger/Logger.hpp"
|
#include "src/Logger/Logger.hpp"
|
||||||
|
#include "src/Helpers/Paths.hpp"
|
||||||
|
|
||||||
// Command frames
|
// Command frames
|
||||||
#include "src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/CommandFrames/AVR8Generic/SetParameter.hpp"
|
#include "src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/CommandFrames/AVR8Generic/SetParameter.hpp"
|
||||||
@@ -72,13 +73,13 @@ void EdbgAvr8Interface::configure(const TargetConfig& targetConfig) {
|
|||||||
if (this->physicalInterface == PhysicalInterface::JTAG) {
|
if (this->physicalInterface == PhysicalInterface::JTAG) {
|
||||||
throw InvalidConfig("The JTAG physical interface cannot be used with an ambiguous target name"
|
throw InvalidConfig("The JTAG physical interface cannot be used with an ambiguous target name"
|
||||||
" - please specify the exact name of the target in your configuration file. "
|
" - please specify the exact name of the target in your configuration file. "
|
||||||
"See https://bloom.oscillate.io/docs/supported-targets"
|
"See " + Paths::homeDomainName() + "/docs/supported-targets"
|
||||||
);
|
);
|
||||||
|
|
||||||
} else if (this->physicalInterface == PhysicalInterface::UPDI) {
|
} else if (this->physicalInterface == PhysicalInterface::UPDI) {
|
||||||
throw InvalidConfig("The UPDI physical interface cannot be used with an ambiguous target name"
|
throw InvalidConfig("The UPDI physical interface cannot be used with an ambiguous target name"
|
||||||
" - please specify the exact name of the target in your configuration file. "
|
" - please specify the exact name of the target in your configuration file. "
|
||||||
"See https://bloom.oscillate.io/docs/supported-targets"
|
"See " + Paths::homeDomainName() + "/docs/supported-targets"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ namespace Bloom
|
|||||||
* If the debug configuration is enabled, this function will return the absolute path to Bloom's source code,
|
* If the debug configuration is enabled, this function will return the absolute path to Bloom's source code,
|
||||||
* meaning we won't use compiled resources for debug builds. This is useful for debugging and tweaking QT UI
|
* meaning we won't use compiled resources for debug builds. This is useful for debugging and tweaking QT UI
|
||||||
* files such as QT stylesheets and UI templates.
|
* files such as QT stylesheets and UI templates.
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
static inline std::string compiledResourcesPath() {
|
static inline std::string compiledResourcesPath() {
|
||||||
@@ -36,6 +37,22 @@ namespace Bloom
|
|||||||
return std::string(BLOOM_COMPILED_RESOURCES_PATH_OVERRIDE);
|
return std::string(BLOOM_COMPILED_RESOURCES_PATH_OVERRIDE);
|
||||||
#else
|
#else
|
||||||
return std::string(":/compiled");
|
return std::string(":/compiled");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the domain name for the Bloom website.
|
||||||
|
*
|
||||||
|
* The domain name can be overridden via the BLOOM_HOME_DOMAIN_NAME_OVERRIDE compile definition.
|
||||||
|
* See CMakeLists.txt
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
static inline std::string homeDomainName() {
|
||||||
|
#ifdef BLOOM_HOME_DOMAIN_NAME_OVERRIDE
|
||||||
|
return std::string(BLOOM_HOME_DOMAIN_NAME_OVERRIDE);
|
||||||
|
#else
|
||||||
|
return std::string("https://bloom.oscillate.io");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ void Insight::checkBloomVersion() {
|
|||||||
if (latestVersionNumber > currentVersionNumber) {
|
if (latestVersionNumber > currentVersionNumber) {
|
||||||
Logger::warning(
|
Logger::warning(
|
||||||
"Bloom v" + latestVersionNumber.toString()
|
"Bloom v" + latestVersionNumber.toString()
|
||||||
+ " is available to download - upgrade via https://bloom.oscillate.io"
|
+ " is available to download - upgrade via " + Paths::homeDomainName()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,13 @@
|
|||||||
#include <QUrlQuery>
|
#include <QUrlQuery>
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
|
|
||||||
|
#include "src/Helpers/Paths.hpp"
|
||||||
|
|
||||||
using namespace Bloom;
|
using namespace Bloom;
|
||||||
|
|
||||||
void QueryLatestVersionNumber::run(TargetControllerConsole& targetControllerConsole) {
|
void QueryLatestVersionNumber::run(TargetControllerConsole& targetControllerConsole) {
|
||||||
auto* networkAccessManager = new QNetworkAccessManager(this);
|
auto* networkAccessManager = new QNetworkAccessManager(this);
|
||||||
auto queryVersionEndpointUrl = QUrl("http://bloom.local/latest-version");
|
auto queryVersionEndpointUrl = QUrl(QString::fromStdString(Paths::homeDomainName() + "/latest-version"));
|
||||||
queryVersionEndpointUrl.setQuery(QUrlQuery({
|
queryVersionEndpointUrl.setQuery(QUrlQuery({
|
||||||
{"currentVersionNumber", QString::fromStdString(this->currentVersionNumber.toString())}
|
{"currentVersionNumber", QString::fromStdString(this->currentVersionNumber.toString())}
|
||||||
}));
|
}));
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ void InsightWindow::onTargetProgramCounterUpdate(quint32 programCounter) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void InsightWindow::openReportIssuesUrl() {
|
void InsightWindow::openReportIssuesUrl() {
|
||||||
auto url = QUrl("https://bloom.oscillate.io/report-issue");
|
auto url = QUrl(QString::fromStdString(Paths::homeDomainName() + "/report-issue"));
|
||||||
/*
|
/*
|
||||||
* The https://bloom.oscillate.io/report-issue URL just redirects to the Bloom GitHub issue page.
|
* The https://bloom.oscillate.io/report-issue URL just redirects to the Bloom GitHub issue page.
|
||||||
*
|
*
|
||||||
@@ -209,7 +209,7 @@ void InsightWindow::openReportIssuesUrl() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void InsightWindow::openGettingStartedUrl() {
|
void InsightWindow::openGettingStartedUrl() {
|
||||||
QDesktopServices::openUrl(QUrl("https://bloom.oscillate.io/docs/getting-started"));
|
QDesktopServices::openUrl(QUrl(QString::fromStdString(Paths::homeDomainName() + "/docs/getting-started")));
|
||||||
}
|
}
|
||||||
|
|
||||||
void InsightWindow::openAboutWindow() {
|
void InsightWindow::openAboutWindow() {
|
||||||
|
|||||||
@@ -368,5 +368,5 @@ void TargetRegisterInspectorWindow::applyChanges() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TargetRegisterInspectorWindow::openHelpPage() {
|
void TargetRegisterInspectorWindow::openHelpPage() {
|
||||||
QDesktopServices::openUrl(QUrl("https://bloom.oscillate.io/docs/register-inspection"));
|
QDesktopServices::openUrl(QUrl(QString::fromStdString(Paths::homeDomainName() + "/docs/register-inspection")));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,10 +106,10 @@ void TargetController::checkUdevRules() {
|
|||||||
// We can only install them if we're running as root
|
// We can only install them if we're running as root
|
||||||
if (!Application::isRunningAsRoot()) {
|
if (!Application::isRunningAsRoot()) {
|
||||||
Logger::error("Bloom udev rules missing - cannot install udev rules without root privileges.\n"
|
Logger::error("Bloom udev rules missing - cannot install udev rules without root privileges.\n"
|
||||||
"Running Bloom once with root privileges will allow it to automatically install the udev rules."
|
"Running Bloom once with root privileges will allow it to automatically install the udev rules. "
|
||||||
" Alternatively, instructions on manually installing the udev rules can be found "
|
"Alternatively, instructions on manually installing the udev rules can be found "
|
||||||
"here: https://bloom.oscillate.io/docs/getting-started\nBloom may fail to connect to some debug tools "
|
"here: " + Paths::homeDomainName() + "/docs/getting-started\nBloom may fail to connect to some "
|
||||||
"until this is resolved.");
|
"debug tools until this is resolved.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "Exceptions/TargetDescriptionParsingFailureException.hpp"
|
#include "Exceptions/TargetDescriptionParsingFailureException.hpp"
|
||||||
#include "src/Logger/Logger.hpp"
|
#include "src/Logger/Logger.hpp"
|
||||||
|
#include "src/Helpers/Paths.hpp"
|
||||||
|
|
||||||
using namespace Bloom::Targets::TargetDescription;
|
using namespace Bloom::Targets::TargetDescription;
|
||||||
using namespace Bloom::Exceptions;
|
using namespace Bloom::Exceptions;
|
||||||
@@ -24,7 +25,7 @@ void TargetDescriptionFile::init(const QString& xmlFilePath) {
|
|||||||
auto xml = QDomDocument();
|
auto xml = QDomDocument();
|
||||||
if (!xml.setContent(file.readAll())) {
|
if (!xml.setContent(file.readAll())) {
|
||||||
throw Exception("Failed to parse target description file - please report this error "
|
throw Exception("Failed to parse target description file - please report this error "
|
||||||
"to Bloom developers via https://bloom.oscillate.io/report-issue");
|
"to Bloom developers via " + Paths::homeDomainName() + "/report-issue");
|
||||||
}
|
}
|
||||||
|
|
||||||
this->init(xml);
|
this->init(xml);
|
||||||
|
|||||||
Reference in New Issue
Block a user