Difference between revisions of "GCube Project Layout"
From Gcube Wiki
Manuele.simi (Talk | contribs) (→Standard Project Layout) |
Manuele.simi (Talk | contribs) (→Project Layout Explained) |
||
Line 53: | Line 53: | ||
| gcube/extra-resources/META-INF/ | | gcube/extra-resources/META-INF/ | ||
| extra resources to add to the META-INF dir of the output jar/war. These resources are filtered | | extra resources to add to the META-INF dir of the output jar/war. These resources are filtered | ||
+ | |- | ||
+ | | CHANGELOG.md | ||
+ | | a curated, chronologically ordered list of notable changes for each version of a project | ||
|} | |} | ||
+ | |||
+ | = File Templates = | ||
+ | |||
+ | * [https://code-repo.d4science.org/gCubeCI/Templates/src/branch/master/gCubeComponents/CHANGELOG.md| CHANGELOG.md] |
Revision as of 05:36, 26 July 2020
Standard Project Layout
gCube projects for new software components are primarily developed with the Java language using Maven as build automation tool. The layout of a project mostly reflects the common conventions used for Maven with some variations.
- project folder/ |-pom.xml |-src/ |-main/ |-java/ |-webapp/ |-resources/ |-test/ |-java/ |-resources/ |-gcube/ |-extra-resources |-WEB-INF/ |-META-INF/ |-CHANGELOG.md |-LICENSE.md |-README.md |-FUNDING.md
Project Layout Explained
File or Directory | Role |
---|---|
pom.xml | an XML file that contains information about the project and configuration details used by Maven to build the project. |
src/main/java/ | application source code |
src/main/webapp/ | web application source code |
src/main/resources/ | resources packaged at root level in the output jar/war |
src/test/java/ | source code for tests |
src/test/resources/ | resources available on the test classpath |
gcube/extra-resources/WEB-INF/ | extra resources to add to the WEB-INF dir of the output jar/war. These resources are filtered |
gcube/extra-resources/META-INF/ | extra resources to add to the META-INF dir of the output jar/war. These resources are filtered |
CHANGELOG.md | a curated, chronologically ordered list of notable changes for each version of a project |