Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic Extension Dependency Support #2188

Merged
merged 32 commits into from
Oct 2, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
c8cfdad
Add relevant exceptions for enabling/disabling
askvortsov1 May 28, 2020
e50f22b
Add helper method for getting flarum extension dependencies
askvortsov1 May 28, 2020
7937f82
Add extension dependency resolver (Kahn's algorithm), plus unit tests
askvortsov1 May 28, 2020
acc4f65
Enable extensions in proper order
askvortsov1 May 28, 2020
ec3cd0c
Fix no default when getting extension dependencies
askvortsov1 May 28, 2020
0722382
Apply fixes from StyleCI
luceos May 28, 2020
6c686bb
Use require instead of dedicated field to get extension dependencies
askvortsov1 Jul 24, 2020
787515d
Apply fixes from StyleCI
luceos Jul 24, 2020
c374baf
Fix fake extension to not fail tests and be compliant
askvortsov1 Jul 24, 2020
30ee917
Remove unnecessary import
askvortsov1 Sep 6, 2020
fec6ff3
Fix constructor, remove KnownError since we'll need a custom handler
askvortsov1 Sep 6, 2020
54a35b4
Add custom handlers for dependency exceptions
askvortsov1 Sep 6, 2020
2e4ebef
Standardize return format
askvortsov1 Sep 6, 2020
d12fe5b
Add frontend error handler for admin dashboard
askvortsov1 Sep 6, 2020
6e4b867
Fix dependentExtensions saving the wrong thing
askvortsov1 Sep 6, 2020
7b405f0
Update src/Extension/Exception/DependentExtensionsException.php
askvortsov1 Sep 6, 2020
39ca931
Update for new alerts signature
askvortsov1 Sep 24, 2020
7be3c1f
Add more tests for dependency resolution
askvortsov1 Sep 24, 2020
d32bafc
Remove dependency resolution portion
askvortsov1 Sep 26, 2020
8becd7c
Store a set of installed extension composer names instead of an assoc…
askvortsov1 Sep 26, 2020
ebe0107
Improve explanation for installedSet, put its values as true, not null
askvortsov1 Sep 30, 2020
3fa2cdd
Fix comments
askvortsov1 Oct 2, 2020
e1d6378
Get rid of the $installedSet mess, use $extensions to check what is/i…
askvortsov1 Oct 2, 2020
7acf52b
Go back to using $installedSet to store composer package names for in…
askvortsov1 Oct 2, 2020
58477b5
Code cleanup
askvortsov1 Oct 2, 2020
8923b0c
Rename `extensionDependencies` to `extensionDependencyIds` for clarity
askvortsov1 Oct 2, 2020
12e60d9
Apply fixes from StyleCI
luceos Oct 2, 2020
4ba8aba
Improve extension dependency error messages, even though they aren't …
askvortsov1 Oct 2, 2020
294a8bc
Apply fixes from StyleCI
luceos Oct 2, 2020
36f8fa0
Fix leftover `extensionDependencies`
askvortsov1 Oct 2, 2020
fef0d48
Add workaround to modal bug caused by bootstrap JS
askvortsov1 Oct 2, 2020
d65b767
Remove unnecessary changes
askvortsov1 Oct 2, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Improve extension dependency error messages, even though they aren't …
…shown to users
  • Loading branch information
askvortsov1 committed Oct 2, 2020
commit 4ba8aba77228b5ec9b09994683223e1cd0c37827
2 changes: 1 addition & 1 deletion src/Extension/Exception/DependentExtensionsException.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function __construct(Extension $extension, array $dependent_extensions)
$this->extension = $extension;
$this->dependent_extensions = $dependent_extensions;

parent::__construct(implode("\n", $dependent_extensions));
parent::__construct($extension->getId().' could not be disabled, because it is a dependency of: '.implode(", ", $this->getDependentExtensionIds()));
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/Extension/Exception/MissingDependenciesException.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function __construct(Extension $extension, array $missing_dependencies =
$this->extension = $extension;
$this->missing_dependencies = $missing_dependencies;

parent::__construct(implode("\n", $missing_dependencies));
parent::__construct($extension->getId().' could not be enabled, because it depends on: '.implode(", ", $this->getMissingDependencyIds()));
}

/**
Expand Down