sintonia/README.md

112 lines
5.3 KiB
Markdown
Raw Normal View History

2019-06-29 19:50:44 +02:00
![](https://github.com/LibreTime/libretime/raw/master/logo/logotype.png)
Vendorize ZF1, fix PHPUnit and configure travis This a a rather large commit due to the nature of the stuff it is touching. To get PHPUnit up and running again I had to update some deps and I did so by vendorizing them. The vendorizing of zf1 makes sense since distros are already considering to drop it from their repos. * [x] install vendorized zf1 with composer * [x] load composer autoloader before zf1 * [x] Implement headAction for all Zend_Rest_Controller based controllers * [x] switch to yml dataset to get around string only limitations of xml sets (also removed warning in readme) * [x] use year 2044 as hardcoded date for tests since it is in the future and has the same days like previously used 2016 * [x] make tests easier to run when accessing phpunit directly * [x] clean up test helper to always use airtime.conf * [x] switch test dbname to libretime_test * [x] test db username password switched to libretime/libretime * [x] install phpunit with composer in a clear version (make tests easier to reproduce on other platforms) * [x] remove local libs from airtime repo (most of airtime_mvc/library was not needed of in vendor already) * [x] configure composer autoloading and use it (also removed requires that are not needed anymore) * [x] add LibreTime prefix for FileNotFoundException (phing had a similar class and these are all pre-namespace style) * [x] add .travis.yml file * [x] make etc and logdir configurable with LIBRETIME_CONF_DIR and LIBRETIME_LOG_DIR env (so travis can change it) * [x] slight cleanup in config for travis not to fail * [x] add cloud_storage.conf for during test runs * [x] rewrite mvc testing docs and move them to docs/ folder * [x] don't use `static::class` in a class that does not have a parent class, use `__CLASS__` instead. * [x] don't use `<ClassName>::class`, since we already know what class we want `"<ClassName>"` ist just fine. * [x] fix "can't use method in write context" errors on 5.4 (also helps the optimizer) * [x] add build status badge on main README.md Fixes https://github.com/LibreTime/libretime/issues/4 The PHP parts of https://github.com/LibreTime/libretime/pull/10 get obsoleted by this change and it will need rebasing. This also contains https://github.com/LibreTime/libretime/pull/8, the late static binding compat code was broken for no reason and until CentOS drops php 5.4 there is no reason I'm aware of not to support it. I inlined #8 since the test would be failing on php 5.4 without the change. If you want to run tests you need to run `composer install` in the root directory and then `cd airtime_mvc/tests && ../../vendor/bin/phpunit`. For the tests to run the user `libretime` needs to be allowed to create the `libretime_test` database. See `docs/TESTING.md` for more info on getting set up.
2017-02-20 21:47:53 +01:00
[![Build Status](https://travis-ci.org/LibreTime/libretime.svg?branch=master)](https://travis-ci.org/LibreTime/libretime)
[![Financial Contributors on Open Collective](https://opencollective.com/libretime/all/badge.svg?label=financial+contributors)](https://opencollective.com/libretime)
Vendorize ZF1, fix PHPUnit and configure travis This a a rather large commit due to the nature of the stuff it is touching. To get PHPUnit up and running again I had to update some deps and I did so by vendorizing them. The vendorizing of zf1 makes sense since distros are already considering to drop it from their repos. * [x] install vendorized zf1 with composer * [x] load composer autoloader before zf1 * [x] Implement headAction for all Zend_Rest_Controller based controllers * [x] switch to yml dataset to get around string only limitations of xml sets (also removed warning in readme) * [x] use year 2044 as hardcoded date for tests since it is in the future and has the same days like previously used 2016 * [x] make tests easier to run when accessing phpunit directly * [x] clean up test helper to always use airtime.conf * [x] switch test dbname to libretime_test * [x] test db username password switched to libretime/libretime * [x] install phpunit with composer in a clear version (make tests easier to reproduce on other platforms) * [x] remove local libs from airtime repo (most of airtime_mvc/library was not needed of in vendor already) * [x] configure composer autoloading and use it (also removed requires that are not needed anymore) * [x] add LibreTime prefix for FileNotFoundException (phing had a similar class and these are all pre-namespace style) * [x] add .travis.yml file * [x] make etc and logdir configurable with LIBRETIME_CONF_DIR and LIBRETIME_LOG_DIR env (so travis can change it) * [x] slight cleanup in config for travis not to fail * [x] add cloud_storage.conf for during test runs * [x] rewrite mvc testing docs and move them to docs/ folder * [x] don't use `static::class` in a class that does not have a parent class, use `__CLASS__` instead. * [x] don't use `<ClassName>::class`, since we already know what class we want `"<ClassName>"` ist just fine. * [x] fix "can't use method in write context" errors on 5.4 (also helps the optimizer) * [x] add build status badge on main README.md Fixes https://github.com/LibreTime/libretime/issues/4 The PHP parts of https://github.com/LibreTime/libretime/pull/10 get obsoleted by this change and it will need rebasing. This also contains https://github.com/LibreTime/libretime/pull/8, the late static binding compat code was broken for no reason and until CentOS drops php 5.4 there is no reason I'm aware of not to support it. I inlined #8 since the test would be failing on php 5.4 without the change. If you want to run tests you need to run `composer install` in the root directory and then `cd airtime_mvc/tests && ../../vendor/bin/phpunit`. For the tests to run the user `libretime` needs to be allowed to create the `libretime_test` database. See `docs/TESTING.md` for more info on getting set up.
2017-02-20 21:47:53 +01:00
2019-06-29 19:50:44 +02:00
LibreTime makes it easy to run your own online or terrestrial radio station. It
is a community managed fork of the AirTime project.
2019-06-29 19:50:44 +02:00
It is managed by a friendly inclusive community of stations from around the
globe that use, document and improve LibreTime. Join us in fixing bugs and in
defining how we manage the codebase going forward.
We are currently ramping up development on this repository.
2019-06-29 19:50:44 +02:00
Check out the [documentation](http://libretime.org) for more information and
start broadcasting!
Please note that LibreTime is released with a [Contributor Code
2017-03-24 13:57:55 +01:00
of Conduct](https://github.com/LibreTime/code-of-conduct/blob/master/CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms.
2017-02-22 10:32:47 +01:00
Please submit enhancements, bugfixes or comments via GitHub.
## Development Process
The LibreTime follows the standardized [Collective Code Construction
Contract (C4)](https://rfc.zeromq.org/spec:42/C4/). Its abstract is
provided here.
> C4 provides a standard process for contributing, evaluating and
> discussing improvements on software projects. It defines specific
> technical requirements for projects like a style guide, unit tests,
> git and similar platforms. It also establishes different personas
> for projects, with clear and distinct duties. C4 specifies a process
> for documenting and discussing issues including seeking consensus
> and clear descriptions, use of "pull requests" and systematic reviews.
The full text of the contract is licensed under the GPL and available at
the above link courtesy of the [ZeroMQ community](http://zeromq.org/).
## Releasing
The LibreTime maintainers release new versions of LibreTime at regular
intervals. We follow the [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
standards.
In a nutshell, given a version number MAJOR.MINOR.PATCH we increment the:
1. MAJOR version when we make incompatible API changes,
2. MINOR version when we add functionality in a backwards-compatible manner, and
3. PATCH version when we make backwards-compatible bug fixes.
Given the history of the project we will be starting with version 3.0.0.
Stay tuned for early alphas and lots of betas as we get development
up and running.
## Support
To get support for any questions or problems you might have using the software
we have a forum at [discourse.libretime.org](http://discourse.libretime.org).
We are moving towards using the forum to provide community support and reserving
the github issue queue for confirmed bugs and well-formed feature requests.
## Contributors
### Code Contributors
This project exists thanks to all the people who [contribute](CONTRIBUTING.md).
### Financial Contributors
Become a financial contributor and help us sustain our community on
[OpenCollective](https://opencollective.com/libretime/contribute).
#### Individuals
<a href="https://opencollective.com/libretime"><img src="https://opencollective.com/libretime/individuals.svg?width=890"></a>
#### Organizations
[Support](https://opencollective.com/libretime/contribute) this project with
your organization. Your logo will show up here with a link to your website.
<a href="https://opencollective.com/libretime/organization/0/website"><img src="https://opencollective.com/libretime/organization/0/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/1/website"><img src="https://opencollective.com/libretime/organization/1/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/2/website"><img src="https://opencollective.com/libretime/organization/2/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/3/website"><img src="https://opencollective.com/libretime/organization/3/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/4/website"><img src="https://opencollective.com/libretime/organization/4/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/5/website"><img src="https://opencollective.com/libretime/organization/5/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/6/website"><img src="https://opencollective.com/libretime/organization/6/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/7/website"><img src="https://opencollective.com/libretime/organization/7/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/8/website"><img src="https://opencollective.com/libretime/organization/8/avatar.svg"></a>
<a href="https://opencollective.com/libretime/organization/9/website"><img src="https://opencollective.com/libretime/organization/9/avatar.svg"></a>
## License
LibreTime is free software: you can redistribute it and/or
modify it under the terms of the GNU Affero General Public
License as published by the Free Software Foundation,
version 3 of the License.
## Copyright
Copyright (c) 2011-2017 Sourcefabric z.ú.
Copyright (c) 2017 LibreTime Community
Please refer to the original [README](README),
[CREDITS](CREDITS) and [LICENSE_3RD_PARTY](LICENSE_3RD_PARTY)
for more information.