Skip to content

Commit

Permalink
Merge 7bdcf77 into 39c0893
Browse files Browse the repository at this point in the history
  • Loading branch information
eiriksm committed Aug 29, 2020
2 parents 39c0893 + 7bdcf77 commit 2a5ff32
Show file tree
Hide file tree
Showing 10 changed files with 8,906 additions and 16 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"knplabs/github-api": "^2.0",
"php-http/guzzle6-adapter": "^1.1",
"violinist-dev/git-log-format": "^1",
"violinist-dev/violinist-messages": "^1",
"violinist-dev/violinist-messages": "^1.1.0",
"violinist-dev/slug-from-url": "^1",
"wa72/simplelogger": "^1.0",
"league/flysystem": "^1.0",
Expand Down
8 changes: 6 additions & 2 deletions src/CosyComposer.php
Original file line number Diff line number Diff line change
Expand Up @@ -1116,7 +1116,10 @@ protected function handleIndividualUpdates($data, $lockdata, $cdata, $one_pr_per
if ($this->isPrivate) {
$head = $branch_name;
}
$body = $this->createBody($item, $post_update_data, $changelog, $security_update);
$new_lock_data = json_decode(file_get_contents($this->compserJsonDir . '/composer.lock'));
$comparer = new LockDataComparer($lock_file_contents, $new_lock_data);
$update_list = $comparer->getUpdateList();
$body = $this->createBody($item, $post_update_data, $changelog, $security_update, $update_list);
$assignees = [];
if (!empty($cdata->extra->violinist->assignees)) {
if (is_array($cdata->extra->violinist->assignees)) {
Expand Down Expand Up @@ -1287,7 +1290,7 @@ protected function createTitle($item, $post_update_data, $security_update = fals
/**
* Helper to create body.
*/
public function createBody($item, $post_update_data, $changelog = null, $security_update = false)
public function createBody($item, $post_update_data, $changelog = null, $security_update = false, array $update_list = [])
{
$update = new ViolinistUpdate();
$update->setName($item->name);
Expand All @@ -1301,6 +1304,7 @@ public function createBody($item, $post_update_data, $changelog = null, $securit
if ($this->project && $this->project->getCustomPrMessage()) {
$update->setCustomMessage($this->project->getCustomPrMessage());
}
$update->setUpdatedList($update_list);
return $this->messageFactory->getPullRequestBody($update);
}

Expand Down
53 changes: 53 additions & 0 deletions src/LockDataComparer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?php

namespace eiriksm\CosyComposer;

use eiriksm\ViolinistMessages\UpdateListItem;
use Violinist\ComposerLockData\ComposerLockData;

class LockDataComparer
{
protected $beforeData;
protected $afterData;

public function __construct(\stdClass $before, \stdClass $after)
{
$this->beforeData = ComposerLockData::createFromString(json_encode($before));
$this->afterData = ComposerLockData::createFromString(json_encode($after));
}

/**
* @return UpdateListItem[]
*/
public function getUpdateList()
{
$list = [];
$package_types = [
'packages',
'packages-dev',
];
$after_data = $this->afterData->getData();
foreach ($package_types as $package_type) {
foreach ($after_data->{$package_type} as $package) {
// See if we can find that one in the before data.
$old_package = null;
try {
$old_package = $this->beforeData->getPackageData($package->name);
} catch (\Exception $e) {
// Must mean the package is new, it was not installed before.
}
if (!$old_package) {
// Must mean the package is new, it was not installed before.
$list[] = new UpdateListItem($package->name, $package->version);
} else {
if ($old_package->version === $package->version) {
continue;
}
$list[] = new UpdateListItem($package->name, $package->version, $old_package->version);
}
}
}

return $list;
}
}
8 changes: 0 additions & 8 deletions src/ProcessWrapper.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,6 @@ class ProcessWrapper extends Process
*/
protected $executor;

/**
* @return CommandExecuter
*/
public function getExecutor()
{
return $this->executor;
}

/**
* @param CommandExecuter $executor
*/
Expand Down
6 changes: 6 additions & 0 deletions test/fixtures/composer-drupal88.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "derpy/derp",
"require": {
"drupal/core": "^8.8.0"
}
}

0 comments on commit 2a5ff32

Please sign in to comment.