package pl.touk.sputnik.connector.github;
import com.jcabi.github.Coordinates;
import com.jcabi.github.Github;
import com.jcabi.github.Repo;
import com.jcabi.github.RtGithub;
import com.jcabi.http.wire.RetryWire;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import pl.touk.sputnik.configuration.Configuration;
import pl.touk.sputnik.configuration.GeneralOption;
import pl.touk.sputnik.connector.Patchset;
import pl.touk.sputnik.connector.PatchsetBuilder;
@Slf4j
public class GithubFacadeBuilder {
@NotNull
public GithubFacade build(Configuration configuration) {
Patchset patchset = PatchsetBuilder.build(configuration);
String oAuthKey = configuration.getProperty(GeneralOption.GITHUB_API_KEY);
Github github = new RtGithub(
new RtGithub(oAuthKey)
.entry()
.through(RetryWire.class)
);
Repo repo = github.repos().get(new Coordinates.Simple(patchset.getProjectPath()));
return new GithubFacade(repo, patchset);
}
}