wiki:GeneralInformation/Developers

Version 21 (modified by pharms, 7 years ago) (diff)

--


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 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 here (code templates) and 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

Attachments (2)

Download all attachments as: .zip