Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is phake alive #57

Open
lalop opened this issue Mar 19, 2015 · 7 comments
Open

Is phake alive #57

lalop opened this issue Mar 19, 2015 · 7 comments

Comments

@lalop
Copy link

lalop commented Mar 19, 2015

Hello,
I see some usefull ticket in pr but no commit since some months so I'm wondering if this project is still alive ?

@mamchenkov
Copy link
Contributor

Excellent question @lalop ! 😄

@jaz303 seems to be active on GitHub (last public activity on March 15th), but the project does seem to be a bit slow (last commit back in December 2014).

I'd be interested in helping out with this project. We use it heavily at @QoboLtd via phake-builder

@jaz303
Copy link
Owner

jaz303 commented Mar 19, 2015

project is alive albeit it's been mostly maintenance/bug-fix work for the past couple of years. what features would everyone like to see?

@mamchenkov
Copy link
Contributor

@jaz303 I'd love to have a more elegant way to extend the project with task collections. Currently, we are doing so with lots and lots of Phakefiles, which use other, more generic libraries, but it all is a bit cumbersome. I think if there was a better, standard way, it would be much easier for people to share snippets with one another.

@jaz303
Copy link
Owner

jaz303 commented Mar 19, 2015

so are we talking about a way of including other Phakefiles? maybe a standardised set of search locations?

@mamchenkov
Copy link
Contributor

Yes, sounds about right. I was also thinking in the direction of a namespace maybe, so that sharing via composer, for example, could be easier.

@jaz303
Copy link
Owner

jaz303 commented Mar 19, 2015

Can you explain a bit more, possibly with some syntax examples?

@mamchenkov
Copy link
Contributor

@jaz303 sorry for a delayed reply - lost this thread for a while.

In my company we use phake for building all our client projects. Some things are reusable everywhere (like git tasks, for example). Some are reusable only on the subset of projects (like WordPress-specific tasks, for example). And some are unique to a project.

Currently, we use QoboLtd/phake-builder for all the things that are common. And then we use a variety of boilerplate/template projects (for example: QoboLtd/project-template-wordpress which add platform-specific tasks to Phakefile.

Overall, this works, but lacks elegance and flexibility. As you can see, for example, in QoboLtd/phake-builder we have a whole bunch of common tasks, which we separate into different Phakefiles (Phakefile.git, Phakefile.mysql, etc) and then we load all of them from the central one.

It would be awesome if we could break that up into some kind of Phake plugins (a plugin to share git tasks, a plugin to share mysql tasks, etc), and then include those plugins with composer as needed for each project. A few tools already do exactly that using composer installers, which is the preferred way. Some other projects use fixed vendor name - for example WordPress themes and plugins can be installed so from WordPress Packagist.

Grouping common phake tasks and separating them into modules/plugins would make it easy to share them between projects, companies, and people. I think it will also help increase phake adoption, since it will be easier for projects to ship their specific tasks (WordPress or CakePHP, for example), while reusing other common tasks (like git and MySQL).

From what I can see, Phing is popular this way now. And I think part of it is because it bandles common tasks for ssh, ftp, version control, etc right into the tool, and makes it easier to add/customize them too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants