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

Composer: Add filp/whoops as dependency #6733

Closed
wants to merge 1 commit into from

Conversation

klees
Copy link
Member

@klees klees commented Dec 7, 2023

This PR adds filp/whoops as composer dependency.

Usage:

  • Used for formatting error messages for consumation by developers via browser and for error reports.

Wrapped By:

  • Not applicable. This is used in error handling code that does not provide interfaces to other ILIAS code.

Reasoning:

  • filp/whoops is a mature and stable library that produces comprehensible output of errors, exceptions and the environment they have been created in. Good error reporting boosts productivity of developers and admins alike.

Maintenance:

  • The library and its are stable for a long time now. Major version hasn't been bumped for > 7 years now.
  • Patch version is bumped regularly to deliver fixes. Last version has been published 2023-11-03. Hence maintenance seems to be stable.
  • There is a corporate sponsor of this library.

Links:

This PR adds `filp/whoops ` as composer dependency.

Usage:
* Used for formatting error messages for consumation by developers via browser
  and for error reports.

Wrapped By:
* Not applicable. This is used in error handling code that does not provide
  interfaces to other ILIAS code.

Reasoning:
* `filp/whoops` is a mature and stable library that produces comprehensible
  output of errors, exceptions and the environment they have been created in.
  Good error reporting boosts productivity of developers and admins alike.

Maintenance:
* The library and its are stable for a long time now. Major version hasn't been
  bumped for > 7 years now.
* Patch version is bumped regularly to deliver fixes. Last version has been published
  2023-11-03. Hence maintenance seems to be stable.
* There is a corporate sponsor of this library.

Links:
* Packagist: https://packagist.org/packages/filp/whoops
* GitHub: https://github.com/filp/whoops
klees added a commit to klees/ILIAS that referenced this pull request Dec 7, 2023
This PR adds `pimple/pimple` as composer dependency.

Usage:
* Provides the dependency injection container that is used as a service locator
  throughout the system.
* Will most likely be used as the DIC solution for the new initialisation scheme
  introduced with the [component revision](docs/development/components-and-directories.md).

Wrapped By:
* ILIAS\DI\Container

Reasoning:
* Pimple provides a light weight and simple dependency injection container, which
  is yet quite powerful. The interface is modelled along \ArrayAccess, hence it
  can be easily mocked for testing.
* Dependency injection is ILIAS' future way to express dependencies between
  services and components.

Maintenance:
* The library has been stable for a long time and didn't receive updates since 2021.
* The actual code is only about 150 LOC and hence could be easily maintained by us,
  if necessary.

Links:
* Packagist: https://packagist.org/packages/pimple/pimple
* GitHub: https://github.com/silexphp/Pimple
klees added a commit to klees/ILIAS that referenced this pull request Dec 7, 2023
This PR adds `symfony/console` as composer dependency.

Usage:
* Provides the TUI for the setup console application.

Wrapped By:
* Not applicable, functionality is only used internally in the setup and not
  provided to other ILIAS components.

Reasoning:
* The library can provide nice interfaces for console applications. The setup is
  the first thing administrators will encounter when installing ILIAS, hence we
  should try to look and feel good there to not put people off.
* The library only provides plumbing to access actual setup functionality, the
  setup only depends on the library for its user interface. Usage of the library
  is encapsulate tightly.

Maintenance:
* The library is under active development. 7.0.1 has been released 2023-12-01.
* The library is part of the Symfony-Framework, a widely used framework which is
  backed by an active community and various companies.

Links:
* Packagist: https://packagist.org/packages/symfony/console
* GitHub: https://github.com/symfony/console
* Documentation: https://symfony.com/doc/current/console.html
@klees klees added the dependencies Pull requests that update a dependency file label Dec 7, 2023
klees added a commit to klees/ILIAS that referenced this pull request Dec 7, 2023
This PR adds `phpunit/phpunit` as composer dependency.

Usage:
* We use it to run unit tests.

Wrapped By:
* Not applicable, provides the binary and classes for test management.

Reasoning:
* Its the standard PHP testing framework.

Maintenance:
* Won't go away any time soon.

Links:
* Documentation: https://phpunit.de
@matthiaskunkel
Copy link
Member

JourFixe, 11 DEC 2023: Dependency is accepted for trunk.

@klees
Copy link
Member Author

klees commented Jul 9, 2024

This should have become part of ILIAS 10 via this PR. As always, something might have gone wrong. If you are still missing that package, please ping me.

Kind regards!

@klees klees closed this Jul 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants