yalesov/zf2-cron

Requirements

hikaru-shindo opened this issue · 6 comments

Why does it have this much dependencies.

I do not think twig or assetic are needed for a cron module.
Worst thing I had to deal with was that your twig requirement broke the zfctwig requirement (you: 1.9.2, zfc: 1.10.*)

So I would ask you to check if each dependency is really needed.

Excuse me, @hikaru-shindo , but twig and assetic are not part of the dependencies. composer.json:

{
    (...)
    "require": {
        "php": ">=5.3.3",
        "heartsentwined/yaml": "1.*",
        "zendframework/zendframework": "2.*",
        "heartsentwined/arg-validator": "1.*",
        "heartsentwined/background-exec": "1.*",
        "heartsentwined/zf2-doctrine": "1.*",
        "heartsentwined/cron-expr-parser": "1.*",

        "heartsentwined/zf2-phpunit-testcase": "1.*",
        "heartsentwined/zf2-phing-task": "1.*"
    }
}
  • heartsentwined/yaml to parse the yml module config file
  • heartsentwined/arg-validator is used in method argument validations
  • heartsentwined/background-exec for security, to prevent leaking server variables when accessing via browser
  • heartsentwined/zf2-doctrine for the cron database table
  • heartsentwined/cron-expr-parser to parse the cron expressions
  • heartsentwined/zf2-phpunit-testcase and heartsentwined/zf2-phing-task for unit tests

I hope this satisfies the dependency review that you raised.

twig will be installed. Maybe it's a dependency of a dependency? I installed @stable using composer.

This is weird indeed, I don't remember requiring twig or assetic in any of the heartsentwined/* packages. Would you mind posting your composer.json?

Output on composer trying to add zf2-cron:

$ php composer.phar require heartsentwined/zf2-cron:@stable
composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - Installation request for twig/twig == 1.12.2.0 -> satisfiable by twig/twig v1.12.2.
    - Conclusion: don't install heartsentwined/zf2-cron 2.2.9
    - Conclusion: remove zendframework/zendframework 2.1.3
    - heartsentwined/zf2-cron 0.1.0 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.0 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.1 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.2 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.3 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.4 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.5 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.6 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.0.7 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.1.0 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.1.1 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 1.1.2 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.0.0 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.0.1 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.1.0 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.1.1 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.1.2 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.0 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.1 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.2 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.3 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.4 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.5 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.6 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.7 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - heartsentwined/zf2-cron 2.2.8 requires zendframework/zendframework 2.0.* -> satisfiable by libra/zendframework 2.0.0, zendframework/zendframework 2.0.0, zendframework/zendframework 2.0.1, zendframework/zendframework 2.0.2, zendframework/zendframework 2.0.3, zendframework/zendframework 2.0.4, zendframework/zendframework 2.0.5, zendframework/zendframework 2.0.6, zendframework/zendframework 2.0.7.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.0.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.1.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.2.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.3.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.4.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.5.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.6.
    - Can only install one of: zendframework/zendframework 2.1.3, zendframework/zendframework 2.0.7.
    - don't install zendframework/zendframework 2.1.3|don't install libra/zendframework 2.0.0
    - Installation request for zendframework/zendframework == 2.1.3.0 -> satisfiable by zendframework/zendframework 2.1.3.
    - Installation request for heartsentwined/zf2-cron @stable -> satisfiable by heartsentwined/zf2-cron 0.1.0, heartsentwined/zf2-cron 1.0.0, heartsentwined/zf2-cron 1.0.1, heartsentwined/zf2-cron 1.0.2, heartsentwined/zf2-cron 1.0.3, heartsentwined/zf2-cron 1.0.4, heartsentwined/zf2-cron 1.0.5, heartsentwined/zf2-cron 1.0.6, heartsentwined/zf2-cron 1.0.7, heartsentwined/zf2-cron 1.1.0, heartsentwined/zf2-cron 1.1.1, heartsentwined/zf2-cron 1.1.2, heartsentwined/zf2-cron 2.0.0, heartsentwined/zf2-cron 2.0.1, heartsentwined/zf2-cron 2.1.0, heartsentwined/zf2-cron 2.1.1, heartsentwined/zf2-cron 2.1.2, heartsentwined/zf2-cron 2.2.0, heartsentwined/zf2-cron 2.2.1, heartsentwined/zf2-cron 2.2.2, heartsentwined/zf2-cron 2.2.3, heartsentwined/zf2-cron 2.2.4, heartsentwined/zf2-cron 2.2.5, heartsentwined/zf2-cron 2.2.6, heartsentwined/zf2-cron 2.2.7, heartsentwined/zf2-cron 2.2.8, heartsentwined/zf2-cron 2.2.9.
Installation failed, reverting composer.json to its original content.

composer.json (command would add "heartsentwined/zf2-cron": "@stable" to require section if it wouldn't fail)

{
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.*",
        "doctrine/doctrine-orm-module": "@stable",
        "stroker/form": "dev-master",
        "blanchonvincent/super-messenger": "dev-master",
        "akrabat/akrabat-session": "dev-master",
        "zf-commons/zfc-twig": "@stable"
    },
    "require-dev": {
        "zendframework/zend-developer-tools": "dev-master"
    }
}

Comamnd output after removing zfc-twig from deps:

$ php composer.phar require heartsentwined/zf2-cron:@stable
composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing twig/twig (v1.9.2)
    Loading from cache
  - Installing twig/extensions (v1.0.0)
    Loading from cache
  - Installing kriswallsmith/assetic (v1.0.4)
    Loading from cache
  - Installing heartsentwined/arg-validator (1.1.3)
    Loading from cache
  - Installing symfony/yaml (v2.0.22)
    Loading from cache
  - Installing heartsentwined/yaml (1.0.2)
    Loading from cache
  - Installing heartsentwined/zf2-assetwig (2.0.5)
    Loading from cache
  - Installing heartsentwined/zf2-doctrine (1.0.0)
    Loading from cache
  - Installing heartsentwined/zf2-phing-task (1.1.4)
    Loading from cache
  - Installing heartsentwined/file-system-manager (1.1.3)
    Loading from cache
  - Installing heartsentwined/zf2-phpunit-testcase (1.0.2)
    Loading from cache
  - Installing heartsentwined/cron-expr-parser (1.0.2)
    Loading from cache
  - Installing heartsentwined/background-exec (1.0.1)
    Loading from cache
  - Installing heartsentwined/zf2-cron (2.2.9)
    Loading from cache
Writing lock file
Generating autoload files

My apologies, this is indeed a deep dependency issue (heartsentwined/zf2-phing-task -> heartsentwined/zf2-assetwig -> twig/twig). I have moved heartsentwined/zf2-phing-task to require-dev, and I have pushed version 2.2.10 to github and packagist. Please wait a while for changes to propagate, and then retry the installation.

Thank you. Maybe it is better to always have testing deps in dev require ;)