summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore8
-rw-r--r--Makefile5
-rw-r--r--composer-chronos.json62
-rw-r--r--composer.json105
-rwxr-xr-xmakesrc.sh28
-rwxr-xr-xmakesrc2.sh28
-rw-r--r--php-cakephp4.spec681
-rw-r--r--src/Cache/composer.json34
-rw-r--r--src/Collection/composer.json36
-rw-r--r--src/Core/composer.json40
-rw-r--r--src/Database/composer.json38
-rw-r--r--src/Datasource/composer.json40
-rw-r--r--src/Event/composer.json34
-rw-r--r--src/Filesystem/composer.json34
-rw-r--r--src/Form/composer.json33
-rw-r--r--src/I18n/composer.json48
-rw-r--r--src/Log/composer.json35
-rw-r--r--src/ORM/composer.json43
-rw-r--r--src/Utility/composer.json43
-rw-r--r--src/Validation/composer.json38
20 files changed, 1413 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fc9aa8c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+clog
+package-*.xml
+*.tgz
+*.tar.gz
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c353103
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,5 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../common/Makefile
+
+
diff --git a/composer-chronos.json b/composer-chronos.json
new file mode 100644
index 0000000..d63b284
--- /dev/null
+++ b/composer-chronos.json
@@ -0,0 +1,62 @@
+{
+ "name": "cakephp/chronos",
+ "type": "library",
+ "description": "A simple API extension for DateTime.",
+ "keywords": [
+ "date",
+ "time",
+ "DateTime"
+ ],
+ "homepage": "http://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Brian Nesbitt",
+ "email": "brian@nesbot.com",
+ "homepage": "http://nesbot.com"
+ },
+ {
+ "name": "The CakePHP Team",
+ "homepage": "http://cakephp.org"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/chronos/issues",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/chronos"
+ },
+ "require": {
+ "php": ">=5.6"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "<6.0 || ^7.0",
+ "athletic/athletic": "~0.1",
+ "cakephp/cakephp-codesniffer": "^3.0",
+ "phpbench/phpbench": "@dev"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Chronos\\": "src/"
+ },
+ "files": ["src/carbon_compat.php"]
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Cake\\Chronos\\Test\\": "tests/"
+ },
+ "files": ["tests/TestCase.php"]
+ },
+ "scripts": {
+ "check": [
+ "@test",
+ "@cs-check",
+ "@phpstan"
+ ],
+ "test": "phpunit",
+ "cs-check": "phpcs",
+ "cs-fix": "phpcbf",
+ "bench": "phpbench run",
+ "phpstan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan-shim:^0.11 && mv composer.backup composer.json",
+ "phpstan": "phpstan analyze -c phpstan.neon -l 3 src/"
+ }
+}
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..12543c7
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,105 @@
+{
+ "name": "cakephp/cakephp",
+ "description": "The CakePHP framework",
+ "type": "library",
+ "keywords": [
+ "framework",
+ "mvc",
+ "rapid-development",
+ "conventions over configuration",
+ "dry",
+ "orm",
+ "form",
+ "validation",
+ "psr-7"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/cakephp/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/cakephp"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "ext-intl": "*",
+ "ext-mbstring": "*",
+ "cakephp/chronos": "^1.0.1",
+ "aura/intl": "^3.0.0",
+ "psr/log": "^1.0.0",
+ "psr/simple-cache": "^1.0.0",
+ "zendframework/zend-diactoros": "^1.4.0"
+ },
+ "suggest": {
+ "ext-openssl": "To use Security::encrypt() or have secure CSRF token generation.",
+ "ext-curl": "To enable more efficient network calls in Http\\Client.",
+ "lib-ICU": "The intl PHP library, to use Text::transliterate() or Text::slug()"
+ },
+ "require-dev": {
+ "cakephp/cakephp-codesniffer": "^3.0",
+ "cakephp/chronos": "^1.2.1",
+ "phpunit/phpunit": "^5.7.14|^6.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\": "src/"
+ },
+ "files": [
+ "src/Core/functions.php",
+ "src/Collection/functions.php",
+ "src/I18n/functions.php",
+ "src/Utility/bootstrap.php"
+ ]
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Cake\\PHPStan\\": "tests/PHPStan/",
+ "Cake\\Test\\": "tests/",
+ "TestApp\\": "tests/test_app/TestApp/",
+ "TestPlugin\\": "tests/test_app/Plugin/TestPlugin/src/",
+ "TestPlugin\\Test\\": "tests/test_app/Plugin/TestPlugin/tests/",
+ "TestPluginTwo\\": "tests/test_app/Plugin/TestPluginTwo/src/",
+ "Company\\TestPluginThree\\": "tests/test_app/Plugin/Company/TestPluginThree/src/",
+ "Company\\TestPluginThree\\Test\\": "tests/test_app/Plugin/Company/TestPluginThree/tests/",
+ "ParentPlugin\\": "tests/test_app/Plugin/ParentPlugin/src/",
+ "PluginJs\\": "tests/test_app/Plugin/PluginJs/src/"
+ }
+ },
+ "replace": {
+ "cakephp/cache": "self.version",
+ "cakephp/collection": "self.version",
+ "cakephp/core": "self.version",
+ "cakephp/datasource": "self.version",
+ "cakephp/database": "self.version",
+ "cakephp/event": "self.version",
+ "cakephp/filesystem": "self.version",
+ "cakephp/form": "self.version",
+ "cakephp/i18n": "self.version",
+ "cakephp/log": "self.version",
+ "cakephp/orm": "self.version",
+ "cakephp/utility": "self.version",
+ "cakephp/validation": "self.version"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<5.7"
+ },
+ "scripts": {
+ "check": [
+ "@cs-check",
+ "@test"
+ ],
+ "cs-check": "phpcs --colors --parallel=16 -p src/ tests/",
+ "cs-fix": "phpcbf --colors --parallel=16 -p src/ tests/",
+ "test": "phpunit",
+ "test-coverage": "phpunit --coverage-clover=clover.xml",
+ "phpstan": "phpstan analyse -c phpstan.neon -l 2 src/",
+ "phpstan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan-shim:^0.11 && mv composer.backup composer.json"
+ }
+}
diff --git a/makesrc.sh b/makesrc.sh
new file mode 100755
index 0000000..87d223d
--- /dev/null
+++ b/makesrc.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+NAME=$(basename $PWD)
+OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec)
+PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec)
+VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec)
+COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec)
+SHORT=${COMMIT:0:7}
+
+echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n"
+
+echo "Cloning..."
+rm -rf $PROJECT-$COMMIT
+git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT
+
+echo "Getting commit..."
+pushd $PROJECT-$COMMIT
+git checkout $COMMIT
+cp composer.json ../composer.json
+popd
+
+echo "Archiving..."
+tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT
+
+echo "Cleaning..."
+rm -rf $PROJECT-$COMMIT
+
+echo "Done."
diff --git a/makesrc2.sh b/makesrc2.sh
new file mode 100755
index 0000000..8cdfb70
--- /dev/null
+++ b/makesrc2.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+NAME=$(basename $PWD)
+OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec)
+PROJECT=chronos
+VERSION=$(sed -n '/^%global chronos_version/{s/.* //;p}' $NAME.spec)
+COMMIT=$(sed -n '/^%global chronos_commit/{s/.* //;p}' $NAME.spec)
+SHORT=${COMMIT:0:7}
+
+echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n"
+
+echo "Cloning..."
+rm -rf $PROJECT-$COMMIT
+git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT
+
+echo "Getting commit..."
+pushd $PROJECT-$COMMIT
+git checkout $COMMIT
+cp composer.json ../composer-chronos.json
+popd
+
+echo "Archiving..."
+tar czf $NAME-chronos-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT
+
+echo "Cleaning..."
+rm -rf $PROJECT-$COMMIT
+
+echo "Done."
diff --git a/php-cakephp4.spec b/php-cakephp4.spec
new file mode 100644
index 0000000..5141dc4
--- /dev/null
+++ b/php-cakephp4.spec
@@ -0,0 +1,681 @@
+# remirepo/fedora spec file for php-cakephp
+#
+# Copyright (c) 2018-2019 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+
+# https://github.com/cakephp/cakephp/releases
+%global gh_commit bf96319a3688c191742d4a3a1680740abef1b371
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global gh_owner cakephp
+%global gh_project cakephp
+%global pk_vendor cakephp
+%global ns_vendor Cake
+%global php_home %{_datadir}/php
+%global with_tests 0%{!?_without_tests:1}
+
+# https://github.com/cakephp/chronos/releases
+%global chronos_commit ba2bab98849e7bf29b02dd634ada49ab36472959
+%global chronos_short %(c=%{chronos_commit}; echo ${c:0:7})
+%global chronos_version 1.3.0
+
+Name: php-%{pk_vendor}
+Version: 3.8.7
+Release: 1%{?dist}
+Summary: The CakePHP framework
+
+License: MIT
+URL: https://cakephp.org/
+Source0: %{name}-%{version}-%{gh_short}.tgz
+Source1: makesrc.sh
+Source2: %{name}-chronos-%{chronos_version}-%{chronos_short}.tgz
+Source3: makesrc2.sh
+
+BuildArch: noarch
+%if %{with_tests}
+# For tests
+BuildRequires: php(language) >= 5.6
+BuildRequires: php-ctype
+BuildRequires: php-date
+BuildRequires: php-dom
+BuildRequires: php-hash
+BuildRequires: php-intl
+BuildRequires: php-json
+BuildRequires: php-libxml
+BuildRequires: php-mbstring
+BuildRequires: php-pcre
+BuildRequires: php-pdo
+BuildRequires: php-reflection
+BuildRequires: php-simplexml
+BuildRequires: php-spl
+# From composer.json, "require-dev": {
+# "cakephp/cakephp-codesniffer": "^3.0",
+# "cakephp/chronos": "^1.2.1",
+# "phpunit/phpunit": "^5.7.14|^6.0"
+BuildRequires: php-composer(phpunit/phpunit)
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-composer(aura/intl) >= 3.0.0 with php-composer(aura/intl) < 4)
+BuildRequires: (php-composer(psr/log) >= 1.0.0 with php-composer(psr/log) < 2)
+BuildRequires: (php-composer(zendframework/zend-diactoros) >= 1.4.0 with php-composer(zendframework/zend-diactoros) < 2)
+%else
+BuildRequires: php-aura-intl >= 3.0.0
+BuildRequires: php-PsrLog >= 1.0.0
+BuildRequires: php-zendframework-zend-diactoros >= 1.4.0
+%endif
+%endif
+
+
+%description
+CakePHP is a rapid development framework for PHP which uses commonly known
+design patterns like Associative Data Mapping, Front Controller, and MVC.
+Our primary goal is to provide a structured framework that enables PHP users
+at all levels to rapidly develop robust web applications, without any loss
+to flexibility.
+
+
+%package cache
+Summary: CakePHP Collection Library
+# From composer.json "require": {
+# "php": ">=5.6.0",
+# "psr/simple-cache": "^1.0.0",
+# "cakephp/core": "^3.6.0"
+Requires: php(language) >= 5.6
+Requires: php-composer(%{pk_vendor}/core) = %{version}
+# from main composer.json
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-composer(psr/simple-cache) >= 1.0.0 with php-composer(psr/simple-cache) < 2)
+Requires: (php-composer(psr/simple-cache) >= 1.0.0 with php-composer(psr/simple-cache) < 2)
+# Optional (from phpcompatinfo report)
+Recommends: php-apcu
+Suggests: php-memcached
+Suggests: php-redis
+%else
+BuildRequires: php-psr-simple-cache >= 1.0.0
+Requires: php-psr-simple-cache >= 1.0.0
+%endif
+# From phpcompatinfo report
+Requires: php-date
+Requires: php-pcre
+Requires: php-spl
+Provides: php-composer(%{pk_vendor}/cache) = %{version}
+
+%description cache
+CakePHP Caching Library:
+
+The Cache library provides a Cache service locator for interfacing with
+multiple caching backends using a simple to use interface.
+
+The caching backends supported are:
+* Files
+* APC
+* Memcached
+* Redis
+* Wincache
+* Xcache
+
+
+%package collection
+Summary: CakePHP Collection Library
+# From composer.json "require": {
+# "php": ">=5.6.0",
+Requires: php(language) >= 5.6
+# From phpcompatinfo report
+Requires: php-spl
+Provides: php-composer(%{pk_vendor}/collection) = %{version}
+
+%description collection
+CakePHP Collection Library:
+
+The collection classes provide a set of tools to manipulate arrays or
+Traversable objects. If you have ever used underscore.js, you have an
+idea of what you can expect from the collection classes.
+
+
+%package core
+Summary: CakePHP Framework Core classes
+# From composer.json "require": {
+# "php": ">=5.6.0",
+# "cakephp/utility": "^3.6.0"
+Requires: php(language) >= 5.6
+Requires: php-composer(%{pk_vendor}/utility) = %{version}
+# From phpcompatinfo report
+Requires: php-reflection
+Requires: php-json
+Requires: php-mbstring
+Requires: php-pcre
+Requires: php-spl
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Recommends: php-composer(%{pk_vendor}/cache) = %{version}
+Recommends: php-composer(%{pk_vendor}/event) = %{version}
+%endif
+Provides: php-composer(%{pk_vendor}/core) = %{version}
+
+%description core
+CakePHP Framework Core classes:
+
+A set of classes used for configuration files reading and storing.
+This library contains the classes that are used as glue for creating the
+CakePHP framework.
+
+
+%package database
+Summary: CakePHP Database Library
+# From composer.json "require": {
+# "php": ">=5.6.0",
+# "cakephp/cache": "^3.6.0",
+# "cakephp/core": "^3.6.0",
+# "cakephp/datasource": "^3.6.0"
+# "cakephp/log": "^3.6.0"
+Requires: php(language) >= 5.6
+Requires: php-composer(%{pk_vendor}/cache) = %{version}
+Requires: php-composer(%{pk_vendor}/core) = %{version}
+Requires: php-composer(%{pk_vendor}/datasource) = %{version}
+Requires: php-composer(%{pk_vendor}/log) = %{version}
+# From phpcompatinfo report
+Requires: php-pdo
+Requires: php-ctype
+Requires: php-date
+Requires: php-json
+Requires: php-pcre
+Requires: php-spl
+Provides: php-composer(%{pk_vendor}/database) = %{version}
+
+%description database
+A flexible and lightweight Database Library for PHP:
+
+This library abstracts and provides help with most aspects of dealing with
+relational databases such as keeping connections to the server, building
+queries, preventing SQL injections, inspecting and altering schemas, and
+with debugging and profiling queries sent to the database.
+
+It adopts the API from the native PDO extension in PHP for familiarity,
+but solves many of the inconsistencies PDO has, while also providing
+several features that extend PDO's capabilities.
+
+A distinguishing factor of this library when compared to similar database
+connection packages, is that it takes the concept of "data types" to its core.
+It lets you work with complex PHP objects or structures that can be passed as
+query conditions or to be inserted in the database.
+
+The typing system will intelligently convert the PHP structures when passing
+them to the database, and convert them back when retrieving.
+
+
+%package datasource
+Summary: CakePHP Datasource Library
+# From composer.json "require": {
+# "php": ">=5.6.0",
+# "cakephp/core": "^3.6.0"
+Requires: php(language) >= 5.6
+Requires: php-composer(%{pk_vendor}/core) = %{version}
+# From phpcompatinfo report
+Requires: php-json
+Requires: php-spl
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Recommends: php-composer(%{pk_vendor}/utility) = %{version}
+Recommends: php-composer(%{pk_vendor}/collection) = %{version}
+Recommends: php-composer(%{pk_vendor}/cache) = %{version}
+%endif
+Provides: php-composer(%{pk_vendor}/datasource) = %{version}
+
+%description datasource
+CakePHP Datasource Library:
+
+This library contains interfaces for implementing Repositories and
+Entities using any data source, a class for managing connections to
+datasources and traits to help you quickly implement the interfaces
+provided by this package.
+
+
+%package event
+Summary: CakePHP Event Library
+# From composer.json "require": {
+# "php": ">=5.6.0",
+# "cakephp/core": "^3.6.0"
+Requires: php(language) >= 5.6
+Requires: php-composer(%{pk_vendor}/core) = %{version}
+# From phpcompatinfo report
+Requires: php-pcre
+Requires: php-spl
+
+%description event
+CakePHP Event Library:
+
+CakePHP event dispatcher library that helps implementing the observer pattern.
+
+
+%package log
+Summary: logging library
+# From composer.json "require": {
+# "php": ">=5.6.0",
+# "cakephp/core": "^3.6.0",
+# "psr/log": "^1.0.0"
+Requires: php(language) >= 5.6
+Requires: php-composer(%{pk_vendor}/core) = %{version}
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (php-composer(psr/log) >= 1.0.0 with php-composer(psr/log) < 2)
+%else
+Requires: php-PsrLog >= 1.0.0
+%endif
+# From phpcompatinfo report
+Requires: php-date
+Requires: php-json
+Requires: php-posix
+Requires: php-spl
+Provides: php-composer(%{pk_vendor}/log) = %{version}
+
+%description log
+CakePHP logging library with support for multiple different streams.
+
+
+%package utility
+Summary: CakePHP Utility Classes
+# From composer.json "require": {
+# "php": ">=5.6.0",
+# "cakephp/core": "^3.6.0"
+Requires: php(language) >= 5.6
+Requires: php-composer(%{pk_vendor}/core) = %{version}
+# From phpcompatinfo report
+Requires: php-simplexml
+Requires: php-ctype
+Requires: php-dom
+Requires: php-hash
+Requires: php-intl
+Requires: php-json
+Requires: php-libxml
+Requires: php-mbstring
+Requires: php-pcre
+Requires: php-spl
+Provides: php-composer(%{pk_vendor}/utility) = %{version}
+
+%description utility
+CakePHP Utility Classes:
+
+This library provides a range of utility classes that are used throughout
+the CakePHP framework.
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit} -a 2
+mv chronos-*/src src/Chronos
+
+
+%build
+: ===== Generate test autoloader for full framework
+mkdir vendor
+cat << 'EOF' | tee vendor/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\', dirname(__DIR__).'/src');
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Test\\', dirname(__DIR__).'/tests');
+\Fedora\Autoloader\Autoload::addPsr4('TestApp\\', dirname(__DIR__).'/tests/test_app/TestApp');
+\Fedora\Autoloader\Autoload::addPsr4('TestPlugin\\', dirname(__DIR__).'/tests/test_app/Plugin/TestPlugin/src');
+\Fedora\Autoloader\Autoload::addPsr4('TestPlugin\\Test\\', dirname(__DIR__).'/tests/test_app/Plugin/TestPlugin/tests');
+\Fedora\Autoloader\Autoload::addPsr4('TestPluginTwo\\', dirname(__DIR__).'/tests/test_app/Plugin/TestPluginTwo/src');
+\Fedora\Autoloader\Autoload::addPsr4('Company\\TestPluginThree\\', dirname(__DIR__).'/tests/test_app/Plugin/Company/TestPluginThree/src');
+\Fedora\Autoloader\Autoload::addPsr4('TCompany\\TestPluginThree\\Test\\', dirname(__DIR__).'/tests/test_app/Plugin/Company/TestPluginThree/tests');
+\Fedora\Autoloader\Autoload::addPsr4('ParentPlugin\\', dirname(__DIR__).'/tests/test_app/Plugin/ParentPlugin/src');
+\Fedora\Autoloader\Autoload::addPsr4('PluginJs\\', dirname(__DIR__).'/tests/test_app/Plugin/PluginJs/src');
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__).'/src/Chronos/carbon_compat.php',
+ dirname(__DIR__).'/src/Core/functions.php',
+ dirname(__DIR__).'/src/Collection/functions.php',
+ dirname(__DIR__).'/src/I18n/functions.php',
+ dirname(__DIR__).'/src/Utility/bootstrap.php',
+ '%{php_home}/Aura/Intl/autoload.php',
+ '%{php_home}/Psr/Log/autoload.php',
+ '%{php_home}/Psr/SimpleCache/autoload.php',
+ '%{php_home}/Zend/Diactoros/autoload.php',
+]);
+EOF
+
+: ===== Generate "cache" autoloader
+cat << 'EOF' | tee src/Cache/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Cache\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__) . '/Core/autoload.php',
+ '%{php_home}/Psr/SimpleCache/autoload.php',
+]);
+EOF
+
+: ===== Generate "collection" autoloader
+cat << 'EOF' | tee src/Collection/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Collection\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ __DIR__ . '/functions.php',
+]);
+EOF
+
+: ===== Generate "core" autoloader
+cat << 'EOF' | tee src/Core/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Core\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__) . '/Utility/autoload.php',
+ __DIR__ . '/functions.php',
+]);
+EOF
+
+: ===== Generate "database" autoloader
+cat << 'EOF' | tee src/Database/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Database\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__) . '/Cache/autoload.php',
+ dirname(__DIR__) . '/Core/autoload.php',
+ dirname(__DIR__) . '/Datasource/autoload.php',
+ dirname(__DIR__) . '/Log/autoload.php',
+]);
+EOF
+
+: ===== Generate "datasource" autoloader
+cat << 'EOF' | tee src/Datasource/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Datasource\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__) . '/Core/autoload.php',
+]);
+EOF
+
+: ===== Generate "event" autoloader
+cat << 'EOF' | tee src/Event/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Event\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__) . '/Core/autoload.php',
+]);
+EOF
+
+: ===== Generate "log" autoloader
+cat << 'EOF' | tee src/Log/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Log\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__) . '/Core/autoload.php',
+ '%{php_home}/Psr/Log/autoload.php',
+]);
+EOF
+
+: ===== Generate "utility" autoloader
+cat << 'EOF' | tee src/Utility/autoload.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('Cake\\Utility\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required([
+ dirname(__DIR__) . '/Core/autoload.php',
+ __DIR__ . '/bootstrap.php',
+]);
+EOF
+
+
+%install
+#: Library
+mkdir -p %{buildroot}%{php_home}/%{ns_vendor}
+cp -pr src/Cache %{buildroot}%{php_home}/%{ns_vendor}/
+cp -pr src/Collection %{buildroot}%{php_home}/%{ns_vendor}/
+cp -pr src/Core %{buildroot}%{php_home}/%{ns_vendor}/
+cp -pr src/Database %{buildroot}%{php_home}/%{ns_vendor}/
+cp -pr src/Datasource %{buildroot}%{php_home}/%{ns_vendor}/
+cp -pr src/Event %{buildroot}%{php_home}/%{ns_vendor}/
+cp -pr src/Log %{buildroot}%{php_home}/%{ns_vendor}/
+cp -pr src/Utility %{buildroot}%{php_home}/%{ns_vendor}/
+
+
+%check
+%if %{with_tests}
+: Check our autoloaders
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Cache/autoload.php";
+exit (class_exists("Cake\\Cache\\Cache") ? 0 : 1);
+'
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Collection/autoload.php";
+exit (class_exists("Cake\\Collection\\Collection") ? 0 : 1);
+'
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Core/autoload.php";
+exit (class_exists("Cake\\Core\\App") ? 0 : 1);
+'
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Database/autoload.php";
+exit (class_exists("Cake\\Database\\Connection") ? 0 : 1);
+'
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Datasource/autoload.php";
+exit (class_exists("Cake\\Datasource\\RulesChecker") ? 0 : 1);
+'
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Event/autoload.php";
+exit (class_exists("Cake\\Event\\Event") ? 0 : 1);
+'
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Log/autoload.php";
+exit (class_exists("Cake\\Log\\Log") ? 0 : 1);
+'
+php -r '
+require "%{buildroot}%{php_home}/%{ns_vendor}/Utility/autoload.php";
+exit (class_exists("Cake\\Utility\\Hash") ? 0 : 1);
+'
+
+: Run upstream test suites
+ret=0
+phpunit tests/TestCase/Cache --verbose || ret=1
+phpunit tests/TestCase/Core --verbose || ret=1
+phpunit tests/TestCase/Collection --verbose || ret=1
+%if 0%{?rhel} == 6
+: skip suite as sqlite is too old
+%else
+phpunit tests/TestCase/Database --filter '^((?!(testMarshal)).)*$' --verbose || ret=1
+phpunit tests/TestCase/Datasource --verbose || ret=1
+%endif
+phpunit tests/TestCase/Event --verbose || ret=1
+phpunit tests/TestCase/Log --verbose || ret=1
+phpunit tests/TestCase/Utility --verbose || ret=1
+exit $ret
+%else
+: Test suite disabled
+%endif
+
+
+%files cache
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%doc src/Cache/composer.json
+%doc src/Cache/*md
+%{php_home}/%{ns_vendor}/Cache
+%exclude %{php_home}/%{ns_vendor}/Cache/*.md
+%exclude %{php_home}/%{ns_vendor}/Cache/composer.json
+
+%files collection
+
+%{!?_licensedir:%global license %%doc}
+%license src/Collection/LICENSE.txt
+%doc src/Collection/composer.json
+%doc src/Collection/*md
+%dir %{php_home}/%{ns_vendor}
+ %{php_home}/%{ns_vendor}/Collection
+%exclude %{php_home}/%{ns_vendor}/Collection/*.md
+%exclude %{php_home}/%{ns_vendor}/Collection/composer.json
+%exclude %{php_home}/%{ns_vendor}/Collection/LICENSE.txt
+
+%files core
+%{!?_licensedir:%global license %%doc}
+%license src/Core/LICENSE.txt
+%doc src/Core/composer.json
+%doc src/Core/*md
+%dir %{php_home}/%{ns_vendor}
+ %{php_home}/%{ns_vendor}/Core
+%exclude %{php_home}/%{ns_vendor}/Core/*.md
+%exclude %{php_home}/%{ns_vendor}/Core/composer.json
+%exclude %{php_home}/%{ns_vendor}/Core/LICENSE.txt
+
+%files database
+%{!?_licensedir:%global license %%doc}
+%license src/Database/LICENSE.txt
+%doc src/Database/composer.json
+%doc src/Database/*md
+%{php_home}/%{ns_vendor}/Database
+%exclude %{php_home}/%{ns_vendor}/Database/*.md
+%exclude %{php_home}/%{ns_vendor}/Database/composer.json
+%exclude %{php_home}/%{ns_vendor}/Database/LICENSE.txt
+
+%files datasource
+%{!?_licensedir:%global license %%doc}
+%license src/Datasource/LICENSE.txt
+%doc src/Datasource/composer.json
+%doc src/Datasource/*md
+%{php_home}/%{ns_vendor}/Datasource
+%exclude %{php_home}/%{ns_vendor}/Datasource/*.md
+%exclude %{php_home}/%{ns_vendor}/Datasource/composer.json
+%exclude %{php_home}/%{ns_vendor}/Datasource/LICENSE.txt
+
+%files event
+%{!?_licensedir:%global license %%doc}
+%license src/Event/LICENSE.txt
+%doc src/Event/composer.json
+%doc src/Event/*md
+%{php_home}/%{ns_vendor}/Event
+%exclude %{php_home}/%{ns_vendor}/Event/*.md
+%exclude %{php_home}/%{ns_vendor}/Event/composer.json
+%exclude %{php_home}/%{ns_vendor}/Event/LICENSE.txt
+
+%files log
+%{!?_licensedir:%global license %%doc}
+%license src/Log/LICENSE.txt
+%doc src/Log/composer.json
+%doc src/Log/*md
+%{php_home}/%{ns_vendor}/Log
+%exclude %{php_home}/%{ns_vendor}/Log/*.md
+%exclude %{php_home}/%{ns_vendor}/Log/composer.json
+%exclude %{php_home}/%{ns_vendor}/Log/LICENSE.txt
+
+%files utility
+%{!?_licensedir:%global license %%doc}
+%license src/Utility/LICENSE.txt
+%doc src/Utility/composer.json
+%doc src/Utility/*md
+%{php_home}/%{ns_vendor}/Utility
+%exclude %{php_home}/%{ns_vendor}/Utility/*.md
+%exclude %{php_home}/%{ns_vendor}/Utility/composer.json
+%exclude %{php_home}/%{ns_vendor}/Utility/LICENSE.txt
+
+
+%changelog
+* Mon Dec 9 2019 Remi Collet <remi@remirepo.net> - 3.8.7-1
+- update to 3.8.7
+
+* Tue Dec 3 2019 Remi Collet <remi@remirepo.net> - 3.8.6-2
+- use Chronos 1.3.0
+
+* Thu Nov 7 2019 Remi Collet <remi@remirepo.net> - 3.8.6-1
+- update to 3.8.6
+
+* Mon Oct 7 2019 Remi Collet <remi@remirepo.net> - 3.8.5-1
+- update to 3.8.5
+
+* Mon Sep 16 2019 Remi Collet <remi@remirepo.net> - 3.8.4-1
+- update to 3.8.4
+
+* Sun Sep 1 2019 Remi Collet <remi@remirepo.net> - 3.8.3-1
+- update to 3.8.3
+
+* Tue Aug 20 2019 Remi Collet <remi@remirepo.net> - 3.8.2-1
+- update to 3.8.2
+
+* Mon Jul 15 2019 Remi Collet <remi@remirepo.net> - 3.8.1-1
+- update to 3.8.1
+
+* Thu Jun 27 2019 Remi Collet <remi@remirepo.net> - 3.8.0-1
+- update to 3.8.0
+
+* Thu Jun 20 2019 Remi Collet <remi@remirepo.net> - 3.7.9-1
+- update to 3.7.9
+
+* Tue Jun 18 2019 Remi Collet <remi@remirepo.net> - 3.7.8-3
+- use Chronos 1.2.8
+
+* Tue Jun 11 2019 Remi Collet <remi@remirepo.net> - 3.7.8-2
+- use Chronos 1.2.7
+
+* Sun Jun 2 2019 Remi Collet <remi@remirepo.net> - 3.7.8-1
+- update to 3.7.8
+- use Chronos 1.2.6
+
+* Wed Apr 24 2019 Remi Collet <remi@remirepo.net> - 3.7.7-1
+- update to 3.7.7
+- use Chronos 1.2.5
+
+* Wed Apr 10 2019 Remi Collet <remi@remirepo.net> - 3.7.6-1
+- update to 3.7.6
+
+* Thu Mar 14 2019 Remi Collet <remi@remirepo.net> - 3.7.5-1
+- update to 3.7.5
+
+* Mon Feb 11 2019 Remi Collet <remi@remirepo.net> - 3.7.4-1
+- update to 3.7.4
+- add event subpackage
+- use Chronos 1.2.4
+
+* Tue Jan 22 2019 Remi Collet <remi@remirepo.net> - 3.7.3-1
+- update to 3.7.3
+
+* Fri Jan 4 2019 Remi Collet <remi@remirepo.net> - 3.7.2-1
+- update to 3.7.2
+- add log subpackage
+- database requires log
+
+* Tue Dec 18 2018 Remi Collet <remi@remirepo.net> - 3.7.1-1
+- update to 3.7.1
+
+* Thu Dec 13 2018 Remi Collet <remi@remirepo.net> - 3.7.0-1
+- update to 3.7.0
+- use Chronos 1.2.3
+
+* Mon Nov 5 2018 Remi Collet <remi@remirepo.net> - 3.6.16-1
+- update to 3.6.16
+
+* Tue Oct 2 2018 Remi Collet <remi@remirepo.net> - 3.6.12-1
+- update to 3.6.12
+
+* Mon Sep 3 2018 Remi Collet <remi@remirepo.net> - 3.6.11-1
+- update to 3.6.11
+
+* Tue Aug 14 2018 Remi Collet <remi@remirepo.net> - 3.6.10-1
+- update to 3.6.10
+
+* Thu Jul 26 2018 Remi Collet <remi@remirepo.net> - 3.6.9-1
+- update to 3.6.9
+
+* Tue Jul 24 2018 Remi Collet <remi@remirepo.net> - 3.6.8-1
+- update to 3.6.8
+
+* Mon Jul 9 2018 Remi Collet <remi@remirepo.net> - 3.6.7-1
+- update to 3.6.7
+
+* Mon Jun 25 2018 Remi Collet <remi@remirepo.net> - 3.6.6-1
+- update to 3.6.6
+
+* Mon Jun 11 2018 Remi Collet <remi@remirepo.net> - 3.6.5-1
+- Initial packaging with cache, collection, core, database,
+ database and utility sub-packages
diff --git a/src/Cache/composer.json b/src/Cache/composer.json
new file mode 100644
index 0000000..2760303
--- /dev/null
+++ b/src/Cache/composer.json
@@ -0,0 +1,34 @@
+{
+ "name": "cakephp/cache",
+ "description": "Easy to use Caching library with support for multiple caching backends",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "caching",
+ "cache"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/cache/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/cache"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "psr/simple-cache": "^1.0.0",
+ "cakephp/core": "^3.6.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Cache\\": "."
+ }
+ }
+}
diff --git a/src/Collection/composer.json b/src/Collection/composer.json
new file mode 100644
index 0000000..47a24c4
--- /dev/null
+++ b/src/Collection/composer.json
@@ -0,0 +1,36 @@
+{
+ "name": "cakephp/collection",
+ "description": "Work easily with arrays and iterators by having a battery of utility traversal methods",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "collections",
+ "iterators",
+ "arrays"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/collection/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/collection"
+ },
+ "require": {
+ "php": ">=5.6.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Collection\\": "."
+ },
+ "files": [
+ "functions.php"
+ ]
+ }
+}
diff --git a/src/Core/composer.json b/src/Core/composer.json
new file mode 100644
index 0000000..0ee9afc
--- /dev/null
+++ b/src/Core/composer.json
@@ -0,0 +1,40 @@
+{
+ "name": "cakephp/core",
+ "description": "CakePHP Framework Core classes",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "framework",
+ "core"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/core/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/core"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/utility": "^3.6.0"
+ },
+ "suggest": {
+ "cakephp/event": "To use PluginApplicationInterface or plugin applications.",
+ "cakephp/cache": "To use Configure::store() and restore()."
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Core\\": "."
+ },
+ "files": [
+ "functions.php"
+ ]
+ }
+}
diff --git a/src/Database/composer.json b/src/Database/composer.json
new file mode 100644
index 0000000..c197115
--- /dev/null
+++ b/src/Database/composer.json
@@ -0,0 +1,38 @@
+{
+ "name": "cakephp/database",
+ "description": "Flexible and powerful Database abstraction library with a familiar PDO-like API",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "database",
+ "abstraction",
+ "database abstraction",
+ "pdo"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/database/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/database"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/cache": "^3.6.0",
+ "cakephp/core": "^3.6.0",
+ "cakephp/datasource": "^3.6.0",
+ "cakephp/log": "^3.6.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Database\\": "."
+ }
+ }
+}
diff --git a/src/Datasource/composer.json b/src/Datasource/composer.json
new file mode 100644
index 0000000..7846db2
--- /dev/null
+++ b/src/Datasource/composer.json
@@ -0,0 +1,40 @@
+{
+ "name": "cakephp/datasource",
+ "description": "Provides connection managing and traits for Entities and Queries that can be reused for different datastores",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "datasource",
+ "connection management",
+ "entity",
+ "query"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/datasource/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/datasource"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/core": "^3.6.0"
+ },
+ "suggest": {
+ "cakephp/utility": "If you decide to use EntityTrait.",
+ "cakephp/collection": "If you decide to use ResultSetInterface.",
+ "cakephp/cache": "If you decide to use Query caching."
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Datasource\\": "."
+ }
+ }
+}
diff --git a/src/Event/composer.json b/src/Event/composer.json
new file mode 100644
index 0000000..e984d41
--- /dev/null
+++ b/src/Event/composer.json
@@ -0,0 +1,34 @@
+{
+ "name": "cakephp/event",
+ "description": "CakePHP event dispatcher library that helps implementing the observer pattern",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "event",
+ "dispatcher",
+ "observer pattern"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/event/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/event"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/core": "^3.6.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Event\\": "."
+ }
+ }
+}
diff --git a/src/Filesystem/composer.json b/src/Filesystem/composer.json
new file mode 100644
index 0000000..e5dcb07
--- /dev/null
+++ b/src/Filesystem/composer.json
@@ -0,0 +1,34 @@
+{
+ "name": "cakephp/filesystem",
+ "description": "CakePHP filesystem convenience classes to help you work with files and folders.",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "filesystem",
+ "files",
+ "folders"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/filesystem/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/filesystem"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/core": "^3.6.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Filesystem\\": "."
+ }
+ }
+}
diff --git a/src/Form/composer.json b/src/Form/composer.json
new file mode 100644
index 0000000..5e1dfdc
--- /dev/null
+++ b/src/Form/composer.json
@@ -0,0 +1,33 @@
+{
+ "name": "cakephp/form",
+ "description": "CakePHP Form library",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "form"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/form/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/form"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/event": "^3.6.0",
+ "cakephp/validation": "^3.6.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Form\\": "."
+ }
+ }
+}
diff --git a/src/I18n/composer.json b/src/I18n/composer.json
new file mode 100644
index 0000000..7ffc86f
--- /dev/null
+++ b/src/I18n/composer.json
@@ -0,0 +1,48 @@
+{
+ "name": "cakephp/i18n",
+ "description": "CakePHP Internationalization library with support for messages translation and dates and numbers localization",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "i18n",
+ "internationalisation",
+ "internationalization",
+ "localisation",
+ "localization",
+ "translation",
+ "date",
+ "number"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/i18n/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/i18n"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "ext-intl": "*",
+ "cakephp/core": "^3.6.0",
+ "cakephp/chronos": "^1.0.0",
+ "aura/intl": "^3.0.0"
+ },
+ "suggest": {
+ "cakephp/cache": "Require this if you want automatic caching of translators"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\I18n\\": "."
+ },
+ "files": [
+ "functions.php"
+ ]
+ }
+}
diff --git a/src/Log/composer.json b/src/Log/composer.json
new file mode 100644
index 0000000..a775a4f
--- /dev/null
+++ b/src/Log/composer.json
@@ -0,0 +1,35 @@
+{
+ "name": "cakephp/log",
+ "description": "CakePHP logging library with support for multiple different streams",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "log",
+ "logging",
+ "streams"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/log/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/log"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/core": "^3.6.0",
+ "psr/log": "^1.0.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Log\\": "."
+ }
+ }
+}
diff --git a/src/ORM/composer.json b/src/ORM/composer.json
new file mode 100644
index 0000000..1432893
--- /dev/null
+++ b/src/ORM/composer.json
@@ -0,0 +1,43 @@
+{
+ "name": "cakephp/orm",
+ "description": "CakePHP ORM - Provides a flexible and powerful ORM implementing a data-mapper pattern.",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "orm",
+ "data-mapper",
+ "data-mapper pattern"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/orm/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/orm"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/collection": "^3.6.0",
+ "cakephp/core": "^3.6.0",
+ "cakephp/datasource": "^3.6.0",
+ "cakephp/database": "^3.6.0",
+ "cakephp/event": "^3.6.0",
+ "cakephp/utility": "^3.6.0",
+ "cakephp/validation": "^3.6.0"
+ },
+ "suggest": {
+ "cakephp/i18n": "If you are using Translate / Timestamp Behavior."
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\ORM\\": "."
+ }
+ }
+}
diff --git a/src/Utility/composer.json b/src/Utility/composer.json
new file mode 100644
index 0000000..4c5c8f1
--- /dev/null
+++ b/src/Utility/composer.json
@@ -0,0 +1,43 @@
+{
+ "name": "cakephp/utility",
+ "description": "CakePHP Utility classes such as Inflector, String, Hash, and Security",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "utility",
+ "inflector",
+ "string",
+ "hash",
+ "security"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/utility/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/utility"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/core": "^3.6.0"
+ },
+ "suggest": {
+ "ext-intl": "To use Text::transliterate() or Text::slug()",
+ "lib-ICU": "To use Text::transliterate() or Text::slug()"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Utility\\": "."
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ }
+}
diff --git a/src/Validation/composer.json b/src/Validation/composer.json
new file mode 100644
index 0000000..e4de56a
--- /dev/null
+++ b/src/Validation/composer.json
@@ -0,0 +1,38 @@
+{
+ "name": "cakephp/validation",
+ "description": "CakePHP Validation library",
+ "type": "library",
+ "keywords": [
+ "cakephp",
+ "validation",
+ "data validation"
+ ],
+ "homepage": "https://cakephp.org",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/validation/graphs/contributors"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cakephp/cakephp/issues",
+ "forum": "https://stackoverflow.com/tags/cakephp",
+ "irc": "irc://irc.freenode.org/cakephp",
+ "source": "https://github.com/cakephp/validation"
+ },
+ "require": {
+ "php": ">=5.6.0",
+ "cakephp/core": "^3.6.0",
+ "cakephp/utility": "^3.6.0",
+ "psr/http-message": "^1.0.0"
+ },
+ "suggest": {
+ "cakephp/i18n": "If you want to use Validation::localizedTime()"
+ },
+ "autoload": {
+ "psr-4": {
+ "Cake\\Validation\\": "."
+ }
+ }
+}