Skip to content

Project Structure

Craig edited this page Mar 19, 2015 · 5 revisions

Data Sources

By design each project should be directly runnable through eclipse or gradlew by just checking out the source from a given repository. This means that there should be some sort of local database distributed with projects that require database access. When not available there should be a setup sql script provided. Access to databases should be independent of the dao class and should be made available through osgi as a DataSourceObject.

I have used h2 for an in memory sql database for unit testing the goss(core) and goss-fusion project. I chose h2 because it can read most sql statements that are used for mysql.

Files to Ignore

The root of each project should contain a .gitignore file with the following items filtered out.

/.gradle/
/reports/
/generated/
/RemoteSystemsTempFiles
/.metadata/
/.settings/

In addition files in the cnf/releaserepo, cnf/buildrepo, cnf/cache and cnf/localrepo should not be checked in other than the original index.*.

PackageInfo files should be committed for exported packages. This allows use to version the package information correctly across projects.

We need to discuss the policy for individual project dependencies and how we should deal with those

Clone this wiki locally