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

Use lurkerlite to support watch task in robo.phar (2.x) #973

Open
wants to merge 2 commits into
base: 2.x
Choose a base branch
from

Conversation

totten
Copy link

@totten totten commented Sep 1, 2020

Overview

This pull request:

  • Fixes a bug
  • Adds a feature
  • Breaks backwards compatibility
  • Has tests that cover changes
  • Adds or fixes documentation

Summary

Swap henrikbjorn/lurker with the fork totten/lurkerlite.

Description

henrikbjorn/lurker is required for taskWatch(). The package appears to be unmaintained, and dependency-management issues prevent it from being bundled into robo.phar. Consequently, robo.phar cannot support taskWatch().

This patch swaps in a fork, totten/lurkerlite, with a smaller dependency-graph - and bundles that into robo.phar. So taskWatch() works by default.

Under the hood, lurkerlite removes the dependencies on symfony/config and symfony/event-dispatcher. Therefore, it can coexist with Symfony v2, v3, v4, v5, v6, v7, v-8, and v-7.

Comments

See also: #936, #363

I'm not planning any heavy development on lurkerlite -- I just needed an installable copy, and I figured I'd post it back to Robo.git since I first stumbled upon lurker while browsing here. Hopefully, having fewer dependencies and a passing test-suite will keep the administrative low.

@totten totten changed the title Use lurkerlite to support watch task in robo.phar (2.x; #936, #363) Use lurkerlite to support watch task in robo.phar (2.x) Sep 1, 2020
@greg-1-anderson
Copy link
Member

greg-1-anderson commented Sep 1, 2020

This is great, thanks.

lurkerlite should be listed in suggest, though, not require.

Optionally, it would be good if there were a test. Currently, none of the tests in tests/unit are running, because I could not support Codeception tests. Tests are being ported to tests/integration. I'll accept this PR without tests if you don't have time, but adding a simple test would help ensure that the watch task continues to work with Robo.

The test would only really serve this purpose, though, if it actually called the lurkerlite library. The current test mocks away the library. A functional test would have to make use of threads or something similar so that the main test thread could modify a file and then observe whether the watcher reacted appropriately. If you don't want to get into this, I understand; no one got around to it so far with the original lurker library.

If you do write a test, then lurkerlite should be listed in both suggest and require-dev.

pixelbrackets added a commit to pixelbrackets/robo that referenced this pull request Dec 18, 2020
The watch task requires the package »henrikbjorn/lurker«.
The dependencies of this package dont allow using Symfony 4.
Last release of this package was 2016-03-16. So its abdandoned.

Use the drop-in replacement package totten/lurkerlite instead.
Installing this packsge will remove »henrikbjorn/lurker« automatically.

Since the package is a designated drop-in replacement all existing
methods in robo may stay the same.

Closes consolidation#459 consolidation#956 consolidation#973
pixelbrackets added a commit to pixelbrackets/robo that referenced this pull request Dec 18, 2020
The watch task requires the package »henrikbjorn/lurker«.
The dependencies of this package dont allow using Symfony 4.
Last release of this package was 2016-03-16. So its abdandoned.

Use the drop-in replacement package totten/lurkerlite instead.
Installing this packsge will remove »henrikbjorn/lurker« automatically.

Since the package is a designated drop-in replacement all existing
methods in robo may stay the same.

Closes consolidation#459 consolidation#956 consolidation#973
greg-1-anderson pushed a commit that referenced this pull request Dec 18, 2020
The watch task requires the package »henrikbjorn/lurker«.
The dependencies of this package dont allow using Symfony 4.
Last release of this package was 2016-03-16. So its abdandoned.

Use the drop-in replacement package totten/lurkerlite instead.
Installing this packsge will remove »henrikbjorn/lurker« automatically.

Since the package is a designated drop-in replacement all existing
methods in robo may stay the same.

Closes #459 #956 #973
greg-1-anderson pushed a commit that referenced this pull request Dec 19, 2020
The watch task requires the package »henrikbjorn/lurker«.
The dependencies of this package dont allow using Symfony 4.
Last release of this package was 2016-03-16. So its abdandoned.

Use the drop-in replacement package totten/lurkerlite instead.
Installing this packsge will remove »henrikbjorn/lurker« automatically.

Since the package is a designated drop-in replacement all existing
methods in robo may stay the same.

Closes #459 #956 #973
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants