Skip to content

Commit

Permalink
folder context menu build tool use LiteApi::IBuild env
Browse files Browse the repository at this point in the history
  • Loading branch information
visualfc committed May 20, 2017
1 parent dd86b0d commit 167adaa
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions liteidex/src/plugins/litebuild/litebuild.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -189,22 +189,22 @@ LiteBuild::LiteBuild(LiteApi::IApplication *app, QObject *parent) :
m_fmctxGoToolMenu = new QMenu("Go Tool");

m_fmctxGoBuildAct = new QAction("Go Build",this);
m_fmctxGoBuildAct->setData("build -v");
m_fmctxGoBuildAct->setData("build $(BUILDARGS)");

m_fmctxGoBuildAllAct = new QAction("Go Build All",this);
m_fmctxGoBuildAllAct->setData("build -v ./...");
m_fmctxGoBuildAllAct->setData("build $(BUILDARGS) ./...");

m_fmctxGoInstallAct = new QAction("Go Install",this);
m_fmctxGoInstallAct->setData("install -v");
m_fmctxGoInstallAct->setData("install $(INSTALLARGS)");

m_fmctxGoInstallAllAct = new QAction("Go Install All",this);
m_fmctxGoInstallAllAct->setData("install -v ./...");
m_fmctxGoInstallAllAct->setData("install $(INSTALLARGS) ./...");

m_fmctxGoTestAct = new QAction("Go Test",this);
m_fmctxGoTestAct->setData("test -v");
m_fmctxGoTestAct->setData("test $(TESTARGS)");

m_fmctxGoTestAllAct = new QAction("Go Test All",this);
m_fmctxGoTestAllAct->setData("test -v ./...");
m_fmctxGoTestAllAct->setData("test $(TESTARGS) ./...");

m_fmctxGoCleanAct = new QAction("Go Clean",this);
m_fmctxGoCleanAct->setData("clean -i -x");
Expand Down Expand Up @@ -550,9 +550,19 @@ void LiteBuild::fmctxGoTool()
if (!act) {
return;
}
// build install test clean
QString args = act->data().toString();
LiteApi::IBuild *build = m_buildManager->findBuild("text/x-gosrc");
if (!build) {
m_liteApp->appendLog("litebuild","not found LiteApi::IBuild interface by mime type text/x-gosrc",true);
return;
}

QString cmd = FileUtil::lookupGoBin("go",m_liteApp,false);

QString args = act->data().toString();
QMap<QString,QString> env = buildEnvMap(build,m_fmctxInfo.filePath());
QProcessEnvironment sysenv = LiteApi::getGoEnvironment(m_liteApp);
args = this->envToValue(args,env,sysenv);

m_outputRegex = "(\\w?:?[\\w\\d_\\-\\\\/\\.]+):(\\d+):";
m_process->setUserData(ID_REGEXP,m_outputRegex);
if (!cmd.isEmpty()) {
Expand Down

0 comments on commit 167adaa

Please sign in to comment.