jetbrains.buildServer.agent.runner package not in the agent open api?

I don't see the runner package in the agent open api (TC 3.1.2).

If I'm right, it should be a good idea to put "jetbrains.buildServer.agent.runner.*" classes in the agent open api in order to use the helpers you recommend in the documentation ( )
- GenericProgramRunner
- JavaProgramRunner


Regards,

Xavier Seignard

4 comments
Comment actions Permalink

Hello Xavier,

In fact, Agent-side part of the OpenAPI is quite poor. In TeamCity 4.0 we've improved the situation, both from the API and packaging point of view.
Given that Calcutta release is expected in this year, I'd strongly suggest trying TeamCity 4.0 and its OpenAPI.

BTW, what kind of agent-side plugin would you want to write?

Kind regards,
KIR

0
Comment actions Permalink

Hello!
Thanks for your answer.

I would like to write down some customs runners for the model driven engineering tool we use : MIA Generation. And for the modelling tool MagicDraw.

I also would like to extend the labeling feature in order to put a baseline instead of labels under clearcase. So if you have any idea for this part, any suggestions are welcome!

Regards,

Xavier

0
Comment actions Permalink

About the GenericProgramRunner, here is what I've done for the buildCommandLine method (hardcoded to understand how it works) which I override in my custom runner.

 runParameters, Map buildParameters) throws IOException, RunBuildException
    {
        String m2Home = MavenRunnerUtil.getM2Home(buildParameters, runParameters);
        if (m2Home != null){
            result.setExePath((new File(m2Home, "bin\\mvn.bat")).getPath());
        }
        result.addParameter("-f");
        result.addParameter("d:\\Documents and Settings\\pxsd08841\\Bureau\\Nouveau dossier\\pom.xml");
        result.addParameter("-B");
        
        //String modelLocation = (String) runParameters.get("modelLocation");
        //String miaProjectLocation = (String) runParameters.get("miaProjectLocation");
        //String modelType = (String) runParameters.get("modelType");
        result.addParameter("com.mia.plugin:generation:generation");
        this.getBuildLogger().message(result.getCommandLineString()); 
    }
]]>


Nothing appends, and here is the displayed command line when I run the build conf:
"C:\Program Files\apache-maven-2.0.9\bin\mvn.bat" -f "d:\Documents and Settings\pxsd08841\Bureau\Nouveau dossier\pom.xml" -B com.mia.plugin:generation:generation

That runner should launch this command line, or do I miss something?

Regards.

Xavier

0
Comment actions Permalink

Hello Xavier,

Sorry for the delay with answer.
Regarding experiments with your runner - it should actually run your command. Otherwise, please take a look at the various logs at buildAgent/logs directory. You may also enable debug logging for these logs, as described at
http://www.jetbrains.net/confluence/display/TCD3/Reporting+Issues#ReportingIssues-logging

Regarding OpenAPI for this functionality. We'll try to prepare a good OpenAPI for writing custom runners, including GeneralProgramRunner and other related stuff.
But for the moment, we're short of time and it may happen that such API won't be included into 4.0 version. There will be OpenAPI for extending existing runners, but probably not for writing new ones. We'll try hard to make as much as possible in this direction.

Kind regards,
KIR

0

Please sign in to leave a comment.