wiki:GeneralInformation/Developers


Developers

Source Code Management

The source code of AutoQUEST is hosted in an SVN repository. The repository allows anonymous reads. In order to commit something to the repository, you need to authenticate. To get an account, contact Patrick Harms. The repository URL is: https://autoquest.informatik.uni-goettingen.de/svn/autoquest/

The coding conventions used in AutoQUEST are provided as Eclipse settings. They 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 Jenkins server (https://jenkins.informatik.uni-goettingen.de/).

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
Last modified 6 years ago Last modified on 11/28/17 14:47:48

Attachments (2)

Download all attachments as: .zip