1
0
Fork 0

Avoid creating empty bitbucket files if there was no composer.json present in the original branch/tag

pull/8017/head
Jordi Boggiano 2019-02-20 08:43:33 +01:00
parent 7a301d9ad1
commit 61cd8664e5
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
2 changed files with 40 additions and 38 deletions

View File

@ -124,50 +124,52 @@ abstract class BitbucketDriver extends VcsDriver
$composer = $this->getBaseComposerInformation($identifier); $composer = $this->getBaseComposerInformation($identifier);
// specials for bitbucket if ($composer) {
if (!isset($composer['support']['source'])) { // specials for bitbucket
$label = array_search( if (!isset($composer['support']['source'])) {
$identifier, $label = array_search(
$this->getTags() $identifier,
) ?: array_search( $this->getTags()
$identifier, ) ?: array_search(
$this->getBranches() $identifier,
) ?: $identifier; $this->getBranches()
) ?: $identifier;
if (array_key_exists($label, $tags = $this->getTags())) { if (array_key_exists($label, $tags = $this->getTags())) {
$hash = $tags[$label]; $hash = $tags[$label];
} elseif (array_key_exists($label, $branches = $this->getBranches())) { } elseif (array_key_exists($label, $branches = $this->getBranches())) {
$hash = $branches[$label]; $hash = $branches[$label];
}
if (! isset($hash)) {
$composer['support']['source'] = sprintf(
'https://%s/%s/%s/src',
$this->originUrl,
$this->owner,
$this->repository
);
} else {
$composer['support']['source'] = sprintf(
'https://%s/%s/%s/src/%s/?at=%s',
$this->originUrl,
$this->owner,
$this->repository,
$hash,
$label
);
}
} }
if (!isset($composer['support']['issues']) && $this->hasIssues) {
if (! isset($hash)) { $composer['support']['issues'] = sprintf(
$composer['support']['source'] = sprintf( 'https://%s/%s/%s/issues',
'https://%s/%s/%s/src',
$this->originUrl, $this->originUrl,
$this->owner, $this->owner,
$this->repository $this->repository
); );
} else {
$composer['support']['source'] = sprintf(
'https://%s/%s/%s/src/%s/?at=%s',
$this->originUrl,
$this->owner,
$this->repository,
$hash,
$label
);
} }
} if (!isset($composer['homepage'])) {
if (!isset($composer['support']['issues']) && $this->hasIssues) { $composer['homepage'] = empty($this->website) ? $this->homeUrl : $this->website;
$composer['support']['issues'] = sprintf( }
'https://%s/%s/%s/issues',
$this->originUrl,
$this->owner,
$this->repository
);
}
if (!isset($composer['homepage'])) {
$composer['homepage'] = empty($this->website) ? $this->homeUrl : $this->website;
} }
$this->infoCache[$identifier] = $composer; $this->infoCache[$identifier] = $composer;

View File

@ -152,8 +152,8 @@ class GitHubDriver extends VcsDriver
} }
$composer = $this->getBaseComposerInformation($identifier); $composer = $this->getBaseComposerInformation($identifier);
if ($composer) {
if ($composer) {
// specials for github // specials for github
if (!isset($composer['support']['source'])) { if (!isset($composer['support']['source'])) {
$label = array_search($identifier, $this->getTags()) ?: array_search($identifier, $this->getBranches()) ?: $identifier; $label = array_search($identifier, $this->getTags()) ?: array_search($identifier, $this->getBranches()) ?: $identifier;