Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #36 from jenkinsci/feature/JENKINS-34876
Feature/jenkins 34876
- Loading branch information
Showing
12 changed files
with
328 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
src/main/java/net/uaznia/lukanus/hudson/plugins/gitparameter/jobs/AbstractJobWrapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package net.uaznia.lukanus.hudson.plugins.gitparameter.jobs; | ||
|
||
|
||
import java.io.IOException; | ||
|
||
import hudson.EnvVars; | ||
import hudson.model.Job; | ||
import hudson.model.Node; | ||
import hudson.model.ParametersDefinitionProperty; | ||
import hudson.model.TaskListener; | ||
|
||
public abstract class AbstractJobWrapper implements JobWrapper { | ||
private Job job; | ||
|
||
public AbstractJobWrapper(Job job) { | ||
this.job = job; | ||
} | ||
|
||
@Override | ||
public Job getJob() { | ||
return job; | ||
} | ||
|
||
@Override | ||
public ParametersDefinitionProperty getProperty(Class<ParametersDefinitionProperty> propertyClass) { | ||
return (ParametersDefinitionProperty) job.getProperty(propertyClass); | ||
} | ||
|
||
@Override | ||
public EnvVars getEnvironment(Node node, TaskListener taskListener) throws IOException, InterruptedException { | ||
return job.getEnvironment(node, taskListener); | ||
} | ||
|
||
@Override | ||
public int getNextBuildNumber() { | ||
return job.getNextBuildNumber(); | ||
} | ||
|
||
@Override | ||
public void updateNextBuildNumber(int nextBuildNumber) throws IOException { | ||
job.updateNextBuildNumber(nextBuildNumber); | ||
} | ||
} |
43 changes: 43 additions & 0 deletions
43
...n/java/net/uaznia/lukanus/hudson/plugins/gitparameter/jobs/AbstractProjectJobWrapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package net.uaznia.lukanus.hudson.plugins.gitparameter.jobs; | ||
|
||
import java.util.logging.Level; | ||
import java.util.logging.Logger; | ||
|
||
import hudson.EnvVars; | ||
import hudson.FilePath; | ||
import hudson.model.AbstractBuild; | ||
import hudson.model.AbstractProject; | ||
import hudson.model.Job; | ||
import hudson.model.TaskListener; | ||
import hudson.scm.SCM; | ||
|
||
public class AbstractProjectJobWrapper extends AbstractJobWrapper { | ||
private static final Logger LOGGER = Logger.getLogger(AbstractProjectJobWrapper.class.getName()); | ||
|
||
public AbstractProjectJobWrapper(Job job) { | ||
super(job); | ||
} | ||
|
||
@Override | ||
public SCM getScm() { | ||
return ((AbstractProject) getJob()).getScm(); | ||
} | ||
|
||
@Override | ||
public FilePath getSomeWorkspace() { | ||
return ((AbstractProject) getJob()).getSomeWorkspace(); | ||
} | ||
|
||
@Override | ||
public EnvVars getSomeBuildEnvironments() { | ||
try { | ||
AbstractBuild someBuildWithWorkspace = ((AbstractProject) getJob()).getSomeBuildWithWorkspace(); | ||
if (someBuildWithWorkspace != null) { | ||
return someBuildWithWorkspace.getEnvironment(TaskListener.NULL); | ||
} | ||
} catch (Exception e) { | ||
LOGGER.log(Level.SEVERE, Messages.AbstractProjectJobWrapper_GetEnvironmentsFromAbstractProject(), e); | ||
} | ||
return null; | ||
} | ||
} |
29 changes: 29 additions & 0 deletions
29
src/main/java/net/uaznia/lukanus/hudson/plugins/gitparameter/jobs/JobWrapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package net.uaznia.lukanus.hudson.plugins.gitparameter.jobs; | ||
|
||
import java.io.IOException; | ||
|
||
import hudson.EnvVars; | ||
import hudson.FilePath; | ||
import hudson.model.Job; | ||
import hudson.model.Node; | ||
import hudson.model.ParametersDefinitionProperty; | ||
import hudson.model.TaskListener; | ||
import hudson.scm.SCM; | ||
|
||
public interface JobWrapper { | ||
Job getJob(); | ||
|
||
ParametersDefinitionProperty getProperty(Class<ParametersDefinitionProperty> parametersDefinitionPropertyClass); | ||
|
||
SCM getScm(); | ||
|
||
FilePath getSomeWorkspace() throws IOException, InterruptedException; | ||
|
||
EnvVars getEnvironment(Node node, TaskListener taskListener) throws IOException, InterruptedException; | ||
|
||
EnvVars getSomeBuildEnvironments(); | ||
|
||
int getNextBuildNumber(); | ||
|
||
void updateNextBuildNumber(int nextBuildNumber) throws IOException; | ||
} |
21 changes: 21 additions & 0 deletions
21
src/main/java/net/uaznia/lukanus/hudson/plugins/gitparameter/jobs/JobWrapperFactory.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package net.uaznia.lukanus.hudson.plugins.gitparameter.jobs; | ||
|
||
import hudson.model.AbstractProject; | ||
import hudson.model.Job; | ||
|
||
public class JobWrapperFactory { | ||
private static final String WORKFLOW_JOB_CLASS_NAME = "org.jenkinsci.plugins.workflow.job.WorkflowJob"; | ||
|
||
public static JobWrapper createJobWrapper(Job job) { | ||
if (job instanceof AbstractProject) { | ||
return new AbstractProjectJobWrapper(job); | ||
} else if (isWorkflowJob(job)) { | ||
return new WorkflowJobWrapper(job); | ||
} | ||
throw new UnsupportedJobType(Messages.JobWrapperFactory_UnsupportedJobType(job.getClass().getName())); | ||
} | ||
|
||
private static boolean isWorkflowJob(Job job) { | ||
return job != null && WORKFLOW_JOB_CLASS_NAME.equals(job.getClass().getName()); | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
src/main/java/net/uaznia/lukanus/hudson/plugins/gitparameter/jobs/UnsupportedJobType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package net.uaznia.lukanus.hudson.plugins.gitparameter.jobs; | ||
|
||
public class UnsupportedJobType extends RuntimeException { | ||
public UnsupportedJobType(String message) { | ||
super(message); | ||
} | ||
} |
Oops, something went wrong.