kinncj / packageManager

A github repos package manager
3 stars 0 forks source link

Project Requirements and Basic Architecture #1

Open alganet opened 12 years ago

alganet commented 12 years ago

Hi there!

I really loved the concept, although I'm not sure what do you guys want to do. PHP has a problem nowadays: it doesn't have a centralized repository.

Two main candidates for this are http://pyr.us and http://packagist.org/, but both of them has their own problems.

My suggestion is to crawl these two guys and store package info on a public GitHub repo, then pm search would clone this repo and search the database locally. Packages could be added manually to the repository by sending a pull request and everything is kept open.

pm install then would have its own logic to know if its installing a PEAR, Pyrus, Composer or independent package, then use the appropriate installer to do so. Forcing a package format could be done by arguments like --composer, like pm install symfony2 --composer.

Also, a --libonly could be a killer feature to download only the PHP library (no tests, no docs, no README stuff). Running pm install respect\rest --libonly would install it locally in the folder in which pm runs under the "Respect\Rest" folder.

Lots of guessing is needed to know where the library is, what is the vendor folder name and so on. Most projects use "src", "library" or the project name as the code folder. We could rely on common standards.

I'd love to see the manager and the repo on a separate GitHub organization instead of a particular user profile on GitHu

I'm VERY interested in moving this forward and eager to hear your thoughts about my suggestions. I'm also willing to contribute with code, tests and ideas.

Thanks!

alganet commented 12 years ago

Perhaps --libonly should be the default behavior. A --full could be the option for those who want the project docs, tests and so on.

thiagophx commented 12 years ago

Hey, firstly sorry about the delay. I'm definitely interested in this proposals! But what about not centralizing the code in onde github account, we could just crawl the packages that area are in some package manager like pear or packagist, and the others could just be pull requested to us. Like that we don't need to re-store the others already stored.

What u think?