CBF stands for Community Build Framework, and it's an alternate way to build your own pentaho distribution keeping the source untouched. Also simplifies upgrades, deploys and allows everything to sit in a well contained svn repository.
I still use on a daily basis what I started more than two years go in one of my first forum posts. And I can't imagine my life without it. Actually, I don't know how other manage their projects. It really amuses me to see how the thread with my tutorial for a datepicker in the secure-prompt filter is still heavily active after almost 2 years while CBF releases go almost unnoticed. C'mon, people still use .xactions?!
nicola:pentaho$ ls -1 -d project-* | wc -l
This listing on my project directory tells me that I have 34 different projects and variations that range from pentaho 1.7 to pentaho 3.5, stock or improved. Projects that I need to get up and running very quickly.
Here's a snippet of my day in terms of CBF commands:
- 9:00 - Carry on with the development of Mozilla metrics project. A quick svn up will allow me to pick the changes done by the team in the US: ant -f build.xml.cbf-3.0 -Dproject=metrics -Denv=pedro dist-clean all run
- 10:30 - An old client, still on 1.7 called saying they changed an algorithm used to generate a report: ant -f build.xml.cbf-1.7 -Dproject=etsa -Denv=pedro dist-clean all run.
- 10:38 - Report fixed and commited to svn. Update on client side, done.
- 10:39 - Back to the Mozilla implementation: : ant -f build.xml.cbf-3.0 -Dproject=metrics -Denv=pedro dist-clean all run
- 17:50 - Developments ready to be deployed. Lots of new code and patches, so I'll do a full remote deploy: ant -f build.xml.cbf-3.0 -Dproject=metrics -Denv=staging deploy-all . Magically, my changes can be seen on the other side of the ocean
- 18:00 - Commit done, time to look at the pentaho 3.5 project. Build a bare35 project and just: ant -f build.xml.cbf-3.5 -Dproject=bare35 -Denv=pedro dist-clean all run .
- 18:40 - Detected a minor CDF bug in pentaho 3.5. Fixing in with: ant -f build.xml.cbf-3.5 -Dproject=cdf -Denv=pedro dist-clean all run .
- 18:50 - Commit done to google code. Hudson will auto-magically pick it and will be used in the next pentaho build. Time to go home
I admit that many times I have the feeling that I'm on grounds that noone ever stepped on, but what alternatives do I have to quickly manage multiple projects with multiple configuration on multiple versions?