GUI-based build system

H

Hung Jung Lu

Hi,

Does anyone know whether there is any generic GUI-based build system
around? (Python-based would be great. Also, for now I am only looking
for Windows OS.) By "build system" I mean something similar the
"make/makefile" system, but somewhat more
generic/powerful/flexible/higher-level/etc, so that if you have a
sequence (maybe even some simple conditional branches and loops) of
system tasks to perform, you can more easily visualize the steps, and
perhaps resume from some middle point. If it has e-mail capability to
send out final status, even better. :) If it can work both
interactively and a an fire-and-forget stand-alone, even better. :)

(I don't mind writing simple wrappers to each individual tasks to
produce standardized responses for the build system.)

My guess is that there are many utilities like that out there already.
Another guess is that some of them use XML for task specification. One
more guess is that some of them are free. But, I could be wrong. :)

thanks,

Hung Jung
 
P

Peter Hansen

Hung said:
Does anyone know whether there is any generic GUI-based build system
around? (Python-based would be great. Also, for now I am only looking
for Windows OS.) By "build system" I mean something similar the
"make/makefile" system, but somewhat more
generic/powerful/flexible/higher-level/etc, so that if you have a
sequence (maybe even some simple conditional branches and loops) of
system tasks to perform, you can more easily visualize the steps, and
perhaps resume from some middle point. If it has e-mail capability to
send out final status, even better. :) If it can work both
interactively and a an fire-and-forget stand-alone, even better. :)

(I don't mind writing simple wrappers to each individual tasks to
produce standardized responses for the build system.)

My guess is that there are many utilities like that out there already.
Another guess is that some of them use XML for task specification. One
more guess is that some of them are free. But, I could be wrong. :)

I have another guess, and that is that given the activity in both the
A-A-P and Scons projects, these likely-to-exist GUI systems would be
relatively primitive in comparison and would be unsatisfactory as a
result.

Perhaps a better approach would be to see if a GUI could easily be
added to either of the above systems?

(And no, sorry, I haven't heard of any GUI version of this stuff.
I'm also unconvinced of the use case: either of the above allow Python
code to be written to implement the logic required, and if you need
a GUI to visualize the steps more easily than reading Python code
would allow, you're already in trouble with the tortuous nature of
the logic in question, IMHO. :) )

-Peter
 
J

Joe Francia

Hung said:
Hi,

Does anyone know whether there is any generic GUI-based build system
around? (Python-based would be great. Also, for now I am only looking
for Windows OS.) By "build system" I mean something similar the
"make/makefile" system, but somewhat more
generic/powerful/flexible/higher-level/etc, so that if you have a
sequence (maybe even some simple conditional branches and loops) of
system tasks to perform, you can more easily visualize the steps, and
perhaps resume from some middle point. If it has e-mail capability to
send out final status, even better. :) If it can work both
interactively and a an fire-and-forget stand-alone, even better. :)

(I don't mind writing simple wrappers to each individual tasks to
produce standardized responses for the build system.)

My guess is that there are many utilities like that out there already.
Another guess is that some of them use XML for task specification. One
more guess is that some of them are free. But, I could be wrong. :)

You may want to look at Ant. ( http://ant.apache.org ) Ant is a free,
Java-based make tool (probably usable from Jython), but "without make's
wrinkles". It can do anything Java can do, such as send an email at the
end of the process. It uses XML as the project makefiles. It shouldn't
be too much work to wrap Ant in a nice wxPython (or whatever) GUI
(especially if you can use Jython). You may also want to look at
Eclipse ( http://www.eclipse.org ), a Java-based (but highly extensible)
IDE which uses Ant for its build process.

Peace,
Joe
 
H

Hung Jung Lu

Peter Hansen said:
I have another guess, and that is that given the activity in both the
A-A-P and Scons projects, these likely-to-exist GUI systems would be
relatively primitive in comparison and would be unsatisfactory as a
result.

Hmm... perhaps I should have not mentioned the expression "build
system". I have in mind something more general than the build system
for compiling and assembling a software package. I have in mind system
tasks, including hitting databases, running DTS packages. That is,
what I have in mind is not a coder's tool (which is basically an
advanced makefile system), but an enterprise system tool for task
management. In short, one level above. I have in mind tasks that are
much more complicated than just a command line, that's why I mentioned
about writing individual wrappers for every task. Of course the same
system could be used for makefile purpose, but I would like something
that's more general than makefile.

Believe it or not, similar things are not uncommon in the commercial
world. I have worked with an astronomically-priced rules engine
product before, and that was quite similar in spirit. And GUI of
course is a must, since we are not always dealing with programmers.
Anyway, all this is a common need. So I'd be surprised if there is
nothing already out there. I myself have made one smaller system like
this before, although nothing fancy and was too specific to my
environment back then.

regards,

Hung Jung
 
J

John Roth

Hung Jung Lu said:
Peter Hansen <[email protected]> wrote in message

Hmm... perhaps I should have not mentioned the expression "build
system". I have in mind something more general than the build system
for compiling and assembling a software package. I have in mind system
tasks, including hitting databases, running DTS packages. That is,
what I have in mind is not a coder's tool (which is basically an
advanced makefile system), but an enterprise system tool for task
management. In short, one level above. I have in mind tasks that are
much more complicated than just a command line, that's why I mentioned
about writing individual wrappers for every task. Of course the same
system could be used for makefile purpose, but I would like something
that's more general than makefile.

Believe it or not, similar things are not uncommon in the commercial
world. I have worked with an astronomically-priced rules engine
product before, and that was quite similar in spirit. And GUI of
course is a must, since we are not always dealing with programmers.
Anyway, all this is a common need. So I'd be surprised if there is
nothing already out there. I myself have made one smaller system like
this before, although nothing fancy and was too specific to my
environment back then.


I thought that was what Ant did? You build a class to handle each
task, and that class could do whatever it needed to do.

John Roth
 
J

John J. Lee

We'll assume you're not a native speaker, and forgive you for using
the 'e' word in a technical forum ;-)


AFAICT, "much more complicated than just a command line" doesn't mean
much. You can stick anything in a program runnable from the command
line.


"Much more general" *how* exactly? make is already pretty general,
though it tries quite hard to hide it under layers of default rules,
recursive builds, and other nastiness. It solves the dependency
problem.

[...]
I thought that was what Ant did? You build a class to handle each
task, and that class could do whatever it needed to do.

I thought that was what *make* did! Seriously, though I truly hate
the beast, make is just as powerful as any other build dependency
system. There are hard cases (LaTeX springs to mind), but I think the
other build systems have just the same trouble with those cases: you
just have to write special-purpose scripts for those (and then run
them from make, or whatever). No GUI, of course.

Scons' feature list is definitely looking impressive, and the author's
prior experience with cons is very reassuring...


John
 
H

Hung Jung Lu

Joe Francia said:
You may want to look at Ant. ( http://ant.apache.org ) Ant is a free,
Java-based make tool (probably usable from Jython), but "without make's
wrinkles". It can do anything Java can do, such as send an email at the
end of the process. It uses XML as the project makefiles.

Thanks. I just took a quick look at Ant. Ant comes closer than SCons,
and it's a good thing that they allow external tasks. I need to look
at it a bit more. But I think that at this moment, building a generic
Python-based system from scratch seems to be the way to go. Java is
not the right language. I'd choose Perl over Java for system tasks,
and Python over Perl.

One more observation is: tasks in build systems are particularly
suitable for Aspect-Oriented Programming features. So, there may be a
point to start everything from scratch to incorporate new approaches.

regards,

Hung Jung
 
C

Chris Tavares

Hung Jung Lu said:
Hi,

Does anyone know whether there is any generic GUI-based build system
around? (Python-based would be great. Also, for now I am only looking
for Windows OS.) By "build system" I mean something similar the
"make/makefile" system, but somewhat more
generic/powerful/flexible/higher-level/etc, so that if you have a
sequence (maybe even some simple conditional branches and loops) of
system tasks to perform, you can more easily visualize the steps, and
perhaps resume from some middle point. If it has e-mail capability to
send out final status, even better. :) If it can work both
interactively and a an fire-and-forget stand-alone, even better. :)

(I don't mind writing simple wrappers to each individual tasks to
produce standardized responses for the build system.)

My guess is that there are many utilities like that out there already.
Another guess is that some of them use XML for task specification. One
more guess is that some of them are free. But, I could be wrong. :)

thanks,

Hung Jung

In the windows world, here are a couple of commercial tools that do stuff
like this:

Visual Build Pro: http://www.kinook.com/VisBuildPro/
FinalBuilder: http://www.atozedsoftware.com/finalbuilder/index.html

-Chris
 
W

Werner Schiendl

Hi,
Thanks. I just took a quick look at Ant. Ant comes closer than SCons,
and it's a good thing that they allow external tasks. I need to look
at it a bit more. But I think that at this moment, building a generic
Python-based system from scratch seems to be the way to go. Java is
not the right language. I'd choose Perl over Java for system tasks,
and Python over Perl.

In what detail does it come closer than SCons, if you want it be in Python?

Before doing something from scratch, I'd certainly investigate how to
build it on top of SCons. It seems very well-thought-out and stable and
also mature. Consider that the project lead has several years of
experience (with the Perl-based Cons tool) and that the design of SCons
actually won the Software Carpentry contest.

Also, don't be fooled in thinking that SCons is only the command line
tool. You can use the underlying library fully independent of the SCons
command line machinery to build your GUI tool.

Just my 2 cent.

hth

Werner
 
H

Hung Jung Lu

Werner Schiendl said:
In what detail does it come closer than SCons, if you want it be in Python?

It uses XML. It seems to step a little bit more beyond building
software. In their FAQ they showed example of e-mail notification,
etc.
Before doing something from scratch, I'd certainly investigate how to
build it on top of SCons.

I truly regret I mentioned the words "build system". I mentioned this
name because I did not know what else to call it. To give you an idea
what I am talking about, look at what Chris Tavares has mentioned:

FinalBuilder: http://www.atozedsoftware.com/finalbuilder/index.html

and this other product:

http://homepages.ihug.com.au/~openflow/index4.html
http://homepages.ihug.com.au/~openflow/Tour/oftour.chm

What I have in mind is about half-way between these two products. So
perhaps I should call it "Workflow Management System" or "Enterprise
Task Managment System".

In particular, GUI is important, and by GUI I mean you can visualize
the tasks including the conditional branches and perhaps even loops.

regards,

Hung Jung
 
W

Werner Schiendl

Hi,
What I have in mind is about half-way between these two products. So
perhaps I should call it "Workflow Management System" or "Enterprise
Task Managment System".

In particular, GUI is important, and by GUI I mean you can visualize
the tasks including the conditional branches and perhaps even loops.

I could imagine that it would be easier for the group to help you with
ideas if you provided use-cases (so who will use the system to achive what).

Maybe you cannot disclose more details, but if I think it might help.

hth

Werner
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top