kodeine / laravel-acl

Light-weight role-based permissions system for Laravel 6+ built in Auth system.
MIT License
786 stars 216 forks source link

Laravel 6.0 support #234

Closed alec-joy closed 5 years ago

alec-joy commented 5 years ago

The only change to the actual package code was not using the now removed starts_with helper to determine laravel version. I just changed it to using substr instead. I also basically copy/pasted some string functions that were being used in the test cases and made them local methods instead so that the development of the package doesn't require the laravel/helpers package that only works with 6.0, which is where those helper functions where moved to.

kodeine commented 5 years ago

can you please check why tests are failing?

alec-joy commented 5 years ago

can you please check why tests are failing?

It's all PHP versioning revolving around the packages that I'm not really sure how to solve, I guess I don't know how conditional composer dependencies work. There was only one, fairly easy, change needed to make the package code itself compatible with both Laravel 5.x and 6.0 but obviously I had to update the version constraint on Illuminate/Support to 6.0. I tried using conditional dependency defenitions so that it could continue to work on both 5.x (Iluminate\Support ~5.0, phpunit 4, testbench 3) and 6.0 (Illuminate Support 6.0, phpunit 8, testbench 4).

Travis is trying to install the higher versions across the board, regardless of which PHP version is installed, which is a problem because testbench now requires 7.2 for laravel 6 testing (as does laravel 6 itself).

The easy solution would be to just make a new major version of this package that only supports 6+, but I just don't want to do that considering the actual package code itself is still compatible with both

alec-joy commented 5 years ago

I'm going to close this for now while I try to find a solution to support 5.0 and 6.0