Hey All,

Sounds like we have a workable compromise which will make thrift easy to install in PHP and JavaScript and keep the thrift master root clean. The fact that composer.json and bower.json need to be in the repo root has inspired the creation of thrift-php and thrift-js repos for releases. Each of these repos will be updated with every thrift release allowing any version up to the current release to be installed.

Let me know if the process and code below sounds right to everyone (this is the PHP example but you can extrapolate the JS process):

*When 0.9.2 is released we will:*
{code}
1. git clone thrift-php
2. cd thrift-php
3. cp ../thrift/lib/php/{*, composer.json} .
4. git add -A
5. git commit -m "thrift-0.9.2"
{code}

All of the PHP eco system installers and dependency managers will point to:
https://github.com/apache/thrift-php

The composer.json will be checked in to the master in thrift/lib/php. The composer.json contents will need to be relative to / so that it works when copied to thrift-php. The following is the proposed composer.json contents:

{code}
{
    "name": "apache/thrift",
    "description": "Apache Thrift RPC system",
    "homepage": "http://thrift.apache.org/";,
    "type": "library",
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "Apache Thrift Developers",
            "email": "[email protected]",
            "homepage": "http://thrift.apache.org";
        }
    ],
    "support": {
        "email": "[email protected]",
        "issues": "https://issues.apache.org/jira/browse/THRIFT";
    },
    "require": {
        "php": ">=5.3.0"
    },
    "autoload": {
        "psr-0": {"Thrift": "src/"}
    },
    "target-dir": ".",
    "minimum-stability": "dev",
    "extra": {
        "branch-alias": {
            "dev-master": "0.9.x-dev"
        }
    }
}
{code}

Please comment if you see problems with this process! See THRIFT-1743 for more discussion.

Thanks,
Randy

Reply via email to