Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "LDT/Developer Area/Development"
(→Update sites organization) |
(→Bugzilla severity and priority) |
||
(37 intermediate revisions by 4 users not shown) | |||
Line 16: | Line 16: | ||
| [http://git.eclipse.org/c/koneki/org.eclipse.koneki.simulators.git/ org.eclipse.koneki.simulators.git] | | [http://git.eclipse.org/c/koneki/org.eclipse.koneki.simulators.git/ org.eclipse.koneki.simulators.git] | ||
| Contains different sub-projects providing the components enabling protocols (OMA-DM, ...) simulation in the tools | | Contains different sub-projects providing the components enabling protocols (OMA-DM, ...) simulation in the tools | ||
+ | |} | ||
+ | |||
+ | = Bugzilla severity and priority = | ||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | !Severity | ||
+ | !Definition | ||
+ | |- | ||
+ | |blocker | ||
+ | |A problem preventing a function from being used, no work around, blocking progress on multiple fronts | ||
+ | |- | ||
+ | |critical | ||
+ | |A problem preventing a function from being used, no work around | ||
+ | |- | ||
+ | |major | ||
+ | |A problem preventing a function from being used, but a work around is possible | ||
+ | |- | ||
+ | |normal | ||
+ | |Not used in Koneki (Default value in Bugzilla, so can mean a bug has not been sorted) | ||
+ | |- | ||
+ | |minor | ||
+ | |A problem not affecting the actual function, but the behavior is not natural | ||
+ | |- | ||
+ | |trivial | ||
+ | |A problem not affecting the actual function, a typo would be an example | ||
+ | |- | ||
+ | |enhancement | ||
+ | |A new feature or improvement of an existing one | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" | ||
+ | !Priority | ||
+ | !Definition | ||
+ | |- | ||
+ | |P1 | ||
+ | |Must be fixed within the current milestone. | ||
+ | |- | ||
+ | |P2 | ||
+ | |Must be fixed before the release. | ||
+ | |- | ||
+ | |P3 | ||
+ | |Would be fixed before release, if possible. | ||
+ | |- | ||
+ | |P4 | ||
+ | |Would be probably fixed someday. | ||
+ | |- | ||
+ | |P5 | ||
+ | |Not important to our long-term plans. | ||
+ | |- | ||
|} | |} | ||
Line 34: | Line 83: | ||
All the path in this section are relative to <tt>/home/data/httpd/download.eclipse.org/koneki</tt> on <tt>build.eclipse.org</tt> | All the path in this section are relative to <tt>/home/data/httpd/download.eclipse.org/koneki</tt> on <tt>build.eclipse.org</tt> | ||
− | === Maintenance version | + | === Maintenance version === |
*"Commit freeze" on all maintenance branches. | *"Commit freeze" on all maintenance branches. | ||
*Be sure the last version build corresponds to the last commit wanted. | *Be sure the last version build corresponds to the last commit wanted. | ||
*Test the last nightly-maintenance build. | *Test the last nightly-maintenance build. | ||
If tests are ok: | If tests are ok: | ||
− | *Copy all directories from <tt>nightly-maintenance/</tt> to <tt>releases/stables/${NUM.VERSION}</tt>. | + | *Copy all directories from <tt>updates-nightly-maintenance/</tt> to <tt>releases/stables/${NUM.VERSION}</tt>. |
− | *Check the files permissions. | + | ** <tt>mkdir releases/stable/${NUM.VERSION}/</tt> |
+ | ** <tt>cp -r updates-nightly-maintenance/* releases/stable/${NUM.VERSION}/</tt> | ||
+ | *Rename the repository name in <tt>compositeArtifacts.xml</tt> and <tt>compositeContent.xml</tt> in <tt>releases/stables/${NUM.VERSION}</tt> (increment timestamp too) | ||
+ | ** <tt>sed -i -e "s/(nightly-maintenance)/(${NUM.VERSION})/g" releases/stable/${NUM.VERSION}/compositeArtifacts.xml</tt> | ||
+ | ** <tt>sed -i -e "s/(nightly-maintenance)/(${NUM.VERSION})/g" releases/stable/${NUM.VERSION}/compositeContent.xml</tt> | ||
+ | ** (increment timestamp) | ||
+ | *Modify repo to enable statistic | ||
+ | *Add child <tt>${NUM.VERSION}</tt> in the repository name in <tt>compositeArtifacts.xml</tt> and <tt>compositeContent.xml</tt> in <tt>releases/stables/</tt> (increment timestamp too) | ||
+ | *Check the files permissions. (all repo should have directory with right drwxrwsr-x and artifacts.jar and content.jar in -rw-rw-r--) | ||
*Tag the last commit of the maintance branches. | *Tag the last commit of the maintance branches. | ||
+ | ** name ${NUM.VERSION}, description : Releases ${NUM.VERSION} version | ||
*Increment version to the next maintenance version then commit it. | *Increment version to the next maintenance version then commit it. | ||
+ | ** commit comment : Increment version (${OLD.VERSION} => ${NUM.VERSION}) | ||
+ | *Deliver new products. | ||
+ | ** archive current version : <tt>cp products/stable/* /home/data/httpd/archive.eclipse.org/koneki/products/stable/${CURRENT.NUM.VERSION}/</tt> | ||
+ | ** deliver new version : <tt>cp /shared/jobs/koneki-ldt-maintenance/lastSuccessful/archive/product/target/products/* products/stable</tt> | ||
− | === Milestones | + | === Milestones versions === |
*"Commit freeze" on all master branches. | *"Commit freeze" on all master branches. | ||
*Be sure the last version build corresponds to the last commit wanted. | *Be sure the last version build corresponds to the last commit wanted. | ||
*Test the last nightly build. | *Test the last nightly build. | ||
If tests are ok: | If tests are ok: | ||
− | * | + | *execute script releases: |
− | + | <tt>python erclt.py m -mv 0.9RC2</tt> | |
+ | |||
+ | which do : | ||
+ | Deliver repo. | ||
+ | Deliver new products. | ||
+ | |||
+ | If script execution is ok: | ||
+ | |||
*Tag the last commit of the master branches. | *Tag the last commit of the master branches. | ||
− | === | + | === Major versions === |
*Test the milestones version which is the releases candidate. | *Test the milestones version which is the releases candidate. | ||
− | If tests are ok : | + | If tests are ok : |
− | * | + | *execute script releases: |
− | + | <tt>python erclt.py s -mv 0.9RC2 -sv 0.9 </tt> | |
− | + | ||
− | + | which do : | |
− | + | Archive stable repo. | |
+ | Deliver stable repo. | ||
+ | Archive milestones repo. | ||
+ | Archive stable products. | ||
+ | Deliver stable products. | ||
+ | Archive milestones products. | ||
+ | |||
+ | If script execution is ok: | ||
*Tag the master branches. | *Tag the master branches. | ||
*Create maintenance branches. | *Create maintenance branches. | ||
Line 67: | Line 143: | ||
*Change hudson configuration of maintenance builds to build the new one. | *Change hudson configuration of maintenance builds to build the new one. | ||
− | === Simultaneous Release | + | === Simultaneous Release === |
− | * | + | * see http://wiki.eclipse.org/Simrel/Contributing_to_Simrel_Aggregation_Build |
− | + | === Simultaneous Release migration === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | === Simultaneous Release migration | + | |
*Update target platform (.target) | *Update target platform (.target) | ||
*Add the new plaform profile in root pom.xml | *Add the new plaform profile in root pom.xml | ||
*Change the default repo use to build in root pom.xml (<eclipse-site> property) | *Change the default repo use to build in root pom.xml (<eclipse-site> property) | ||
+ | |||
+ | === Increment version Process === | ||
+ | * Increment feature version (+ pom.xml) | ||
+ | * Increment product feature version (+ pom.xml) | ||
+ | * Increment product version and its dependencies version | ||
+ | * Increment feature version includes in category.xml | ||
+ | * Increment documentation version (org.eclipse.koneki.ldt.doc.user/build-help.xml and org/eclipse/koneki/ldt/debug/ui/DocumentationLinksConstants.java) | ||
+ | * deploy User guide (wiki) | ||
+ | * Update Koneki website links to the wiki user guide. | ||
+ | |||
+ | |||
+ | === Enable Statistic === | ||
+ | Done automatically now by the release script. | ||
+ | * Move in repo | ||
+ | ** <tt> cd releases/stable/${NUM.VERSION}/${repo} </tt> | ||
+ | * Unzip artifacts.jar | ||
+ | ** <tt>unzip artifacts.jar</tt> | ||
+ | * Modify artifacts.xml (add p2.statsURI and download.stats property) | ||
+ | <pre> | ||
+ | <properties size="3"> | ||
+ | <property name="p2.timestamp" value="1339531652273"/> | ||
+ | <property name="p2.compressed" value="true"/> | ||
+ | <property name="p2.statsURI" value="http://download.eclipse.org/stats/koneki"/> | ||
+ | |||
+ | .... | ||
+ | |||
+ | <artifact classifier="org.eclipse.update.feature" id="org.eclipse.koneki.ldt" version="0.8.0.201206122001"> | ||
+ | <properties size="6"> | ||
+ | <property name="artifact.size" value="20464"/> | ||
+ | <property name="download.size" value="20464"/> | ||
+ | <property name="maven-groupId" value="org.eclipse.koneki.ldt-features"/> | ||
+ | <property name="maven-artifactId" value="org.eclipse.koneki.ldt"/> | ||
+ | <property name="maven-version" value="0.8.0-SNAPSHOT"/> | ||
+ | <property name="download.contentType" value="application/zip"/> | ||
+ | <property name='download.stats' value='org.eclipse.koneki.ldt_0.8.0.201206122001'/> | ||
+ | </properties> | ||
+ | </pre> | ||
+ | * Zip it | ||
+ | ** <tt>zip artifacts.jar artifacts.xml</tt> | ||
+ | * remove artifacts.xml | ||
+ | ** <tt>rm artifacts.xml</tt> | ||
+ | |||
+ | (see : http://wiki.eclipse.org/Equinox_p2_download_stats) |
Revision as of 12:06, 30 January 2013
Contents
Git repositories
Koneki source code is available on the Git repositories of the Eclipse Foundation. There are several repositories:
org.eclipse.koneki.commons.git | Contains plug-ins that aim at being re-used by other Koneki projects (generic UI components, helpers, ...) |
org.eclipse.koneki.ldt.git | Contains the Lua Development Tools source code |
org.eclipse.koneki.protocols.git | Contains different sub-projects providing the core components enabling protocols (OMA-DM, ...) manipulation in the tools |
org.eclipse.koneki.simulators.git | Contains different sub-projects providing the components enabling protocols (OMA-DM, ...) simulation in the tools |
Bugzilla severity and priority
Severity | Definition |
---|---|
blocker | A problem preventing a function from being used, no work around, blocking progress on multiple fronts |
critical | A problem preventing a function from being used, no work around |
major | A problem preventing a function from being used, but a work around is possible |
normal | Not used in Koneki (Default value in Bugzilla, so can mean a bug has not been sorted) |
minor | A problem not affecting the actual function, but the behavior is not natural |
trivial | A problem not affecting the actual function, a typo would be an example |
enhancement | A new feature or improvement of an existing one |
Priority | Definition |
---|---|
P1 | Must be fixed within the current milestone. |
P2 | Must be fixed before the release. |
P3 | Would be fixed before release, if possible. |
P4 | Would be probably fixed someday. |
P5 | Not important to our long-term plans. |
Update sites organization
The active Hudson jobs perform the continuous integration of Koneki projects and deploy signed p2 repos to the nightly update sites.
There are 2 kind of nightly updates sites (repositories) :
- nightly: /home/data/httpd/download.eclipse.org/koneki/updates-nightly, which is a composite repo of the last successful builds of the 'master' branch of each Koneki projects.
- nightly-maintenance: /home/data/httpd/download.eclipse.org/koneki/updates-nightly-maintenance, which is the same one but for the active maintenance branch.
All the last releases are stored in /home/data/httpd/download.eclipse.org/koneki/releases repository which is composed of :
- stable: /home/data/httpd/download.eclipse.org/koneki/releases/stable which contains all the last stable releases.
- milestones: /home/data/httpd/download.eclipse.org/koneki/releases/milestones which contains all the last milestones.
All the old releases can be found in /home/data/httpd/archive.eclipse.org/koneki/releases. (with the same structure)
Delivery Process
All the path in this section are relative to /home/data/httpd/download.eclipse.org/koneki on build.eclipse.org
Maintenance version
- "Commit freeze" on all maintenance branches.
- Be sure the last version build corresponds to the last commit wanted.
- Test the last nightly-maintenance build.
If tests are ok:
- Copy all directories from updates-nightly-maintenance/ to releases/stables/${NUM.VERSION}.
- mkdir releases/stable/${NUM.VERSION}/
- cp -r updates-nightly-maintenance/* releases/stable/${NUM.VERSION}/
- Rename the repository name in compositeArtifacts.xml and compositeContent.xml in releases/stables/${NUM.VERSION} (increment timestamp too)
- sed -i -e "s/(nightly-maintenance)/(${NUM.VERSION})/g" releases/stable/${NUM.VERSION}/compositeArtifacts.xml
- sed -i -e "s/(nightly-maintenance)/(${NUM.VERSION})/g" releases/stable/${NUM.VERSION}/compositeContent.xml
- (increment timestamp)
- Modify repo to enable statistic
- Add child ${NUM.VERSION} in the repository name in compositeArtifacts.xml and compositeContent.xml in releases/stables/ (increment timestamp too)
- Check the files permissions. (all repo should have directory with right drwxrwsr-x and artifacts.jar and content.jar in -rw-rw-r--)
- Tag the last commit of the maintance branches.
- name ${NUM.VERSION}, description : Releases ${NUM.VERSION} version
- Increment version to the next maintenance version then commit it.
- commit comment : Increment version (${OLD.VERSION} => ${NUM.VERSION})
- Deliver new products.
- archive current version : cp products/stable/* /home/data/httpd/archive.eclipse.org/koneki/products/stable/${CURRENT.NUM.VERSION}/
- deliver new version : cp /shared/jobs/koneki-ldt-maintenance/lastSuccessful/archive/product/target/products/* products/stable
Milestones versions
- "Commit freeze" on all master branches.
- Be sure the last version build corresponds to the last commit wanted.
- Test the last nightly build.
If tests are ok:
- execute script releases:
python erclt.py m -mv 0.9RC2
which do :
Deliver repo. Deliver new products.
If script execution is ok:
- Tag the last commit of the master branches.
Major versions
- Test the milestones version which is the releases candidate.
If tests are ok :
- execute script releases:
python erclt.py s -mv 0.9RC2 -sv 0.9
which do :
Archive stable repo. Deliver stable repo. Archive milestones repo. Archive stable products. Deliver stable products. Archive milestones products.
If script execution is ok:
- Tag the master branches.
- Create maintenance branches.
- Increment version on master branches then commit it.
- Increment version to the next maintenance version then commit it.
- Change hudson configuration of maintenance builds to build the new one.
Simultaneous Release
Simultaneous Release migration
- Update target platform (.target)
- Add the new plaform profile in root pom.xml
- Change the default repo use to build in root pom.xml (<eclipse-site> property)
Increment version Process
- Increment feature version (+ pom.xml)
- Increment product feature version (+ pom.xml)
- Increment product version and its dependencies version
- Increment feature version includes in category.xml
- Increment documentation version (org.eclipse.koneki.ldt.doc.user/build-help.xml and org/eclipse/koneki/ldt/debug/ui/DocumentationLinksConstants.java)
- deploy User guide (wiki)
- Update Koneki website links to the wiki user guide.
Enable Statistic
Done automatically now by the release script.
- Move in repo
- cd releases/stable/${NUM.VERSION}/${repo}
- Unzip artifacts.jar
- unzip artifacts.jar
- Modify artifacts.xml (add p2.statsURI and download.stats property)
<properties size="3"> <property name="p2.timestamp" value="1339531652273"/> <property name="p2.compressed" value="true"/> <property name="p2.statsURI" value="http://download.eclipse.org/stats/koneki"/> .... <artifact classifier="org.eclipse.update.feature" id="org.eclipse.koneki.ldt" version="0.8.0.201206122001"> <properties size="6"> <property name="artifact.size" value="20464"/> <property name="download.size" value="20464"/> <property name="maven-groupId" value="org.eclipse.koneki.ldt-features"/> <property name="maven-artifactId" value="org.eclipse.koneki.ldt"/> <property name="maven-version" value="0.8.0-SNAPSHOT"/> <property name="download.contentType" value="application/zip"/> <property name='download.stats' value='org.eclipse.koneki.ldt_0.8.0.201206122001'/> </properties>
- Zip it
- zip artifacts.jar artifacts.xml
- remove artifacts.xml
- rm artifacts.xml