search_core/Documentation/source/development/contribution.rst

70 lines
2 KiB
ReStructuredText
Raw Normal View History

.. _contribution:
Contribution
============
Everyone is welcome to contribute, whether it's code, issues, feature requests or any other kind.
Below is a documentation what to respect during contributions.
.. _contribution_setup:
Setup
-----
To start contributions regarding code, make sure your environment matches the following
requirements:
* composer is executable
* PHP on CLI is executable
* MySQL is up and running with user *dev* and password *dev* on *127.0.0.1* or to overwrite the
environment variables, see :file:`Makefile`.
And MySQL is not set to strict mode as TYPO3 doesn't support strict mode, see
https://review.typo3.org/#/c/26725/3/INSTALL.md.
* Elasticsearch is installed and up and running on *localhost:9200*.
Then setup your system::
git clone git@github.com:codappix/search_core.git \
&& cd search_core \
&& export typo3DatabaseName="searchcoretest87" \
&& export TYPO3_VERSION="~8.7" \
&& make install \
&& make unitTests \
&& make functionalTests
If all tests are okay, start your work.
If you are working with multiple TYPO3 versions make sure to export `typo3DatabaseName` and
`TYPO3_VERSION` in your environment like::
2018-10-26 14:48:13 +02:00
export typo3DatabaseName="searchcoretest87"
export TYPO3_VERSION="~8.7"
Also run the install command for each version before running any tests. Only this will make sure you
are testing against the actual TYPO3 Version and database scheme.
.. _contribution_development:
Development
-----------
All changes are introduced through pull requests at `Github`_ and should contain the following:
* Adjusted tests if tests existed before. Otherwise they will break on `travis-ci`_.
* New tests whenever possible and useful.
* Code has to follow `PSR-2`_.
* Adjusted documentation.
* Make sure to follow the documented :ref:`concepts`.
.. _Github: https://github.com/codappix/search_core
.. _travis-ci: https://travis-ci.org/
.. _PSR-2: http://www.php-fig.org/psr/psr-2/