[[TracNav(TOC|nocollapse)]] {{{ #!div style="float:right" class="" [[OhlohWidget(604098, project_basic_stats)]] [[br]] [[OhlohWidget(604098, project_languages)]] }}} = Developers = == Source Code Management == The source code of AutoQUEST is hosted in a SVN repository. The repository allows anonymous reads. In order to commit something to the repository, you need to authenticate. To get an account, contact [http://www.swe.informatik.uni-goettingen.de/staff/steffen-herbold Steffen Herbold]. The repository URL is: https://autoquest.informatik.uni-goettingen.de/svn/autoquest/ The coding conventions used in AutoQUEST are provided as Eclipse settings. The can be downloaded [/attachment/wiki/GeneralInformation/Developers/sweugoe-codetemplates.xml here (code templates)] and [/attachment/wiki/GeneralInformation/Developers/sweugoe-codeformatter.xml here (formatting settings)]. == Build Systems == * The Java components of AutoQUEST use Maven as build and dependency management system. We host a Maven repository that contains the current versions and SNAPSHOTs of AutoQUEST ([https://trex.informatik.uni-goettingen.de/nexus/]). * We develop the Java components with Eclipse and the M2E plug-in. To simplify things for other Eclipse users, we provide Eclipse project configurations in the SVN. This way, a simple SVN checkout is all you need, in order to work with our components and Eclipse. * Make sure that your workspace interprets text files as UTF-8. Otherwise you will get encoding problems. * For the first build after checkout from the repository, right-click on the project autoquest-distribution and select Run as | Maven install * To execute AutoQUEST in Eclipse, right-click on the class de.ugoe.cs.autoquest.ui.Runner in the Project autoquest-runner and select Run as|Java application. This will fail. Afterwards, you can go in the main menu an Run|Run configurations... Here, you will find your previously failed execution of the Runner as a run configuration for a Java application. Click on "Arguments" and configure the working directory as the directory ${workspace_loc:autoquest-distribution/target/autoquest-distribution-0.1.2-SNAPSHOT-bin.dir/autoquest-distribution-0.1.2-SNAPSHOT} (note that the distribution number might be outdated in case we forget to update this page) * The C/C++ components of AutoQUEST written for Windows application. We use Microsoft Visual Studio 2008 to develop and maintain them and provide the required project configurations with the respective projects. * For the continuous integration of the AutoQUEST components, we use a Hudson server ([https://trex.informatik.uni-goettingen.de/hudson/view/AutoQUEST/]). == Release a New AutoQUEST Version == * Check out the trunk from the SVN to the arbitrary location * Pre-condition is that all changes to be included in the release were comitted to the SVN and that all test cases run through successfully * Change into the directory * Change into the subdirectory {{{autoquest-release}}} * This is a dedicated component referencing all other AutoQUEST components and that is used for performing only releases * Call {{{mvn release:prepare}}} * Enter release version number, e.g., {{{0.2.0}}} * Enter SVN release tag name, e.g., {{{autoquest-release-0.2.0}}}, which is also the default for the above release version * Enter the new snapshot version, e.g., {{{0.2.1-SNAPSHOT}}}, which is also the default for the above release version * Cross the fingers and hope everything works fine * This creates a tag in the SVN. * This step fails, if not all test cases run through. So this must be checked and ensured beforehand. * This step can be reverted by calling {{{mvn release:rollback}}} * Call {{{mvn release:perform}}} * This uploads the artefacts to the Nexus. * Uploading can only be done, if you have credentials in the Nexus and these credentials are registered in the local Maven settings.xml. * If something fails, you may have to * delete the artefacts from the Nexus * delete the tag from the SVN * The command can be reverted but only with high effort like deleting a tag from the SVN etc. * Afterwards, you should check if the released distribution component * Was uploaded to the Maven repository * Can be extracted * Can be started after extraction using the {{{bin/run.sh}}} command