mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-08-11 01:01:25 +03:00
More WIP implementing more functionalities in DAP. This commit will probably fail on some OSes.
This commit is contained in:
@@ -734,10 +734,14 @@ void ProjectBuildManager::setConfig( const ProjectBuildConfiguration& config ) {
|
||||
}
|
||||
}
|
||||
|
||||
ProjectBuild* ProjectBuildManager::getCurrentBuild() {
|
||||
return getBuild( mConfig.buildName );
|
||||
}
|
||||
|
||||
void ProjectBuildManager::buildCurrentConfig( StatusBuildOutputController* sboc,
|
||||
std::function<void( int exitStatus )> doneFn ) {
|
||||
if ( sboc && !isBuilding() && !getBuilds().empty() ) {
|
||||
const ProjectBuild* build = getBuild( mConfig.buildName );
|
||||
const ProjectBuild* build = getCurrentBuild();
|
||||
if ( build ) {
|
||||
mApp->saveAll();
|
||||
sboc->runBuild( build->getName(), mConfig.buildType,
|
||||
@@ -748,7 +752,7 @@ void ProjectBuildManager::buildCurrentConfig( StatusBuildOutputController* sboc,
|
||||
|
||||
void ProjectBuildManager::cleanCurrentConfig( StatusBuildOutputController* sboc ) {
|
||||
if ( sboc && !isBuilding() && !getBuilds().empty() ) {
|
||||
const ProjectBuild* build = getBuild( mConfig.buildName );
|
||||
const ProjectBuild* build = getCurrentBuild();
|
||||
if ( build )
|
||||
sboc->runBuild( build->getName(), mConfig.buildType,
|
||||
getOutputParser( build->getName() ), true );
|
||||
@@ -773,7 +777,7 @@ bool ProjectBuildManager::hasBuildConfig() const {
|
||||
|
||||
bool ProjectBuildManager::hasRunConfig() {
|
||||
if ( hasBuildConfig() ) {
|
||||
auto build = getBuild( mConfig.buildName );
|
||||
auto build = getCurrentBuild();
|
||||
return build != nullptr && build->hasRun();
|
||||
}
|
||||
return false;
|
||||
@@ -781,7 +785,7 @@ bool ProjectBuildManager::hasRunConfig() {
|
||||
|
||||
bool ProjectBuildManager::hasBuildConfigWithBuildSteps() {
|
||||
if ( hasBuildConfig() ) {
|
||||
auto build = getBuild( mConfig.buildName );
|
||||
auto build = getCurrentBuild();
|
||||
return build != nullptr && build->hasBuild();
|
||||
}
|
||||
return {};
|
||||
@@ -789,7 +793,7 @@ bool ProjectBuildManager::hasBuildConfigWithBuildSteps() {
|
||||
|
||||
std::optional<ProjectBuildStep> ProjectBuildManager::getCurrentRunConfig() {
|
||||
if ( hasBuildConfig() ) {
|
||||
auto build = getBuild( mConfig.buildName );
|
||||
auto build = getCurrentBuild();
|
||||
if ( build != nullptr && build->hasRun() ) {
|
||||
for ( const auto& crun : build->mRun ) {
|
||||
if ( crun->name == mConfig.runName || mConfig.runName.empty() ) {
|
||||
@@ -804,7 +808,7 @@ std::optional<ProjectBuildStep> ProjectBuildManager::getCurrentRunConfig() {
|
||||
void ProjectBuildManager::runConfig( StatusAppOutputController* saoc ) {
|
||||
if ( !isRunningApp() && !getBuilds().empty() ) {
|
||||
BoolScopedOp op( mRunning, true );
|
||||
const ProjectBuild* build = getBuild( mConfig.buildName );
|
||||
const ProjectBuild* build = getCurrentBuild();
|
||||
|
||||
if ( nullptr == build || !build->hasRun() )
|
||||
return;
|
||||
@@ -834,7 +838,8 @@ void ProjectBuildManager::runConfig( StatusAppOutputController* saoc ) {
|
||||
auto cmd = finalBuild.cmd + " " + finalBuild.args;
|
||||
if ( finalBuild.runInTerminal ) {
|
||||
UITerminal* term = mApp->getTerminalManager()->createTerminalInSplitter(
|
||||
finalBuild.workingDir, false );
|
||||
finalBuild.workingDir, "", {}, false );
|
||||
|
||||
Log::info( "Running \"%s\" in terminal", cmd );
|
||||
if ( term == nullptr || term->getTerm() == nullptr ) {
|
||||
mApp->getTerminalManager()->openInExternalTerminal( cmd, finalBuild.workingDir );
|
||||
|
||||
Reference in New Issue
Block a user