SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:labs:xp:2009a:updatesite [2009/03/27 15:06]
Daniel Speicher
teaching:labs:xp:2009a:updatesite [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== Cultivate Automatic Build ======
 +
 +===== Cruise Control =====
 +
 +We use CruiseControl 2.7.1 to execute automatic builds. The build instance of CruiseControl is located at //​tampomud.iai.uni-bonn.de//​. Two build jobs are configured for Cultivate:
 +  * cultivate
 +  * cultivate-release
 +
 +The job ''​cultivate''​ does our integration builds upon commited changesets. This job publishes the build result as //​cultivate.txt//​ for the traffic light. The other job, ''​cultivate-release''​ is used for release builds and publishes the generated update site. The working directory of CruiseControl is //​L:/​Work/​cc_build//,​ both jobs have a appropriate subdirectory (//​cvt_34//,​ //​cvt_34_release//​).
 +
 +Current stable configuration is stored [[.:​team_area:​CruiseControl Configuration - Stable|here]] and needs to be added to SVN, maybe have CruiseControl checkout his own configuration?​
 +
 +===== Pluginbuilder =====
 +
 +Cultivate uses  the [[http://​www.pluginbuilder.org/​|pluginbuilder]] Eclipse Plug-In to create automatic builds. The build files are contained in the [[https://​svn.iai.uni-bonn.de/​repos/​IAI_Software/​cultivate/​trunk/​CCCultivate/​|CCCultivate]] project. All files in the project have been automatically generated by pluginbuilder. The main configuration of the builds is done in the graphical editor of the //​pluginbuilder.config//​ file.  We have defined two releases there:
 +
 +  * **HEAD** is executed on each checkin as integration build. The traffic light is controlled by this build.
 +  * **release** is executed on checkin of //​release/​release.properties//,​ i.e. when changing the version number it will automatically build a new release and upload it to the update site.
 +
 +Since automatically created build scripts did not work out of the box we changed the following files, a working version of those can be found in Revision 862:
 +
 +  * //​build.xml//:​
 +    * The main-cc target was changed for integration in CruiseControl. It sets a correct version qualifier via the ${label} property and resets the result file for the traffic light.
 +    * The main-release target was added to build new releases. It uses the version property of //​release.properties//​.
 +
 +  * //​build_local.properties//: ​
 +    * This file contains paths to make the build on the cruisecontrol server working.
 +
 +  * //​testing.xml//:​
 +    * Not part of pluginbuilder,​ created by our own.
 +    * Currently (27.03.03) not working, will be used to run the automatic unit tests for the code.
 + 
 +  * //​build-files/​customTargets.xml//:​
 +    * Adapted to work with CruiseControl.
 +
 +  * //​build-files/​subversionSupport.xml//: ​
 +    * A manual call to the subversion command line client was added, since the builtin method did not work correctly. Svn username and password are read from the //​cruisecontrol.properties//​ file.
 +
 +  * //​lib/​junit-4.5.jar//:​
 +    * Added to make the unit tests working.
 +
 +After adding a new plug-in to a feature or adding a feature to pluginbuilder the build scripts have to be recreated by hitting the "​Generate Build Files" link in the //​pluginbuilder.properties//​ editor. **This will not overwrite the changes made by us to the build scripts.**
 +
 +===== Update Site =====
 +
 +==== What is an Update Site? ====
 +
 +All details of plug-ins, features and update sites are described in a detailed manner in the following location:
 +
 +http://​www.eclipse.org/​articles/​article.php?​file=Article-Update/​index.html
 +
 +==== Where is the current Update Site? ====
 +
 +[[http://​roots.iai.uni-bonn.de/​downloads/​cultivate-update/​]]
 +
 +Never mind, that you cannot see it with the browser. To check availability,​ you may try the [[http://​roots.iai.uni-bonn.de/​downloads/​cultivate-update/​site.xml|site.xml]].
 +
 +==== How do I use the Update Site? ====
 +
 +http://​help.eclipse.org/​help32/​index.jsp?​topic=/​org.eclipse.platform.doc.user/​tasks/​tasks-34.htm
 +
 +===== Features =====
 +
 +There are currently two features in cultivate, but only the first one is included in the automatic build:
 +
 +==== cultivate.feature ====
 +
 +This feature contains the core parts of cultivate with the appropiate user interfaces. It consists of the following plug-ins:
 +
 +    * cultivate.analysis
 +    * cultivate.core
 +    * cultivate.ui
 +
 +Requirements:​
 +    * [[https://​sewiki.iai.uni-bonn.de/​research/​jtransformer/​start|JTransformer]] ([[https://​sewiki.iai.uni-bonn.de/​research/​jtransformer/​installation|Installation Instructions]])
 +    * [[http://​www.eclipse.org/​ajdt/​|AspectJ]]
 +    * [[http://​www.eclipse.org/​gef/​|Eclipse GEF]]
 +
 +==== cultivate.refactor.feature ====
 +
 +This feature contains the refactor parts of cultivate, originated from a deploma thesis, including its dependencies. This feature currently is not tested amd needs more cleanups to run correctly.
 +
 +    * ca.ubc.cs.javadb
 +    * ca.uvic.csr.shrimp
 +    * ca.uvic.csr.shrimp.creole
 +    * ca.uvic.csr.shrimp.eclipsebridge
 +    * cultivate.refactor.adaptivity
 +    * cultivate.ui.refactor.adaptivity
 +
 +===== Project Root Black- and White+ list =====
 +
 +==== Blacklist ====
 +  * *.jude
 +  * build.xml
 +  * *compiler.args
 +
 +==== Whitelist ====
 +
 +=== Every Project ===
 +
 +  * .classpath
 +  * .project
 +
 +=== Plugin Projects ===
 +
 +  * plugin.xml
 +  * build.properties
 +  * architecture.pl (optional)
 +  * conventions.pl (optional)
 +  * javadoc.xml ​   (optional)
 + 
 +=== Test Projects ===
 +
 +  * fitnesse.xml ​  ​(optional)
 +  * generate-factbase-*.launch
 +
 +=== Feature Projects ===
 +
 +  * feature.xml
 +
 +
 +
 +
 +
 +
  
teaching/labs/xp/2009a/updatesite.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019