java - Get return value of build configuration -


i create cdt eclipse plugin specific build configuration. use setbuildcommand() , setbuildarguments() functions call batch file.

my current code is:

icprojectdescriptionmanager mngr = coremodel.getdefault().getprojectdescriptionmanager(); icprojectdescription des = mngr.createprojectdescription(project, false); managedproject mproj = new managedproject(des); configuration cfg = new configuration(mproj, null, "my.configuration.id", "myconfiguration"); cfg.setbuildcommand("script.bat"); cfg.setbuildarguments(arg1 + " " + arg2); 

i return code batch file can't find way it.

any idea? maybe know how add marker project hold information?

correct me if i'm wrong, programatically creating cproject definition bad mojo. answer using 'standard' plugin.xml + activator model (like when make new plugin project template).

i think you're looking ierrorparser, can parse output bat file.

myexerrorparser.java

import org.eclipse.cdt.core.* import org.eclipse.core.resources.*;  public class myexerrorparser implements ierrorparser {      public myexerrorparser() {     }      @override     public boolean processline(string line, errorparsermanager eoparser) {          iproject p = resourcesplugin.getworkspace().getroot()                                             .getproject("hello_world");          p.getfile("main.c");          if(line.contains("my_error_id_str")) {              int err_lvl = imarkergenerator.severity_error_resource;              problemmarkerinfo marker = new problemmarkerinfo(p , 5, "bad",                                                               err_lvl,                                                              "foo");              eoparser.addproblemmarker(marker);              return true;         }          return false;     } } 

ideal

when 'processline()' gets called, have opportunity check environment var %errorlevel% (or $? in linux)

  • i can't life of me figure out how *currentbuilder.*environment() map use check that. var should there

  • i guess environment() path monsterous rat-hole of time try figure out. xxx

proposed

  • just add %errorlevel% check bat file need it. if errorlevel >0, output message "my_error_id_str. easy ierrorparser above evaluate it.

supplemental

here toolchain exercises above code. example calls shell script build command, no arguments. think may more of you're after? either way, many times on easier extend/maintain programmatic-implementation used.

<?xml version="1.0" encoding="utf-8"?> <?eclipse version="3.4"?> <plugin>    <extension          point="org.eclipse.cdt.managedbuilder.core.builddefinitions">       <projecttype             buildartefacttype="org.eclipse.cdt.build.core.buildartefacttype.exe"             id="toolchain.projecttype1"             isabstract="false"             name="justin">          <configuration                artifactextension="o"                buildartefacttype="org.eclipse.cdt.build.core.buildartefacttype.exe"                cleancommand="rm -rf"                id="toolchain.configuration1"                name="debug">             <toolchain                   errorparsers="exerrorparser"                   id="toolchain.toolchain1"                   isabstract="false"                   name="example toolchain"                   supportsmanagedbuild="true"                   targettool="toolchain.tool1">                <builder                      command="make"                      errorparsers="exerrorparser"                      id="toolchain.builder1"                      isabstract="false"                      isvariablecasesensitive="false"                      name="builder">                </builder>                <tool                      command="/home/jmreina/example.sh                      commandlinepattern="${command}"                      errorparsers="exerrorparser"                      id="toolchain.tool1"                      isabstract="false"                      name="example tool">                   <inputtype id="toolchain.inputtype1" multipleoftype="false" primaryinput="true" sources="c"></inputtype>                   <outputtype id="toolchain.outputtype1" outputs="txt" primaryoutput="true"></outputtype>                </tool>             </toolchain>          </configuration>       </projecttype>    </extension>    <extension          id="id1"          name="name"          point="org.eclipse.cdt.core.errorparser">       <errorparser             class="myexerrorparser"             id="exerrorparser"             name="myexparsername">       </errorparser>    </extension> </plugin> 

Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -