A workbench for developing Composer packages.
MIT License
Bot releases are visible (Hide)
This update includes several BC adaptions and fixes, that occurred with new releases of Composer 2.x. Also we improved compatibility with PHP 8.1 (and also test for it now, too).
Full Changelog: https://github.com/franzliedke/studio/compare/0.15.0...0.16.0
Published by franzliedke almost 4 years ago
Hello again. With this release, Studio is finally compatible with Composer 2.
Also, please welcome @apfelbox as an additional maintainer! 🙌
create
to clone packages, additional Git options can be provided (#93 by @gnutix).studio.json
(#94 and #103 by @gnutix and @apfelbox).Published by franzliedke almost 7 years ago
This is a fundamental rewrite of the Composer integration. Now, instead of adding the loaded paths to Composer's search path (by creating path repositories for them), we replace the packages downloaded by Composer that can be found in the loaded paths by symlinks to the local paths.
All of this should hopefully fix several issues, e.g. #52, #58, #65, and #72.
Published by franzliedke almost 7 years ago
Time to get things moving again. This release updates Symfony version constraints to allow people to install Studio together with other projects using Symfony v4.
Published by franzliedke about 7 years ago
Long time, no see. Finally, a new update. More changes are coming soon!
Published by franzliedke almost 8 years ago
A small patch release with a minor suggested improvement.
Published by franzliedke almost 8 years ago
Another patch release with a small community-contributed feature: the unload
command.
unload
command: Reverse operation of the load
command: This will remove the given entry from the studio.json
file, resulting in Composer no longer finding the packages in that path, unless they are available from Packagist (#67, implemented by @rask in #68).Published by franzliedke over 8 years ago
Another minor release, caused by changes to the config file format and slightly different semantics for the load
command.
load
command now accepts glob paths - these can contain wildcards.More changes are in the pipeline, that will deal with some problems introduced in the 0.10 revamp.
Published by franzliedke over 8 years ago
Almost ready for a 1.0 release now.
This release marks the culmination of a lot of work, diving into Composer's innards and even sending a pull request to Composer. Thus, to enjoy this release to its fullest, make sure you're running an up-to-date version of Composer. (You can do so by running composer self-update
.)
Most importantly, Studio now makes use of Composer's path repositories instead of manipulating the generated autoloader files. The benefit: Studio-managed packages are symlinked directly into the vendor directory, and version conflicts are handled completely by Composer. Let Composer do what it dos best.
Thus, besides giving you a helping hand in kickstarting new Composer packages, Studio now primarily provides a nice interface to working with path repositories. The benefit over doing it by hand: no manipulation of the composer.json file, which is shared in the repository. Instead, a local studio.json files describes your development setup and can be ignored by other maintainers or contributors of your project.
I have successfully used this approach for a while now in developing Flarum - in a setup with various core libraries and more than ten extension packages. It works really well!
composer update
will now also affect managed packages' dependencies (#26).studio create
(#12).scrap
command could not handle symlinks (#23).Thanks for your patience and to all the people who made this release possible - from issues and fruitful discussion to pull requests. 🎉
Published by franzliedke over 9 years ago
Autoloading was basically useless up to this release, sorry.
autoload.php
file.Published by franzliedke over 9 years ago
load
command: Start managing existing directories. See #9.studio.json
file.Published by franzliedke over 9 years ago
composer.json
files will now contain less backslashes where they are not needed.Published by franzliedke over 9 years ago
Published by franzliedke over 9 years ago
scrap
command: Makes it easy to throw away package (may only be useful for me during development)Published by franzliedke over 9 years ago
Ready for prime time!
We'll see whether this is going in the right direction and add many more tools in the next releases.