Hi Thomas, I just copy pasted your code into a plugin project and on my side this seems to work fine.
How are you running/debugging your plugin? Vincent 2012/8/21 ThomasBrouwer <[email protected]> > Hi there! > > I just cannot seem to be able to add environmental variables in my plugin. > I made a separate class extending EnvironmentContributor: > > package hudson.plugins.throttleconcurrents; > > import hudson.EnvVars; > import hudson.Extension; > import hudson.model.EnvironmentContributor; > import hudson.model.TaskListener; > import hudson.model.Run; > > import java.io.IOException; > > @Extension > public class ThrottleAddEnvVar extends EnvironmentContributor { > // This class is for adding the environmental variable containing the > assigned labels > @Override > public void buildEnvironmentFor(Run r, EnvVars envs, TaskListener > listener) throws IOException, InterruptedException { > ThrottleQueueTaskDispatcher.writeMessage("Running > buildEnvironmentFor()!"); > //Put together category-labels string > String labelEnvVar = "category1|label1<>category2|label2"; // String > storing the LABELS environmental variable. Form is: > category1|label1<>category2|label2<>... > envs.put("LABELS", labelEnvVar); > } > } > > but this does not do anything at all. In fact, > the ThrottleQueueTaskDispatcher.writeMessage() call is never made so > buildEnvironmentFor() is simply never executed. When is this function > supposed to be called? > I've been noticing more often that having a class have @Extension does not > mean it is picked up. What else, besides what is above, would be necessary? > This generalizes to other extension points such as Builders and such. > > Help will be greatly appreciated! > Thomas >
