Builder
This is an open discussion with 27 replies, filed under Ensembles.
Search
Very nice! Hope this concept will be integrated into this website.
Well, it appears Builder is intended to be run on your own webserver, no?
I wrote a little overview of the Builder in the first post, please report any problem you might encounter.
Well, it appears Builder is intended to be run on your own webserver, no?
correct!
Sweet, thank for sharing. I’ll be toying with this next week and will give you some feedback.
@alpacaaa - very nice man. I installed it on my Snow Leopard machine which runs Apache and PHP 5.3.1, and I’m getting this when I’m finishing and I try to build…
Symphony Fatal Error Git is not available on your system. An error occurred in /Users/user/Sites/public_html/builder-ensemble/extensions/builder/lib/class.builderjob.php around line 201 Git is not available on your system. /Users/user/Sites/public_html/builder-ensemble/extensions/builder/lib/class.builderjob.php line 201 196 closedir($dir); 197 } 198 199 protected static function throwEx($msg) 200 { 201 throw new Exception($msg); 202 } 203 }
I’m getting the error that GIT is not on my system. But, it is on my system. I use it everyday. I’m not good at git, but I use it, and I know it’s on my system. I don’t know if there is something I’m missing.
Could you point me in the right direction?
Probably something to do with where PHP looks for executables and/or libs on your box?
I need you to do a bit of tests, if you have some spare time. The builder wasn’t tested on many environments and therefore problems like that may arise again in the future. But we’re here to fix them!
So this is what you need to do:
- create a
.php
file with this code:<?php echo shell_exec('git --version');
- execute the file and post here the output
Thanks to everyone!
So this is what you need to do:
create a .php file with this code:
<?php echo shell_exec('git--version');
execute the file and post here the output
I get a blank page.
Odd.
This seems to be a mac related problem. Please try this code instead (hope it will show which git version you have installed)
<?php ob_start(); passthru('git --version', $exit_code); $version = ob_get_contents(); ob_end_clean(); echo $version;
Odd. Still blank.
I copied and pasted your code, and ran it and it’s still blank. I even, removed the code and just ran phpinfo(); to see if it was the file itself, but phpinfo ran fine.
Does $exit_code
need to be defined?
No, $exit_code
is useless in our case. This is a very strange issue.
Anyway, if you’d like to try the builder you can comment out the part of code where it checks git version. It should be around line 109
.
Change
self::throwEx('Git is not available on your system.');
to
//self::throwEx('Git is not available on your system.');
Sorry for this issue, I will try to figure out how to get around it next week.
If you echo the $exit_code
, it will be 127 (file not found), which probably means that there’s something wrong/missing in the environment setup. (I have no idea how to fix this.)
Ok thanks.
After a bit of debugging, this is the only solution I found. As Craig and Michael correctly pointed out, in some environments php is not able to find git
.
Please try this solution:
- Open a terminal and type
which git
. It should print something like/usr/local/bin/git
. - Copy and paste the result into your previously created
.php
test file, so that it looks like this:<?php echo shell_exec('/usr/local/bin/git --version');
Hopefully it will show you which version of git is present on your system this time. Thanks for testing :)
On my Mac the path to Git is /usr/local/git/bin/git
. So my test file now looks like this:
<?php echo shell_exec('/usr/local/git/bin/git --version');
The (now successful) response is:
git version 1.7.1
Thanks guys.
I just pushed some changes that should solve this issue. Have a look: http://github.com/alpacaaa/builder/commit/aa4e9ccf6b659855c2f6e3760e05372fc7f39390.
Updated .zip
package: http://downloads.getsymphony.com/ensemble/46333/builder-ensemble.zip
Hi Alpacaaa, great stuff you have made! But still not working here =/
check this error message:
ZipArchive::extractTo() [ziparchive.extractto]: Invalid or unitialized Zip object D:xampphtdocsbuilderextensionsbuilderlibclass.builderjob.php line 85 80 $dest = $path; 81 82 @mkdir($path); 83 } 84 85 $zip->extractTo($dest, $files); 86 $zip->close(); 87 88 if ($isSymphony) { 89 $src = array_pop(glob($path. '/symphony*'));
Thank you for your attention.
Thanks for reporting.
I will look into it. But please be aware that the Builder should run in a UNIX environment. Sorry :)
Hello Marco, I am now in debian linux (happier than ever) and I usually use the Builder. Today I came across an error that I could not solve, maybe you can give me a light.
As I understand it, when Builder writing the queue, it adds the author name in the path of Github, but some are different authors and Github users, like the Symphony itself. For example, the Builder is still trying to search the repository https://github.com/symphony/symphony-2.git and not https://github.com/symphonycms/symphony-2.git. The same happens with phoque’s extensions that in Github is nils-werner…
Unless I’m doing something wrong, is how to improve it?
Create an account or sign in to comment.
A new ensemble, “Builder” is now available for download. Comments and feedback can be left here but if you discover any issues, please post it on the issue tracker.
Feeling lazy?
Symphony Builder will let you build custom symphony projects in a snap! It is both an extension and an ensemble.
The Extension
It provides all the tools you need to talk with the Github API, store things easily in the Symphony session layer and handle queues, making it possible to build more than a project at a time. Grab it on github at: http://github.com/alpacaaa/builder
The Ensemble
This is what you’re really looking for.
While it’s still in an early stage, it let you choose which extensions and utilities include in your project. Dealing with git is still a complicated task most of the time, especially if you don’t bother about its architecture. You should really learn it, but if
clone
,pull
orfetch
are still meaningless to you, the builder will be of great help. It let you choose whichbranch
ortag
you want to checkout, and do all the magic for you. The workspace behind this ensemble is available on github at: http://github.com/alpacaaa/builder-workspaceRequirements
All you need is a working webserver (remember that symphony officially supports only the LAMP stack, hope you get the Me$sage) and:
git
to clone repositoriescurl
to download .zip packagesexsl
(just the ensemble) because I suck at writing xsl codePlease remember this is in early alpha stage, still I’m really proud of it. Hope you’ll enjoy :)
Direct download: http://downloads.getsymphony.com/ensemble/46333/builder-ensemble.zip