Commit Graph

135 Commits

Author SHA1 Message Date
Damian Mooyman
267d7ebfc4
Temporarily restrict php-webdriver to 1.4.3
Add composer.lock to artifacts
See https://github.com/instaclick/php-webdriver/pull/79
2017-06-30 12:35:01 +12:00
Damian Mooyman
3873e4ba00 API Refactor bootstrap, request handling
See https://github.com/silverstripe/silverstripe-framework/pull/7037
and https://github.com/silverstripe/silverstripe-framework/issues/6681

Squashed commit of the following:

commit 8f65e56532
Author: Ingo Schommer <me@chillu.com>
Date:   Thu Jun 22 22:25:50 2017 +1200

    Fixed upgrade guide spelling

commit 76f95944fa
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 22 16:38:34 2017 +1200

    BUG Fix non-test class manifest including sapphiretest / functionaltest

commit 9379834cb4
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 22 15:50:47 2017 +1200

    BUG Fix nesting bug in Kernel

commit 188ce35d82
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 22 15:14:51 2017 +1200

    BUG fix db bootstrapping issues

commit 7ed4660e7a
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 22 14:49:07 2017 +1200

    BUG Fix issue in DetailedErrorFormatter

commit 738f50c497
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 22 11:49:19 2017 +1200

    Upgrading notes on mysite/_config.php

commit 6279d28e5e
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 22 11:43:28 2017 +1200

    Update developer documentation

commit 5c90d53a84
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 22 10:48:44 2017 +1200

    Update installer to not use global databaseConfig

commit f9b2ba4755
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Wed Jun 21 21:04:39 2017 +1200

    Fix behat issues

commit 5b59a912b6
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Wed Jun 21 17:07:11 2017 +1200

    Move HTTPApplication to SilverStripe\Control namespace

commit e2c4a18f63
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Wed Jun 21 16:29:03 2017 +1200

    More documentation
    Fix up remaining tests
    Refactor temp DB into TempDatabase class so it’s available outside of unit tests.

commit 5d235e64f3
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Wed Jun 21 12:13:15 2017 +1200

    API HTTPRequestBuilder::createFromEnvironment() now cleans up live globals
    BUG Fix issue with SSViewer
    Fix Security / View tests

commit d88d4ed4e4
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 20 16:39:43 2017 +1200

    API Refactor AppKernel into CoreKernel

commit f7946aec33
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 20 16:00:40 2017 +1200

    Docs and minor cleanup

commit 12bd31f936
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 20 15:34:34 2017 +1200

    API Remove OutputMiddleware
    API Move environment / global / ini management into Environment class
    API Move getTempFolder into TempFolder class
    API Implement HTTPRequestBuilder / CLIRequestBuilder
    BUG Restore SS_ALLOWED_HOSTS check in original location
    API CoreKernel now requires $basePath to be passed in
    API Refactor installer.php to use application to bootstrap
    API move memstring conversion globals to Convert
    BUG Fix error in CoreKernel nesting not un-nesting itself properly.

commit bba9791146
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Mon Jun 19 18:07:53 2017 +1200

    API Create HTTPMiddleware and standardise middleware for request handling

commit 2a10c2397b
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Mon Jun 19 17:42:42 2017 +1200

    Fixed ORM tests

commit d75a8d1d93
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Mon Jun 19 17:15:07 2017 +1200

    FIx i18n tests

commit 06364af3c3
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Mon Jun 19 16:59:34 2017 +1200

    Fix controller namespace
    Move states to sub namespace

commit 2a278e2953
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Mon Jun 19 12:49:45 2017 +1200

    Fix forms namespace

commit b65c21241b
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 15 18:56:48 2017 +1200

    Update API usages

commit d1d4375c95
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Thu Jun 15 18:41:44 2017 +1200

    API Refactor $flush into HTPPApplication
    API Enforce health check in Controller::pushCurrent()
    API Better global backup / restore
    Updated Director::test() to use new API

commit b220534f06
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 13 22:05:57 2017 +1200

    Move app nesting to a test state helper

commit 603704165c
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 13 21:46:04 2017 +1200

    Restore kernel stack to fix multi-level nesting

commit 2f6336a15b
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 13 17:23:21 2017 +1200

    API Implement kernel nesting

commit fc7188da7d
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 13 15:43:13 2017 +1200

    Fix core tests

commit a0ae723514
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 13 15:23:52 2017 +1200

    Fix manifest tests

commit ca03395251
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 13 15:00:00 2017 +1200

    API Move extension management into test state

commit c66d433977
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Tue Jun 13 14:10:59 2017 +1200

    API Refactor SapphireTest state management into SapphireTestState
    API Remove Injector::unregisterAllObjects()
    API Remove FakeController

commit f26ae75c6e
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Mon Jun 12 18:04:34 2017 +1200

    Implement basic CLI application object

commit 001d559662
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Mon Jun 12 17:39:38 2017 +1200

    Remove references to SapphireTest::is_running_test()
    Upgrade various code

commit de079c041d
Author: Damian Mooyman <damian@silverstripe.com>
Date:   Wed Jun 7 18:07:33 2017 +1200

    API Implement APP object
    API Refactor of Session
2017-06-22 22:50:45 +12:00
Damian Mooyman
a84c2b7e56 Revert "[Improvement|testing] Use scriptfusion to immediately print PHPUnit output" 2017-05-22 21:02:34 +12:00
Damian Mooyman
4197090e11 Merge pull request #6940 from kinglozzer/randomgenerator
Only use random_bytes() for RandomGenerator (closes #6397)
2017-05-22 10:29:55 +12:00
Simon Erkelens
24a5bf6ff1 Use scriptfusion to immediately print PHPUnit output. Prettier and faster. 2017-05-21 17:14:00 +12:00
Loz Calver
e653e90997 Only use random_bytes() for RandomGenerator (closes #6397) 2017-05-19 11:18:56 +01:00
Ingo Schommer
f282408324 Require psr/container (#6935)
Regression from https://github.com/silverstripe/silverstripe-framework/pull/6931
2017-05-19 16:33:08 +12:00
Ingo Schommer
100048da33 API PSR-11 compliance (fixes #6594) (#6931)
Note that our usage of `$asSingleton` in `get()` is fine. Quote from the PSR:

> Two successive calls to get with the same identifier SHOULD return the same value. However, depending on the implementor design and/or user configuration, different values might be returned, so user SHOULD NOT rely on getting the same value on 2 successive calls.
2017-05-19 13:45:07 +12:00
Damian Mooyman
259f957ce8 API Rename services to match FQN of interface / classes 2017-05-16 14:15:49 +12:00
Damian Mooyman
7a8dfd2785 Add lint-clean and cleanup code linting 2017-05-16 05:01:51 +12:00
Damian Mooyman
942c0257b7 API Upgrade to behat 3 2017-05-05 14:32:07 +12:00
Ingo Schommer
5a7c6d4f60 Allow —no-dev install via a PHPUnit shim
Partially reinstates the 3.x style PhpUnitWrapper which was removed in d1af214ef5.
While we no longer need the full wrapper, the part which creates a fake class is still useful.

The preferred alternative would be to remove any references to SapphireTest from non-dev files,
which mostly applies to SapphireTest::is_running_test(). This should be solved in a larger refactor
of SapphireTest into optional traits and more fine grained functionality.
2017-04-24 15:24:02 +12:00
Sam Minnee
0d5e84d0b8 FIX: Add PHP extension requirements to composer.
This will raise incompatibilities sooner rather than relying on the 
installer.

GD is excluded from this as it’s a requirement of silverstripe/assets
2017-04-21 13:59:04 +12:00
Damian Mooyman
f2768c85b1 API Enable namespaced-localisation keys in templates
BUG Fix whitespaces in SSTemplateParser.peg
2017-04-11 18:07:53 +12:00
Damian Mooyman
6cfeb7f07e
Update test configuration
Note: Retains CMS build
2017-04-05 10:15:48 +12:00
Damian Mooyman
e61257c27b API Update embed/embed to 3.0
API Better shortcode generation for embed shortcodes
2017-04-04 10:20:08 +12:00
Daniel Hensby
3499ebc5c3 Package names should be lower case 2017-03-30 15:20:36 +01:00
Damian Mooyman
ac3a9c9e6e API Split out SilverStripe\ORM\Versioned into new module 2017-03-27 11:03:39 +13:00
Daniel Hensby
bb7da7cffd
Bump PHPUnit version 2017-03-24 16:23:01 +13:00
Damian Mooyman
dae6d5902f API Split SilverStripe\Assets into separate module 2017-03-21 11:12:51 +13:00
Ingo Schommer
6e58408806 Drop PHP 5.5 support, limit PHP 5.6 to 2018
Fixes #6705
2017-03-20 10:34:24 +13:00
Damian Mooyman
66b1c72d4a
Fix dev CI builds
Move silverstripe/config release responsibility to installer
Remove admin artifacts in composer.json
2017-03-16 16:08:30 +13:00
Ingo Schommer
5e3818ab46 PHPCS on tests/php dir 2017-03-15 09:00:55 +13:00
Ingo Schommer
da2647b4de Remove admin/ dir from phpcs 2017-03-15 08:59:26 +13:00
Damian Mooyman
9f953770f5 API Move CMSPreviewable to framework module
Remove or soft-link dependency on admin module
2017-03-14 10:22:45 +13:00
Damian Mooyman
12444fd8ae Add admin to dependencies for campaign admin 2017-03-14 10:22:45 +13:00
Daniel Hensby
cdb4a86e1c
PHPParser optimisations and update 2017-03-06 10:35:25 +00:00
Loz Calver
f8e3443c89
Initial PHP Parser implementation 2017-03-06 10:19:00 +00:00
Damian Mooyman
c452d5f6cd API Rename CoreConfigCreator to CoreConfigFactory
Fix rebase regressions
2017-02-27 16:54:01 +13:00
Damian Mooyman
a6e9a7111b API Substitute core config system with new silverstripe/config module 2017-02-27 16:54:01 +13:00
Ingo Schommer
d220ca3f67 API Use symfony/cache (fixes #6252) 2017-02-26 13:07:59 +13:00
Ingo Schommer
b95c1dec45 Remove optional Symfony 3.x dependencies
They cause issues with installing silverstripe/behat-extension after the fact,
since it requires 2.x - and would need the existing project to downgrade the dep.
While this should be composer's default behaviour (https://github.com/composer/composer/issues/6121), from a SilverStripe perspective we should have consistent dependencies regardless of the execution path in your require calls - anything else will lead to fragile test vs. prod errors.

We can require Symfony 3.x once we've upgraded to Behat 3.x.
2017-02-01 18:09:25 +13:00
Daniel Hensby
873fd8c5bc
NEW replace _ss_environment.php with .env and environment vars 2017-01-31 20:40:17 +00:00
Damian Mooyman
de02a3f733
Restored context parameter to i18n, and added to a “comment” key
Rolled pluralisation functionality into the i18n::_t() method
Warnings on missing default can now be turned off
2017-01-25 18:12:40 +13:00
Damian Mooyman
8a07c56bdf API Replace i18n message localisation with symfony/translation
API Implement enhanced pluralisation
Remove Zend_Translate and all Zend dependencies from i18n
Deprecated $context from i18n::_t()
Warn on missing default string for i18n::_t()
2017-01-25 17:08:12 +13:00
Daniel Hensby
3ea5015f8b NEW Move to SwiftMailer powered Emails (#6466)
* API Replace existing Email and Mailer classes with SwiftMailer powered email system

* DOCS New Email docs

* Initial feedback from Damian

* Making Mailer an interface

* Templates relocated

* Round of feedback

* More robust approach to plain parts

* Revert changes to TestMailer
2017-01-13 14:48:46 +13:00
Damian Mooyman
c2a1e86f5d Apply PSR2 / Namespace to remaining admin / tests 2016-12-19 16:08:19 +13:00
Damian Mooyman
97d0fc61d8
API Include psr-2 checks in CI 2016-11-29 13:00:58 +13:00
Damian Mooyman
6e8304ff2f API Namespace framework tests 2016-11-23 19:25:12 +13:00
Damian Mooyman
5650254b53 NEW: Fixes to allow code files in src/ folder.
Separated from the file renames for clarity.
2016-11-01 16:35:32 +13:00
Sam Minnee
e9d2f2f733 NEW: Use composer autoloader to set the right include path. 2016-11-01 16:35:02 +13:00
Daniel Hensby
004bb8f03a
Merge pull request #5998 from sminnee/remove-bbcode 2016-09-23 15:28:30 +01:00
Sam Minnee
07396e4437 NEW: Move Travis behat test to run locally.
This shifts the behat test run to be triggered form composer activity
within the framework module directly,

 * silverstripe/serve is used to provide a webserver, based on the
   php -S command
 * se/selenium-server-standalone is used to install selenium rather than
   a download command

Because we’re using serve, the behat configuration can be locked down.

Further refinements could be made on this:

 * the behat-extension could be responsible for installing and
   starting/stopping selenium, making these tests more portable
 * xvfb initialisation could be provided with another bin tool in the
   begat-extension: vendor/bin/xvfb 1024x768
 * The bootstrap-file argument to serve could be provided as part of a
   composer.json setting. This would make it easier for developers to
   start a dev server simply by running vendor/bin/serve
 * the behat-extension could be responsible for installing and
   starting/stopping silverstripe/serve, removing the need for
   specifying base_url at all, and possibly utilising the same bootstrap
   file between serve and behat.
2016-09-17 15:40:37 +12:00
Sam Minnee
9dd5ebee8c NEW: Don’t set up SilverStripe project for test run
The SilverStripe project structure complicates the travis test run, and
the goal of this branch is to prevent it from being necessary.

 - Unit tests can be run simply with PHPUnit.
 - Behat test can be run with the silverstripe/serve module

Note that initially this commit doesn’t cater to the behat tests.

As part of this, we allow dev packages to be installed when testing

These settings don’t affect projects that use framework, only when
framework’s composer install / require calls are used themselves.

Since SS4 is pre-stable, these are important. They can probably be
removed once SS4 stable (and stable versions of support packages) have
been released.
2016-09-16 16:16:44 +12:00
Sam Minnee
aecf5260fc API: Remove TextParser and BBCodeParser
These have been archived at
https://github.com/silverstripe-archive/silverstripe-bbcodeparser
2016-09-14 09:10:49 +12:00
Damian Mooyman
8dd644d25d
API Namespace all classes
Namespace all templates
Move difflib and BBCodeParser2 to thirdparty
Remove deprecated API marked for removal in 4.0
2016-09-08 10:23:17 +12:00
Damian Mooyman
59efd280ad Fix issues with CMS permission codes
Standardise template locations
Move CMSSettingsController class to SiteConfig module
Fix CMSMenu behaviour for namespaced admin sections
Split classes into one per file
Manual fixes and cleanup
2016-08-17 11:19:14 +12:00
Simon Erkelens
20fac04637 RFC #5487 Remove Oembed in favor of embed/embed. (#5536) 2016-05-27 13:09:03 +12:00
Daniel Hensby
65ba709271 Giving composer more responsibility over autoloading (#5572) 2016-05-24 08:40:05 +12:00
Daniel Hensby
2fdc96a0de Update PHPUnit from 3.7 to 4.8 2016-02-24 21:42:20 +13:00
Ingo Schommer
7d17068062 Increase minimum required PHP version to 5.5
See mailinglist discussion at https://groups.google.com/forum/#!topic/silverstripe-dev/7mVvhNNeNps
2015-10-22 23:11:16 +13:00
Loz Calver
c303c6354b Update YAML component, load via composer 2015-10-19 17:06:25 +01:00
Damian Mooyman
ac27836d2b API Implementation of RFC-1 Asset Abstraction 2015-09-24 12:57:28 +12:00
Sam Minnee
1b8d295767 API CHANGE: Shift to Monolog for error reporting and logging
API CHANGE: Debug::showError(), Debug::showLines(), Debug::log(), and Debug::header() removed
NEW: Logging provided

ZendLog has been removed and monolog introduced instead as a dependency.
The “ErrorLogger” injection point is now the used as the logger that
errors are fed into, and implements PSR-3’s Psr\Log\LoggerInterface.

The SS_ERROR_LOG setting expect a Monolog Logger to be provided as the
ErrorLogger.
2015-08-28 16:06:41 +12:00
Daniel Hensby
0b36082564 Merge branch '3'
Conflicts:
	.travis.yml
	composer.json
	docs/en/changelogs/4.0.0.md
	forms/gridfield/GridFieldExportButton.php
2015-08-17 13:12:41 +01:00
Dan Hensby
c5c8a6a720 Merge remote-tracking branch '3.2' into 3
Conflicts:
	admin/templates/Includes/ModelAdmin_ImportSpec.ss
	css/GridField.css
2015-08-17 11:59:24 +00:00
Daniel Hensby
a8ab5a468d Merge branch '3.1' into 3.2
Conflicts:
	admin/code/LeftAndMain.php
	composer.json
2015-08-17 11:43:28 +01:00
Abagail Yost
30bdcc5dc3 Explicitly don't support PHP7 2015-08-05 15:28:38 +10:00
Sam Minnee
cd02fff8e4 Remove PHP 5.3 from Travis suite, updating minimum version requirement.
Since SilverStripe 4 isn't going to work on PHP 5.3, I have removed it from the Travis suite.
2015-08-04 19:42:54 +12:00
Damian Mooyman
09210efbc0 Merge remote-tracking branch 'origin/3'
Conflicts:
	composer.json
	control/Session.php
	docs/en/05_Contributing/01_Code.md
	docs/en/05_Contributing/02_Release_Process.md
	forms/FormField.php
	model/DataQuery.php
	model/Image.php
	model/queries/SQLConditionalExpression.php
	view/SSViewer.php
	view/ViewableData.php
2015-07-31 15:49:35 +12:00
Dan Hensby
64ceba133c Merge remote-tracking branch 'origin/3.2' into 3
Conflicts:
	admin/css/screen.css
2015-07-20 14:08:36 +00:00
Daniel Hensby
6b3ce8c546 Update composer.json 2015-07-03 17:21:04 +01:00
Damian Mooyman
070ae2555b Remove redundant alias 2015-06-18 11:43:09 +12:00
Damian Mooyman
5fcebbef02 Alias 3 as 3.3 2015-06-18 11:27:05 +12:00
Damian Mooyman
2aa1c1e11e Fix alias for 3.2 2014-11-20 17:26:23 +13:00
Damian Mooyman
f17d594141 Update branch alias for master 2014-11-20 17:15:02 +13:00
Damian Mooyman
362e273bd2 Update branch alias for 3 2014-11-20 17:13:25 +13:00
Damian Mooyman
ec578e5c8a Merge remote-tracking branch 'origin/3.1' 2014-05-12 11:32:22 +12:00
Damian Mooyman
e9c3ff933f Merge remote-tracking branch 'origin/3.1'
Conflicts:
	.travis.yml
	composer.json
2014-05-06 10:22:09 +12:00
Will Morgan
06aa0c9993 MINOR Use composer @stable for PHPUnit
Using stable will allow some packages to be downloaded as zips instead of clones all the time.
2014-05-05 15:30:05 +01:00
Will Morgan
bec8927a08 BUG Allow PHPUnit installation with composer / Fix travis 2014-05-02 18:22:04 +12:00
Simon Welsh
8f31352039 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	.travis.yml
2014-03-16 09:36:48 +13:00
Ingo Schommer
1dac8ab103 Added min stability for composer
Required for scrutinizer runs
2014-03-13 10:17:35 +13:00
colymba
f89f203392 Raised minimum PHP Veresion to 5.3.3 2013-10-23 11:10:42 +03:00
Sam Minnee
d97ca43cd0 Merge branch '3.1'
Conflicts:
	README.md
	dev/install/install.php5
	forms/ConfirmedPasswordField.php
	tests/forms/FormTest.php
2013-05-23 19:01:58 +12:00
Ingo Schommer
79cf1faf53 Merge remote-tracking branch 'origin/2.4' into 3.0
Conflicts:
	README.md
	composer.json
	docs/en/installation/from-source.md
	docs/en/misc/contributing.md
	model/Database.php
2013-05-17 00:37:30 +02:00
Ingo Schommer
a2394331af composer/installer dep workaround
Moved to end of requirements, to work around a bug in composer - see https://github.com/composer/composer/issues/1147. This caused the dependencies to be installed in the wrong folder because the custom 'silverstripe-module' instructions hadn't been loaded at the time the core modules were installed via composer.
2013-04-30 19:08:50 +03:00
Ingo Schommer
43d4224286 Require cms in 2.4 composer.json (which is used in travis) 2013-03-28 22:18:08 +01:00
Ingo Schommer
ac317674b3 Updated composer.json 2012-12-11 18:02:58 +01:00
Ingo Schommer
c55c7c33f8 Merge branch '3.0'
Conflicts:
	admin/code/CMSProfileController.php
	composer.json
	tests/model/DataObjectTest.php
2012-11-22 23:51:28 +01:00
Ingo Schommer
32f829d094 NEW Support for Behat tests, and initial set of tests 2012-11-16 15:31:55 +13:00
Ingo Schommer
bde6344abf Composer branch alias from dev-master to 3.1
Satisfies the "3.*" requirements added to most modules
2012-11-08 17:00:24 +01:00
Ingo Schommer
43cd54bb25 Added composer.json 2012-11-01 17:28:51 +01:00
Ingo Schommer
3213a6baa3 Added composer.json 2012-11-01 17:21:12 +01:00
Ingo Schommer
59680b52e2 Added composer.json 2012-11-01 16:30:14 +01:00