wiki:WikiStart/Toolchain/CreateNewProject

You've decided to start using Rock (or so we hope ;-))

This page covers the aspect of creating your own project so that sharing a common build configuration and packages with the other members of your team is as painless as possible.

Create your own shared build configuration

People usually start with one of the standard Rock build configurations. That's a good starting point to create a shared project configuration. Here are the steps to move from the former to the latter:

  • pick a git hosting method. It can be anything that git supports. gitorious has been chosen for Rock as it is possible to host private gitorious servers (if you don't want to share your software). For the purpose of this page, we will assume that you created an "example" project on gitorious to host your repositories.
  • create two new repositories. The first one will host the main autoproj configuration (usually named buildconf.git) and the other a project-specific package set (usually called package_set.git). On the gitorious example project, the corresponding URLs would be git://gitorious.org/example/buildconf.git and git://gitorious.org/example/package_set.git.
  • push your current autoproj configuration to buildconf.git:
    cd autoproj
    git push git@gitorious.org:example/buildconf.git HEAD:master
    
  • switch to the new buildconf. THIS WILL REMOVE ANY UNCOMMITTED CHANGE
    cd ..
    autoproj switch-config git@gitorious.org:example/buildconf.git
    
  • create an empty package set
    cd /tmp
    mkdir package_set
    $EDITOR source.yml # see later
    git init
    touch libs.autobuild
    touch orogen.autobuild
    touch deps.osdeps
    git add .
    git commit -m "Initial commit"
    git push git@gitorious.org:example/package_set.git HEAD:master
    
  • the only required line in source.yml is the package set name. Try to be specific. If you plan to have only one package set (a good choice, usually), just name it the same than your project:
    name: example
    
  • edit autoproj/manifest and add your new package set to it:
    package_set:
      - gitorious: rock/package_set
      - gitorious: rock-toolchain/package_set
      - gitorious: example/package_set
    
    If you are not using gitorious, you will need a full VCS description (cannot use the gitorious: shortcut). See the autoproj documentation for more information on the importers.
  • do autoproj update-config to check that everything's OK

Populate the configuration

Have a look at the autoproj documentation for a description on how to add new packages, define version control information. You can also have a look at the rock package set's for examples.

Last modified 8 years ago Last modified on 02/17/12 08:10:01