Re: What do you use as a build tool (like Ant or make)

2008-09-11 Thread ristretto.rb

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)

2008-09-10 Thread Dan Fairs

> 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)

2008-09-09 Thread Kevin Teague

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)

2008-09-09 Thread ristretto.rb

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)

2008-09-09 Thread Adam Stein

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)

2008-09-09 Thread Christian Hoeppner

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)

2008-09-09 Thread V

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)

2008-09-09 Thread Jarek Zgoda

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)

2008-09-09 Thread 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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---