[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.c++

good continuous integration, automatic documentation software for c++

Johnny Chang

6/2/2009 5:07:00 PM

Started using trac and svn and it is working nicely, but am looking
for some other things to add: continuous integration, automatic
documentation. What suggestions do you guys have for the most full
featured easy to use software for this?

Stuff I am looking for:

build automation / continuous integration
-checkout, checkin working executable svn
-test framework for ease of testing - maybe define a test pattern, use
wildcards, any other features
-works fine without bugs for large compile and test times
-tests multiple clients
-can easily access files outside of svn server.

auto documentation
-extract comments to a html file
-linked source code documentation tree
-have forms or wiki that allows editing and propagates the changes
back into the source code as inline comments
-extraction of any other helpful information for large and complicated
code

comp.unix.programmer,comp.programming,comp.lang.c++,comp.std.c++


sourcecodesworld

20 Answers

Bart van Ingen Schenau

6/3/2009 11:08:00 AM

0

Johnny Chang wrote:

> Started using trac and svn and it is working nicely, but am looking
> for some other things to add: continuous integration, automatic
> documentation. What suggestions do you guys have for the most full
> featured easy to use software for this?
>
> Stuff I am looking for:
>
> build automation / continuous integration
<snip>
>
> auto documentation
> -extract comments to a html file
> -linked source code documentation tree
> -have forms or wiki that allows editing and propagates the changes
> back into the source code as inline comments
> -extraction of any other helpful information for large and complicated
> code

Doxygen (http://www.do...) seems to cover most of your
requirements for the documentation.
What it does not do (and I am not aware of any other system that will do
it) is allow you to change the documentation and have that reflected in
the source code.

Bart v Ingen Schenau
--
a.c.l.l.c-c++ FAQ: http://www.comeaucomputing.com...
c.l.c FAQ: http://...
c.l.c++ FAQ: http://www.parashift.com/c++...

Maxim Yegorushkin

6/3/2009 12:09:00 PM

0

On Jun 2, 6:06 pm, Johnny Chang <johnny...@gmail.com> wrote:
> Started using trac and svn and it is working nicely, but am looking
> for some other things to add: continuous integration, automatic
> documentation. What suggestions do you guys have for the most full
> featured easy to use software for this?
>
> Stuff I am looking for:
>
> build automation / continuous integration
> -checkout, checkin working executable svn
> -test framework for ease of testing - maybe define a test pattern, use
> wildcards, any other features
> -works fine without bugs for large compile and test times
> -tests multiple clients
> -can easily access files outside of svn server.
>
> auto documentation
> -extract comments to a html file
> -linked source code documentation tree
> -have forms or wiki that allows editing and propagates the changes
> back into the source code as inline comments
> -extraction of any other helpful information for large and complicated
> code

GNU make, Doxygen and something like CruiseControl (not
CruiseControl.rb crap though).

What you need to do is to create test and release targets in your
Makefile. test will do the tests, release will do the tests, extract
documentation using Doxygen and whatever else you want it to do.
CruiseControl will watch for changes in Subversion, check them out and
invoke `make test` or `make release`.

--
Max

Michael DOUBEZ

6/3/2009 2:04:00 PM

0

On 2 juin, 19:06, Johnny Chang <johnny...@gmail.com> wrote:
> Started using trac and svn and it is working nicely, but am looking
> for some other things to add: continuous integration, automatic
> documentation. What suggestions do you guys have for the most full
> featured easy to use software for this?

For integration with trac/svn, you can use buildbot.

[snip]

You ar OT on comp.lang.c++ and comp.lang.c

--
Michael

James Kanze

6/4/2009 7:58:00 AM

0

On Jun 3, 1:07 pm, Bart van Ingen Schenau <b...@ingen.ddns.info>
wrote:
> Johnny Chang wrote:
> > Started using trac and svn and it is working nicely, but am
> > looking for some other things to add: continuous
> > integration, automatic documentation. What suggestions do
> > you guys have for the most full featured easy to use
> > software for this?

> > Stuff I am looking for:

> > build automation / continuous integration
> <snip>

> > auto documentation
> > -extract comments to a html file
> > -linked source code documentation tree
> > -have forms or wiki that allows editing and propagates the changes
> > back into the source code as inline comments
> > -extraction of any other helpful information for large and complicated
> > code

> Doxygen (http://www.do...) seems to cover most of your
> requirements for the documentation. What it does not do (and
> I am not aware of any other system that will do it) is allow
> you to change the documentation and have that reflected in the
> source code.

But that is really the most important feature. Normally,
documentation precedes the code, and is used to generate the
code---the inverse is really only used to recover legacy code
which wasn't written this way to begin with. Most of the
"expensive" tools (Rational Rose, Borland Together, etc.)
support this round trip engineering.

Although designed with C in mind, CWeb is worth looking into.

--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Rainer Weikusat

6/4/2009 10:07:00 AM

0

James Kanze <james.kanze@gmail.com> writes:

[...]

> Normally, documentation precedes the code, and is used to generate
> the code

[...]

Something which is used as input to an automated translation process
which ultimatively produces some kind of executable (or something
which can be used as part of such an executable, eg a shared library
or a Perl module) is by definition 'source code'.

Chris Dollin

6/4/2009 11:13:00 AM

0

Rainer Weikusat wrote:

> James Kanze <james.kanze@gmail.com> writes:
>
> [...]
>
>> Normally, documentation precedes the code, and is used to generate
>> the code
>
> [...]
>
> Something which is used as input to an automated translation process
> which ultimatively produces some kind of executable (or something
> which can be used as part of such an executable, eg a shared library
> or a Perl module) is by definition 'source code'.

The usual documentation => code process isn't automated.

[Is electricity source code? How about time and energy? I think your
definition needs decolandering.]

--
"It is seldom good news." ~Crystal Ball~, /The Tough Guide to Fantasyland/

Hewlett-Packard Limited Cain Road, Bracknell, registered no:
registered office: Berks RG12 1HN 690597 England

Bart van Ingen Schenau

6/4/2009 12:50:00 PM

0

James Kanze wrote:

> On Jun 3, 1:07 pm, Bart van Ingen Schenau <b...@ingen.ddns.info>
> wrote:
>> Johnny Chang wrote:
>> > Started using trac and svn and it is working nicely, but am
>> > looking for some other things to add: continuous
>> > integration, automatic documentation. What suggestions do
>> > you guys have for the most full featured easy to use
>> > software for this?
>
>> > Stuff I am looking for:
>
>> > build automation / continuous integration
>> <snip>
>
>> > auto documentation
>> > -extract comments to a html file
>> > -linked source code documentation tree
>> > -have forms or wiki that allows editing and propagates the changes
>> > back into the source code as inline comments
>> > -extraction of any other helpful information for large and
>> > complicated code
>
>> Doxygen (http://www.do...) seems to cover most of your
>> requirements for the documentation. What it does not do (and
>> I am not aware of any other system that will do it) is allow
>> you to change the documentation and have that reflected in the
>> source code.
>
> But that is really the most important feature. Normally,
> documentation precedes the code, and is used to generate the
> code---the inverse is really only used to recover legacy code
> which wasn't written this way to begin with. Most of the
> "expensive" tools (Rational Rose, Borland Together, etc.)
> support this round trip engineering.

I have never had the privilege to really work with those integrated
design tools, so I can't tell how good they really are.
The practice I have come across the most is to write the documentation
before the code, but to have them in different files.

To my knowledge, tools like Rational Rose are designed to work with a
process where you first create a design of your application and then let
the tool create the source code from your design. In my experience, the
effort needed to fill-in all the little details, that are between a
design that is understandable for humans and one that can be used for
code generation, in considered too much.

That such tools can reverse-engineer source code to retrieve something
that looks like a design is just an added bonus for using them on legacy
projects, because the primary means of maintenance would be through the
tool itself.

>
> Although designed with C in mind, CWeb is worth looking into.
>
> --
> James Kanze (GABI Software) email:james.kanze@gmail.com

Bart v Ingen Schenau
--
a.c.l.l.c-c++ FAQ: http://www.comeaucomputing.com...
c.l.c FAQ: http://...
c.l.c++ FAQ: http://www.parashift.com/c++...

James Kanze

6/4/2009 1:15:00 PM

0

On Jun 4, 12:06 pm, Rainer Weikusat <rweiku...@mssgmbh.com> wrote:
> James Kanze <james.ka...@gmail.com> writes:

> [...]

> > Normally, documentation precedes the code, and is used to
> > generate the code

> [...]

> Something which is used as input to an automated translation
> process which ultimatively produces some kind of executable
> (or something which can be used as part of such an executable,
> eg a shared library or a Perl module) is by definition 'source
> code'.

For some arbitrary and ultimately useless definition of "source
code", perhaps. CWeb input is certainly a sort of "source
code", but it's a lot more human readable than C++. And I don't
even know how to qualify things like Rose, in which the input
isn't in textual form (or isn't completely in textual form).

And of course, the code generation isn't always "an automated
translation process", although one does like to have parts of it
automated.

--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Rainer Weikusat

6/4/2009 1:25:00 PM

0

James Kanze <james.kanze@gmail.com> writes:
> On Jun 4, 12:06 pm, Rainer Weikusat <rweiku...@mssgmbh.com> wrote:
>> James Kanze <james.ka...@gmail.com> writes:
>
>> [...]
>
>> > Normally, documentation precedes the code, and is used to
>> > generate the code
>
>> [...]
>
>> Something which is used as input to an automated translation
>> process which ultimatively produces some kind of executable
>> (or something which can be used as part of such an executable,
>> eg a shared library or a Perl module) is by definition 'source
>> code'.
>
> For some arbitrary and ultimately useless definition of "source
> code", perhaps.

I didn't expect that you would be particularly fond of the remark that
what you believe to be 'really different' from programming is just
that, but that doesn't make it any different.

> CWeb input is certainly a sort of "source code", but it's a lot more
> human readable than C++.

And C++ is a lot more 'humanly readable' than assembler mnemonics,
which are more humanly readable than sequences of hexadecimal bytes
which are more humanly readable than strings of ones and zeroes and
....

> And I don't even know how to qualify things like Rose, in which the
> input isn't in textual form (or isn't completely in textual form).

"The aliterate's wheelchair"?

Johnny Chang

6/4/2009 3:24:00 PM

0

What does this software do? I'm just looking for automatic
documentation that lets you add comments to the source code from the
webpage/wiki, not actually edit the code. I'm sorry if I've
misunderstood

On Jun 4, 3:58 am, James Kanze <james.ka...@gmail.com> wrote:
> On Jun 3, 1:07 pm, Bart van Ingen Schenau <b...@ingen.ddns.info>
> wrote:
>
>
>
> > Johnny Chang wrote:
> > > Started using trac and svn and it is working nicely, but am
> > > looking for some other things to add: continuous
> > > integration, automatic documentation. What suggestions do
> > > you guys have for the most full featured easy to use
> > > software for this?
> > > Stuff I am looking for:
> > > build automation / continuous integration
> > <snip>
> > > auto documentation
> > > -extract comments to a html file
> > > -linked source code documentation tree
> > > -have forms or wiki that allows editing and propagates the changes
> > > back into the source code as inline comments
> > > -extraction of any other helpful information for large and complicated
> > > code
> > Doxygen (http://www.do...) seems to cover most of your
> > requirements for the documentation.  What it does not do (and
> > I am not aware of any other system that will do it) is allow
> > you to change the documentation and have that reflected in the
> > source code.
>
> But that is really the most important feature.  Normally,
> documentation precedes the code, and is used to generate the
> code---the inverse is really only used to recover legacy code
> which wasn't written this way to begin with.  Most of the
> "expensive" tools (Rational Rose, Borland Together, etc.)
> support this round trip engineering.
>
> Although designed with C in mind, CWeb is worth looking into.
>
> --
> James Kanze (GABI Software)             email:james.ka...@gmail.com
> Conseils en informatique orientée objet/
>                    Beratung in objektorientierter Datenverarbeitung
> 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34