Re: What do you use as a build tool (like Ant or make)
Thanks very much for the replies. I was really considering Vellum, and I still am. But, that was a very informative post from Kevin on zc.buildout. I'll have to give both a look. Look forward to your blog post Dan!! cheers gene On Sep 10, 9:58 pm, Dan Fairs <[EMAIL PROTECTED]> wrote: > > I haven't used any of them with Django, but for managing Zope, Plone > > and Grok based web apps, zc.buildout is the current preferred tool. > > I use zc.buildout to manage my Django builds. Blog post coming soon > (when the project's finished!) > > Cheers, > Dan > > -- > Dan Fairs <[EMAIL PROTECTED]> |http://www.stereoplex.com/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
Re: What do you use as a build tool (like Ant or make)
> I haven't used any of them with Django, but for managing Zope, Plone > and Grok based web apps, zc.buildout is the current preferred tool. I use zc.buildout to manage my Django builds. Blog post coming soon (when the project's finished!) Cheers, Dan -- Dan Fairs <[EMAIL PROTECTED]> | http://www.stereoplex.com/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
Re: What do you use as a build tool (like Ant or make)
There is a list of all Python-based build tools on the python.org wiki: http://wiki.python.org/moin/ConfigurationAndBuildTools I haven't used any of them with Django, but for managing Zope, Plone and Grok based web apps, zc.buildout is the current preferred tool. It's a configuration-based build tool (that is it decides to re-build parts based on changes in the build config files), so it won't handle the problem of source code recompilation very well, but then if your project is pure Python, source code recompilation is not a problem :) zc.buildout shines in two aspects: * Managing Python library dependencies Zope 2 (and Zope 3) used to be distributed from a single source tree. This was a problem, because it made it hard to share packages between the various Zope-based projects, and other Python web apps. Zope 3 was divided into some 80+ packages, new releases of Zope 3 are now just a list of these packages at specific versions. Very nice when upgrading the framework because you diff between two releases of the framework and see which packages have changed - and you can also override this list if you want to pin a packages version at something older or newer than what's been included in a given release. This also makes it really great at managing 3rd party libraries such as SQLAlchemy, etc. * Sharing recipes between builds zc.buildout recipes can be Python code that is part of your own project, or a recipe can be published on PyPI. This way if someone else is maintaining a recipe to build a part that you'd like to include in your project, you can easily re-use their recipe (without using cut-n-paste re-use). Buildout recipes on PyPI are here: http://pypi.python.org/pypi?:action=browse&show=all&c=512 As for the specific build use cases you mention: > * run unit tests There are buildout recipes for creating testrunners (http:// pypi.python.org/pypi/zc.recipe.testrunner/1.1.0). This will create a ./ bin/test script in your project to run test suites. > * copy files to a distribution set based on a target (production, > staging, clustered, etc.) By default, a project will have a buildout config file named buildout.cfg in the root directory. This file can inherit from other build config files, so you can have a base.cfg, production.cfg and development.cfg. I usually include things such as PyLint in the dev build, and specific ports and passwords in the production.cfg file. Buildout doesn't do remote execution, e.g. if you want to be able to update production servers from your dev workstation like Rails devs do with Capistrano. > * include config files specific to the target, and not including > source control files and other development > time artifacts. Again, generally solved by having dev.cfg and production.cfg files containing differences between the environments. And again, if you have problems such as conditional header files and source code compilation for multiple target platforms, buildout is probably going to be the wrong tool. > * transfer distribution Dunno what this means? Be warned that while buildout is very lovely when your web app begins to use more and more 3rd party projects, or has an increasingly complex set of parts - it's awesome to add a couple packages to the list of eggs used by a project and ask another developer to "svn up; ./ bin/buildout" and they get the same library set installed as you have in your dev environment - but the introductory documentation for buildout is still somewhat ... lacking. > > Perhaps you just hand build python scripts to do it. Or do you use > Ant or make? I'm coming over from Java, and used to use Ant, but I'm > migrating over to Python and would like to use what is generally > considered the Pythonic way. > Python doesn't have an equivalent of Ant/Java as far as a certain build tool being more predominantly used. Generally most of the current crop of Python build tools are fairly young so you'll find rough edges on all of the projects (with the exception of SCons I think, although that's mostly a source code recompiliation build tool). Most of the build tool interested folks are subscribed to the distutils-sig mailing list, so it's a good place to ask more questions: http://www.python.org/community/sigs/current/distutils-sig/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
Re: What do you use as a build tool (like Ant or make)
Waf looks nice, I'll have a deeper look. Is anyone using Vellum - http://www.zedshaw.com/projects/vellum/index.html Thanks for all the replies On Sep 10, 1:52 am, Adam Stein <[EMAIL PROTECTED]> wrote: > I'm not doing unit tests at the moment, but for build and release I use > Waf (http://code.google.com/p/waf/), which happens to be written in > Python (including the configuration files). > > > > On Tue, 2008-09-09 at 01:14 -0700, ristretto.rb wrote: > > Hello, > > > What do you use to build a Django project? By build I mean, > > > * run unit tests > > * copy files to a distribution set based on a target (production, > > staging, clustered, etc.) > > * include config files specific to the target, and not including > > source control files and other development > > time artifacts. > > * transfer distribution > > > Perhaps you just hand build python scripts to do it. Or do you use > > Ant or make? I'm coming over from Java, and used to use Ant, but I'm > > migrating over to Python and would like to use what is generally > > considered the Pythonic way. > > > cheers > > > -- > > Adam Stein @ Xerox Corporation Email: [EMAIL PROTECTED] > > Disclaimer: Any/All views expressed > here have been proven to be my own. [http://www.csh.rit.edu/~adam/] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
Re: What do you use as a build tool (like Ant or make)
I'm not doing unit tests at the moment, but for build and release I use Waf (http://code.google.com/p/waf/), which happens to be written in Python (including the configuration files). On Tue, 2008-09-09 at 01:14 -0700, ristretto.rb wrote: > Hello, > > What do you use to build a Django project? By build I mean, > > * run unit tests > * copy files to a distribution set based on a target (production, > staging, clustered, etc.) > * include config files specific to the target, and not including > source control files and other development > time artifacts. > * transfer distribution > > Perhaps you just hand build python scripts to do it. Or do you use > Ant or make? I'm coming over from Java, and used to use Ant, but I'm > migrating over to Python and would like to use what is generally > considered the Pythonic way. > > cheers > > -- Adam Stein @ Xerox Corporation Email: [EMAIL PROTECTED] Disclaimer: Any/All views expressed here have been proven to be my own. [http://www.csh.rit.edu/~adam/] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
Re: What do you use as a build tool (like Ant or make)
I've heard rumours about fabric (ask google, sorry can't remember url now). ~Chris On 09/09/2008, at 9:14, ristretto.rb wrote: > > Hello, > > What do you use to build a Django project? By build I mean, > > * run unit tests > * copy files to a distribution set based on a target (production, > staging, clustered, etc.) > * include config files specific to the target, and not including > source control files and other development > time artifacts. > * transfer distribution > > Perhaps you just hand build python scripts to do it. Or do you use > Ant or make? I'm coming over from Java, and used to use Ant, but I'm > migrating over to Python and would like to use what is generally > considered the Pythonic way. > > cheers > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
Re: What do you use as a build tool (like Ant or make)
Hi, there was a thread on the bazaar mailing list about continuous integration systems for bazaar, it's not just a build tool, and not django related, but it might worth a look: https://lists.ubuntu.com/archives/bazaar/2008q3/046352.html V On Sep 9, 10:23 am, Jarek Zgoda <[EMAIL PROTECTED]> wrote: > We use Paver (http://www.blueskyonmars.com/projects/paver/), but I am > far from being happy with it. Sometimes I just stick with Ant. > > Wiadomość napisana w dniu 2008-09-09, o godz. 10:14, przez ristretto.rb: > > > > > > > Hello, > > > What do you use to build a Django project? By build I mean, > > > * run unit tests > > * copy files to a distribution set based on a target (production, > > staging, clustered, etc.) > > * include config files specific to the target, and not including > > source control files and other development > > time artifacts. > > * transfer distribution > > > Perhaps you just hand build python scripts to do it. Or do you use > > Ant or make? I'm coming over from Java, and used to use Ant, but I'm > > migrating over to Python and would like to use what is generally > > considered the Pythonic way. > > > cheers > > -- > We read Knuth so you don't have to. - Tim Peters > > Jarek Zgoda, R&D, Redefine > [EMAIL PROTECTED] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
Re: What do you use as a build tool (like Ant or make)
We use Paver (http://www.blueskyonmars.com/projects/paver/), but I am far from being happy with it. Sometimes I just stick with Ant. Wiadomość napisana w dniu 2008-09-09, o godz. 10:14, przez ristretto.rb: > > Hello, > > What do you use to build a Django project? By build I mean, > > * run unit tests > * copy files to a distribution set based on a target (production, > staging, clustered, etc.) > * include config files specific to the target, and not including > source control files and other development > time artifacts. > * transfer distribution > > Perhaps you just hand build python scripts to do it. Or do you use > Ant or make? I'm coming over from Java, and used to use Ant, but I'm > migrating over to Python and would like to use what is generally > considered the Pythonic way. > > cheers > > > -- We read Knuth so you don't have to. - Tim Peters Jarek Zgoda, R&D, Redefine [EMAIL PROTECTED] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---
What do you use as a build tool (like Ant or make)
Hello, What do you use to build a Django project? By build I mean, * run unit tests * copy files to a distribution set based on a target (production, staging, clustered, etc.) * include config files specific to the target, and not including source control files and other development time artifacts. * transfer distribution Perhaps you just hand build python scripts to do it. Or do you use Ant or make? I'm coming over from Java, and used to use Ant, but I'm migrating over to Python and would like to use what is generally considered the Pythonic way. cheers --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~--~~~~--~~--~--~---