facebook

2 web projects, shared source + cvs = nightmare?

  1. MyEclipse IDE
  2.  > 
  3. General Development
Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #198417 Reply

    johnsw
    Member

    I 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
    ______ /lib

    I’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 files

    Is 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

    #198418 Reply

    support-michael
    Keymaster

    John,

    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

    #198429 Reply

    support-michael
    Keymaster

    Here 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

    #198430 Reply

    johnsw
    Member

    Michael

    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
    ……… /lib

    Does this sound like a good idea?

    John

    #198431 Reply

    johnsw
    Member

    Apologies, 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
    ……… /lib

    BTW, 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

    #198436 Reply

    support-michael
    Keymaster

    John,

    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

Viewing 6 posts - 1 through 6 (of 6 total)
Reply To: 2 web projects, shared source + cvs = nightmare?

You must be logged in to post in the forum log in