Skip to content
This repository has been archived by the owner on Mar 3, 2022. It is now read-only.

Why not in drush make? #3

Open
JeffVeit opened this issue Apr 30, 2014 · 2 comments
Open

Why not in drush make? #3

JeffVeit opened this issue Apr 30, 2014 · 2 comments

Comments

@JeffVeit
Copy link

Hi,

I've spent a few hours trying buildmanager and subtree out, and got it working after a bit of fiddling.

It took a while to get working because the build.make and buildmanager.config.yml don't work. They refer to an example file which doesn't exist. I can offer you mine.

I wondered while using this why have a yaml config file at all? Surely this could be an extension to drush make. E.g. the pre and post commands could be part of the topmost make file. And subtree could be another option to drush dl, like --gitsubmodule is at the moment, triggered by a notation in the make file.

What is the benefit of pulling the subtrees out of their normal modules or themes directory, and putting them into the projects directory?

Nice to see someone else using subtrees. Thanks for sharing.

@JeffVeit JeffVeit changed the title Why not in drush? Why not in drush make? Apr 30, 2014
@bryanhirsch
Copy link
Contributor

Hi @JeffVeit. Thanks for getting in touch. Sorry, the state of the documentation here is in flux chasing active development. We'll tag a stable 1.0 release, which will have clearer documentation and examples as soon as we sort out the kinks in our workflow, which this is being built to support. There are still probably a few minor schema changes to config coming down the pike.

Which buildmanager.config.yml didn't work for you? The one generated by drush buildmanager-configure? Or an example somewhere? Thanks for flagging this. I'll get it updated.

I spent a while trying to make git subtrees another Drush option. There are a few reasons this didn't work out well:

  • Drush Make is not meant to handle (re)building a code base inside a Git repository. Trying to get it to do this adds a huge amount of complexity. (If Drush Make were refactored to abstract out what "type" of build is being done, it could work. But that's a big refactor. We like Drush Make the way it works, and just wanted to build something stable and easy around it.)
  • Encouraging people to do git subtree checkouts in a make file also turns out to be riddled with problems. A handful of subtree projects inside a repo is great. But things got nasty when I tried doing this for everything in large codebases. Git subtree projects are really only useful and practical for us to include in our site repos for projects we maintain.

@bryanhirsch bryanhirsch added bug and removed bug labels May 8, 2014
@JeffVeit
Copy link
Author

"Which buildmanager.config.yml didn't work for you?" The examples in this repository. I think it was what follows, but it was a few weeks ago now....: the buildmanager file in this repository references a make file. There's a make file called build.example.make, which I took to be the make file. That contains a reference to projects/example/build-example.make which doesn't exist. It was probably my mistake in thinking that the examples hung together as a working system.

"If Drush Make were refactored to abstract out what "type" of build is being done" .. do you mean a rebuild vs a build-from-scratch?

" But things got nasty when I tried doing this for everything in large codebases" What problems did you have? I've also spent a week trying to make this work nicely.

Do you know about mr aka myrepo? Has similarities to buildmanager and includes a subtree add-on. Wim Leers is using it for update but not using subtrees, and has written a Drupal addon. Haven't tested it properly with subtrees.

Also the drush rebuild project. Again - similar - although it's trying to do rebuilds in a clean environment as a way of setting up an entire dev environment.

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

No branches or pull requests

2 participants