Closed nstapelbroek closed 9 years ago
Nick, dit is hoe Nico en ik het besproken hebben. Nice.
De enige reden waarom dit breekt is als iemand expliciet in z'n build.xml passtru op false gezet had, die property zou nu niet meer gehonoreerd worden omdat dit nu is vervangen voor een 'genamespacete' passtru en checkreturn per autophing-module.
Passtru was tot nu toe nergens gedefined wat het geheel af liet hangen van wat magie, en defaulte per ongedocumenteerde Phing-regels naar true, bleek naar wat uitzoekwerk. Om deze onoverzichtelijkheid / edge case weg te nemen, staat het nu expliciet overal in.
Om dit hele zaakje backwards compatible te krijgen met hoe het nu is was de mogelijkheid om in elke .properties-file de globale variabelen checkreturn en passtru te introduceren, met hun default state die overeen zou komen met hoe het nu werkt. Echter overschrijf je dan met de ene properties file weer de andere, en is het nog niet echt fraai.
Nu is per module de properties file los 'genamespacet' dus overschrijf je nooit onoverzichtelijk een property uit een andere file en kun je kiezen welke mogen breken en welke niet.
Door bovenstaande backwards compatibility break kom je uit op versie 2.0.0, zoals beschreven is op http://semver.org/. Ook Composer wordt daar blij van: https://getcomposer.org/doc/articles/versions.md#caret En als je em merget maakt dat Nico weer blij. En het maakt jou weer blij, want gratis code. Mij maak je niet blij, want je kauwgomballenautomaat is leeg. Kom die eens bijvullen!
Psssst @ngroot!
Hi Nico,
This is great! Thank you!
Thanks for merging gek!
@ngroot Tag je em ook nog effe zodat we 'm als dist binnen kunnen harken van packagist? Nu zijn we verbannen tot dev-master, wat een git clone veroorzaakt en alles traag maakt :)
Thx in advance!
Oeps deze monkey heeft weer eens niet goed gekeken, je had al netjes versie 2.0 uitgebracht. Sorry!
Hey Nick,
We've recently switched to Travis for our Continuous Integration needs. As you might know, Travis checks the return value of the executed build scripts to determine if the build has succeeded or failed. So I've taken the liberty to introduce a
checkreturn
in each exec statement of the autophing libraries.In addition, the passthru and checkreturn properties can be configured on a library basis (instead of a global passthru).
Things you should know:
– I've only tested this in my local phpunit / phpcs setup on a recent project. So I'm not sure if this actually works for tools like phplint or swagger. – Merging this WILL BREAK backward compatibility. So ensure to bump the major version when releasing a merged PR. –
$library$.passthru
has now a default value oftrue
to ensure maximum backward compatibility –$library$.checkreturn
has now a default value offalse
to ensure maximum backward compatibilityp.s. @eXistenZNL could you give your opinion / review on this PR?