Difference between revisions of "Changelog Generation procedure"
(→Introduction) |
(→Procedure) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 18: | Line 18: | ||
</ReleaseNotes> | </ReleaseNotes> | ||
</pre> | </pre> | ||
− | |||
− | + | In order to correctly generate automatically the changelog, the value of ''component'' tag must match exactly the name of the ETICS Configuration. | |
− | + | ||
− | In order to | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Procedure == | == Procedure == | ||
Line 32: | Line 25: | ||
# create a changelog.xml file in its component's project (or update the existing one); | # create a changelog.xml file in its component's project (or update the existing one); | ||
## Add a "Changeset" element on their changelog.xml file, by indicating as attribute "component" the Etics module name of the component they are releasing ( e.g .org.gcube.search.search-library.1-5-0) and the release date; | ## Add a "Changeset" element on their changelog.xml file, by indicating as attribute "component" the Etics module name of the component they are releasing ( e.g .org.gcube.search.search-library.1-5-0) and the release date; | ||
− | ## Add as many "Change" child elements as the change/fixes/enhancements they have applied | + | ## Add as many "Change" child elements as the change/fixes/enhancements they have applied |
− | + | ||
− | + | ||
<br/> | <br/> | ||
Once the release has been closed, the [[Role Release Manager|Release Manager]] performs the following steps: | Once the release has been closed, the [[Role Release Manager|Release Manager]] performs the following steps: | ||
− | # runs a dedicated script that scans all | + | # runs a dedicated script that scans all packages extracting all changelog.xml files, merging all of them in a uinque xml document; |
− | # | + | # properly formats the changelog and copy it in this wiki in the [[Software_Integration_and_Distribution:_Release_Log|Release Log]] section |
Latest revision as of 15:48, 13 October 2015
Introduction
This procedure aims to create and publish a changelog list of all changes, fixes and new features in each gCube release. The list is compiled using a bottom-up approach: a) each developer compiles a list of changes in his/her component, the component’s change log, b) release managers merge all changelogs in the global changelog of the entire release.
Each component is request to include in its servicearchive a file called changelog.xml that describes all changes in the released version of the component following the schema given by File:Changelog.xsd
An example of changelog.xml file is:
<ReleaseNotes> <Changeset component="org.gcube.messaging.consumer.1-2-0" date="2010-07-16"> <Change>Extended the Monitoring Generic Resource with the possibility to specify site managers for each site domain</Change> <Change>Notification are now filtered over domain</Change> <Change>Added daily notification summary</Change> </Changeset> <Changeset component="org.gcube.messaging.consumer-library.1-1-2" date="2010-07-16"> <Change>Added queries for NodeAccounting portlet</Change> </Changeset> </ReleaseNotes>
In order to correctly generate automatically the changelog, the value of component tag must match exactly the name of the ETICS Configuration.
Procedure
Following steps are executed by Developers when releasing a component:
- create a changelog.xml file in its component's project (or update the existing one);
- Add a "Changeset" element on their changelog.xml file, by indicating as attribute "component" the Etics module name of the component they are releasing ( e.g .org.gcube.search.search-library.1-5-0) and the release date;
- Add as many "Change" child elements as the change/fixes/enhancements they have applied
Once the release has been closed, the Release Manager performs the following steps:
- runs a dedicated script that scans all packages extracting all changelog.xml files, merging all of them in a uinque xml document;
- properly formats the changelog and copy it in this wiki in the Release Log section