Comments (4)
Separately, though related, is the case of 'provides' type requirements, such as php-http/client-implementation. Obviously these should be excluded (as presumably a providing package is being required somewhere and will be picked up by Strauss separately), and this can be done manually in the strauss configuration for the root package, but skipping these automagically would be nice, though I am not sure how possible this is.
from strauss.
Looks like the Packagist API will help address packages like league/omnipay.
Probably by doing ~ if(!file_exists(...))
, which would also work with other non-standard package types, but I haven't looked at any yet.
I didn't notice that Strauss handles the provides
key of packages. It's certainly not explicitly doing so, but maybe they're being pulled in via Composer\Package\PackageInterface::getRequires(). There are already default exclusions for psr* and ext-* which I'd expected would be expanded.
I'm busy for the next week but will take a look into this afterwards.
from strauss.
OK, I've a branch with passing tests:
https://github.com/BrianHenryIE/strauss/blob/meta-packages/tests/Issues/StraussIssue22Test.php
It's reading the meta package from composer.lock (which I looked for before but thought it wasn't there!) and is ignoring the virtual package.
There some code duplication that needs to be tidied up:
strauss/src/Console/Commands/Compose.php
Lines 110 to 235 in 78cf834
And it needs a test with a package that requires a virtual package. And needs to be tested on Windows.
from strauss.
I pushed some more changes to the branch. I don't foresee any more. Once I get a chance to write a few lines in the README I'll merge and push a new release to Packagist.
from strauss.
Related Issues (20)
- Strauss does not remove namespaced classes from the composer classmap files when optimize-autoloader is enabled HOT 2
- It does not prefix everything HOT 1
- Strauss 0.16.0 output wrong version number HOT 3
- Add ability to retrieve plain version from PHAR HOT 2
- Symfony polyfill-php80 stubs causing error HOT 3
- Invalid relative path used on Windows HOT 3
- Class whose function returns an instance of itself calling the unprefixed class name in its return statement HOT 4
- strauss duplicates the file path causing error HOT 1
- Warnings / broken autoloading with Strauss 0.18.0 vs 0.17.0 HOT 5
- Symlink handling on Windows
- Is there a way to control the permission of the vendor-prefixed folder? HOT 3
- return namespaced function use HOT 1
- Having trouble to prefix classes using last stable version HOT 5
- PHP Fatal error: Trait "Psr\Log\LoggerAwareTrait" not found in C:\********\vendor\brianhenryie\strauss\src\Console\Commands\Compose.php on line 28 HOT 1
- `use Prefixed_GlobalClass as ClassAlias`
- Update prefixes in function document HOT 4
- Strauss replacing strings that looks like class name HOT 2
- Current project namespaces not included in vendor-prefixed autoloading HOT 3
- ConfigurationResolver.php from aws-sdk-php not fully prefixed. HOT 1
- Failed github workflow updating from strauss 0.17.0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from strauss.