Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[winery-dev] Initial checkin: structuring the git repositories

Dear mentors,

I got an email from the Eclipse Webmaster stating "You are encouraged
to create one repository per component or module in your project
(where a component can be a plugin or a sub-project)."

Currently, we're developing everything in one git repository as we
feel maintaining several repositories adds a burden when the
components are strongly connected.

I'm thinking of separating the projects as follows:

Each of following project as separate repository:

* org.eclipse.winery.highlevelrestapi: support library, versioned
separately from Winery
* org.eclipse.winery.model.csar.toscametafile: model for TOCSA
metafiles, versioned separately from Winery
* org.eclipse.winery.model.selfservice: model for the self service
portal, versioned separately from Winery
* org.eclipse.winery.model.tosca: model for TOCSA, versioned
separately from Winery

"versioned" means here the version of the maven project

And then all remaining projects as one big part:

* org.eclipse.winery.common: Used in repository and topology modeler
* org.eclipse.winery.generators.ia: IA Generator, used as component in
the repository
* org.eclipse.winery.repository: the repository including a JSP-based UI
* org.eclipse.winery.repository.client: Java-client for the repository
* org.eclipse.winery.topologymodeler: Graph-based modeler for topology templates

On the one hand, they could all perfectly reside in different gits and
could be even versioned independently from each other. On the other
hand, they are closely connected: The topology modeler depends on the
client and on the repository. Both the modeler and the repository
depend on common. The repository depends on the generator.

I'm not just separating the projects as I'm afraid the building guide
for Winery will be as huge as the one for Stardust
without Winery being as huge as Stardust...




Back to the top