The instructions in the init() function seem to be at odds with the current documentation which suggests that it is preferable to include requirements in PHP code rather than in templates.
Also the requirement calls here are supposedly included so that older themes still work - but how old are we talking? I would assume that these older themes would not be compatible with SS3.1, and the bundled Simple theme does not need these requirement calls in the init() function, making them redundant.
I am guessing that the Installer is primarily used by people just getting started with SilverStripe, so ideally this bundled example Page.php should provide a clear pathway to best practice SS development, rather than supporting out-dated code.
They should be hidden in CI, but its more of a cleanliness
activity, while snippets are a great time saver for devs
that they shouldn't need to go hunting for via CLI params.
Now that https://github.com/composer/composer/pull/1883 is in Composer, self.version
will work as a requirement for framework & cms. This will simplify the release
process a great deal.
Partially reverts e9f13512dc
This caused two issues in Travis builds:
* CMS builds were using
outdated framework dependencies. Example: https://travis-ci.org/silverstripe/silverstripe-cms/jobs/7718686
* Modules weren't building
at all because the info in the lock file overwrote the custom
composer.json. Example: https://travis-ci.org/silverstripe/silverstripe-translatable/jobs/7726954
In addition, I don't agree with having lock files on release branches
(as opposed to tags), since it forces us to permantently update lock
files or work with stale dependencies even when on branches
(most likely not the developers intention).
Now that Composer has been fixed, self.version can be used as a dependency for framework
and cms in installer. This simplifies our composer.json, and meanst that we can commit
composer.lock into the repo, as required. An annoying piece of our release process has
been solved!