blob: 381a4712ec8b8edde8f4a693e826957324f78bb4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package com.yahoo.vespa.hosted.controller.deployment;
import com.yahoo.vespa.hosted.controller.api.integration.BuildService;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import java.util.Optional;
/**
* Wraps a JobController as a BuildService.
*
* Shall be inlined when the {@link DelegatingBuildService} delegates all jobs to it.
*
* @author jonmv
*/
public class InternalBuildService implements BuildService {
private final JobController jobs;
public InternalBuildService(JobController jobs) {
this.jobs = jobs;
}
@Override
public void trigger(BuildJob buildJob) {
jobs.run(buildJob.applicationId(), JobType.fromJobName(buildJob.jobName()));
}
@Override
public JobState stateOf(BuildJob buildJob) {
Optional<RunStatus> run = jobs.last(buildJob.applicationId(), JobType.fromJobName(buildJob.jobName()));
return run.isPresent() && ! run.get().hasEnded() ? JobState.running : JobState.idle;
}
@Override
public boolean builds(BuildJob buildJob) {
return jobs.builds(buildJob.applicationId());
}
}
|