- This topic has 5 replies, 2 voices, and was last updated 21 years, 2 months ago by support-michael.
-
AuthorPosts
-
johnswMemberI have a web project, project A, which is has java files in packages under the src directory, and properties files.
The web root for project A, called projA-webroot is stored in cvs under mainmodule/projA-webroot (same module / different dir).
so in cvs we have:
mainmodule
___ /src
______ /{all my java packages}
___ /projA-webroot
______ /WEB-INF
______ /libI’m now creating a new project B which requires the common src code from projectA/src in addition to its own src.
It has its own web root called projB-webroot, and its own project B specific src directory
Therefore cvs is structured as
mainmodule
___ /src
______ /{java package dir structure}
______ property files
___ /projA-webroot
______ /WEB-INF
______ /lib
___ /projB-webroot
______ /WEB-INF
______ /lib
___ /projB-src
______ /{java package dir structure}
______ property filesIs there a better way to organise the cvs to support two projects with common source? At the moment I have a free hand to create the cvs repository according to “best practice”.
Should I try to create a cvs module which represents the entire web project, or create multiple subdirectories within a single module and pull files from one cvs directory into the desired project directory?
Depending on the answer to the above paragraph, what is the best way to “bind” a specific directory (ie src) in the project with a module/dir from cvs. Currently I’m using the Eclipse cvs perspective and doing a check-into to pull the files into the project from cvs. Is this the correct way to do things?
I did try but failed to find any specific information on this. If a document does describe this in detail could you let me know where I can locate it.
Thanks
John
ps Win2K eclipse 2.1.1 MyEclipseIDE 2.6.1
support-michaelKeymasterJohn,
I’m kicking this up to a couple of our professional services guys for comment. Scott and I have some ideas but we must reconcile with the PS guys since they have more CVS and project organization experience. It will probably be late tonight (CST) or tomorrow before I can get back to you.
Regards,
Michael
MyEclipse Support
support-michaelKeymasterHere is an alternative project organization for consideration.
1) Create 3 project s: WebProjectA, WebProjectB, and MyCommons
2) Place all shared code between WebProjectA and WebProjectB in the MyCommons project
3) Make WebProjectA and WebProjectB dependents of MyCommons which will allow them to resolve shared source at development compilation time and when testing and debugging development deployments
4) For deployment time support manually create Jar export descriptions that jar and copy the resulting archive to the WEB-INF/lib dirs of WebProjectA and WebProjectB respectively.On step 4 we are working on the concept of dependent project that will perform this process automatically. This capability will be released in an upcoming release.
Let us know if this is a useful alternative organizational model.
Michael
MyEclipse Support
johnswMemberMichael
Thanks for the suggestion. Perhaps this would be the best approach.
This might then map to a single cvs module with three directories; common, projA and projB with the following structure:
moduleXX
… /common
…… /src
……… /{java package dir structure}
……… property files
… /projA
…… /src
……… /{java package dir structure}
……… property files
…… /webroot
……… /WEB-INF
……… /lib
… /projA
…… /src
……… /{java package dir structure}
……… property files
…… /webroot
……… /WEB-INF
……… /libDoes this sound like a good idea?
John
johnswMemberApologies, made a mistake with the diagram. It should be
moduleXX
… /common
…… /src
……… /{java package dir structure}
……… property files
… /projA
…… /src
……… /{java package dir structure}
……… property files
…… /webroot
……… /WEB-INF
……… /lib
… /projB <- should be ‘projB’ not ‘projA’
…… /src
……… /{java package dir structure}
……… property files
…… /webroot
……… /WEB-INF
……… /libBTW, I’d still like any further cvs/eclipse project organisation suggestions that you or your PS guys can come up with, if you have any more.
Thanks
John
support-michaelKeymasterJohn,
I believe the model you articulated is the cleanest and simplest factorization for common code shared between 2 or more projects. This is the direction MyEclipse is taking to support larger systems of applications, the integration of frameworks, and common utilities.
Michael
MyEclipse Support -
AuthorPosts