 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Michael Gool Guest
|
Posted: Tue Sep 28, 2004 9:51 am Post subject: Working with CVS on several projects sharing same source tre |
|
|
Hi all,
I am looking for best practices on organizing java code, jbuilder projects
and their CVS repositories.
Basically, we have a java source tree containing many packages and
sub-packages. We would like to setup projects in order to build
applications out of some parts of this source code.
Projects and source code must be stored in CVS repositories.
Obviously, we do not want to maintain a copy of the source code for each
project. Instead, we would like to use the same source code repository,
relying on CVS tags to ensure file version integrity.
Ideally, JBuilder would work with 2 different CVS repositories, one for
the project and applications descriptions, the other one for the source
code, but I don't think jbuilder handles this.
I have tried managing the source tree in a separate directory, using cvs
"by hand" and making jbuilder projects to point to this directory. But I
am not quite satisfied, as the project reloads the whole source tree when
doing a checkout.
Do I have to make a single huge project containing all applications and
manage the source code "normally" under this project ? Should I create
small projects to generate small archives from the source and application
projects using these archives, handling the dependencies by hand ?
If you are happy with your method for organizing your code, can you share
your practice ?
Thanks
/mig
|
|
| Back to top |
|
 |
John McGrath [TeamB] Guest
|
Posted: Tue Sep 28, 2004 11:34 pm Post subject: Re: Working with CVS on several projects sharing same source |
|
|
On 9/28/2004 at 5:51:44 AM, Michael Gool wrote:
| Quote: | I am looking for best practices on organizing java code, jbuilder
projects and their CVS repositories.
Basically, we have a java source tree containing many packages and
sub-packages. We would like to setup projects in order to build
applications out of some parts of this source code.
Projects and source code must be stored in CVS repositories.
Obviously, we do not want to maintain a copy of the source code for each
project. Instead, we would like to use the same source code repository,
relying on CVS tags to ensure file version integrity.
|
There are a variety of approaches that work well. It sounds like you have
a fairly large amount of code, so it seems sensible to break it up into
different projects. In that case, I would recommend something like the
following:
Divide the code into projects based on functionality -- major subsystems
get their own project. Make use of the unit testing facilities to create
thorough tests for the code in each project, which will minimize the
amount of time you send bouncing between projects. Each of these projects
should produce JAR files (ideally class, source, and doc JAR files) that
will be used by the other projects.
You can create a separate project for each application, but that is not
absolutely necessary. You can create multiple run configurations in the
same project, and you can create multiple archives from the same project,
so you have some flexibility here. Divide things in a way that makes
sense for your project.
To each of the application projects, add the the JAR files that it depends
on to the project as a JBuilder library. One advantage of this is that
you should end up working on your application code using a stable version
of the libraries while someone else is tearing the libraries apart.
If you have the right testing mechanisms in place, then most of the time,
you should be able to work on a single project at a time. For those those
times that you do not, you can create a project group that contains the
projects you need to work on. You can also remove the JAR library and
directly add another project to your project as a "required library".
--
Regards,
John McGrath [TeamB]
---------------------------------------------------
Before sending me e-mail, please read:
http://www.JPMcGrath.net/newsgroups/e-mail.html
|
|
| Back to top |
|
 |
Michael Gool Guest
|
Posted: Thu Sep 30, 2004 9:02 am Post subject: Re: Working with CVS on several projects sharing same source |
|
|
On Tue, 28 Sep 2004 16:34:07 -0700, John McGrath [TeamB] wrote:
Thanks for your reply, there are plenty of good suggestions
| Quote: | I am looking for best practices on organizing java code, jbuilder
projects and their CVS repositories.
Basically, we have a java source tree containing many packages and
sub-packages. We would like to setup projects in order to build
applications out of some parts of this source code.
Projects and source code must be stored in CVS repositories.
Divide the code into projects based on functionality -- major subsystems
get their own project. Make use of the unit testing facilities to create
thorough tests for the code in each project, which will minimize the
amount of time you send bouncing between projects. Each of these projects
should produce JAR files (ideally class, source, and doc JAR files) that
will be used by the other projects.
|
The issue I see there is that we will have to manage by hand the
dependencies. For instance, we need to remember that ApplicationX in
ProjectY need version Z of the Utility JAR.
But this might be workable.
| Quote: | You can create a separate project for each application, but that is not
absolutely necessary. You can create multiple run configurations in the
same project, and you can create multiple archives from the same project,
so you have some flexibility here. Divide things in a way that makes
sense for your project.
|
This might be the best way to work in my environment. It seems that
jbuilder performances are not affected that much when having many
configurations. It's just the CVS checkout/status/update that is longer
Thanks again,
/mig
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|