Proposal for an update to the autoproj configuration structure

Proposal for an update to the autoproj configuration structure

On 09/22/2012 09:10 AM, Sylvain Joyeux wrote:
> Please comment on the MLs
>
> http://rock.opendfki.de/wiki/WikiStart/OngoingWork/AutoprojConfigStructure
>
> Sylvain
autoproj/remotes:
The remote package sets should not be touched by normal users therefore
I would not show them in the autoproj folder. Another reason against
them is that if you are changing into the remotes folder you are also
silently changing the current repository.
A possible solution would be for me to change remotes into .remotes to
have a convenient way to access them for the maintainer of the remote
package sets but to hide them for new uses who can get easily confused.

File structure:
Why do you stick to the YAML format? The error handling is just a pain
in the ass especially after they changed from syck to psych. For me YAML
is fine for everything which is generated by autoproj like the proposed
options.yml but I would rather go for a nice DSL than plain YAML
configuration files as in both cases I have to look up the keywords
anyway but the first one gives you the ability to generate nice error
messages. Furthermore you could put everything into the proposed
config.rb. But I guess this is just a matter of taste.

Possible example for the proposed config.rb

#package set section
source :type => "gitorious", :url => "rock-toolchain/package_set"
source :type => "spacegit", :url => "csurvey/package_set"
imoby = source :type => "git", :name => "imoby", :url =>
"git://gitorious.com/rock.drivers/autoproj.git", :branch => "next"

#just add a private package
source :type => "git", name => "my_widget" :url => "git://.../widget.git"

#layout section
install "rock-toolchain/package_set", "csurvey/package_set" => "sub folder"
install imoby
install "my_widget"
install source(:type => "git", name => "my_widget2" :url =>
"git://.../widget2.git")

exclude "gui", "ocl"
move imoby => "sub folder"

init do
end
autobuild do
end
before_build do
end

Alex

Proposal for an update to the autoproj configuration structure

Hey Alex

Could you put your alternate proposal on the wiki page ?

Sylvain

On 09/22/2012 01:34 PM, Alexander Duda wrote:
> On 09/22/2012 09:10 AM, Sylvain Joyeux wrote:
>> Please comment on the MLs
>>
>> http://rock.opendfki.de/wiki/WikiStart/OngoingWork/AutoprojConfigStructure
>>
>> Sylvain
> autoproj/remotes:
> The remote package sets should not be touched by normal users therefore
> I would not show them in the autoproj folder. Another reason against
> them is that if you are changing into the remotes folder you are also
> silently changing the current repository.
> A possible solution would be for me to change remotes into .remotes to
> have a convenient way to access them for the maintainer of the remote
> package sets but to hide them for new uses who can get easily confused.
>
> File structure:
> Why do you stick to the YAML format? The error handling is just a pain
> in the ass especially after they changed from syck to psych. For me YAML
> is fine for everything which is generated by autoproj like the proposed
> options.yml but I would rather go for a nice DSL than plain YAML
> configuration files as in both cases I have to look up the keywords
> anyway but the first one gives you the ability to generate nice error
> messages. Furthermore you could put everything into the proposed
> config.rb. But I guess this is just a matter of taste.
>
> Possible example for the proposed config.rb
>
> #package set section
> source :type => "gitorious", :url => "rock-toolchain/package_set"
> source :type => "spacegit", :url => "csurvey/package_set"
> imoby = source :type => "git", :name => "imoby", :url =>
> "git://gitorious.com/rock.drivers/autoproj.git", :branch => "next"
>
> #just add a private package
> source :type => "git", name => "my_widget" :url => "git://.../widget.git"
>
> #layout section
> install "rock-toolchain/package_set", "csurvey/package_set" => "sub folder"
> install imoby
> install "my_widget"
> install source(:type => "git", name => "my_widget2" :url =>
> "git://.../widget2.git")
>
> exclude "gui", "ocl"
> move imoby => "sub folder"
>
> init do
> end
> autobuild do
> end
> before_build do
> end
>
> Alex
>
>
>

Proposal for an update to the autoproj configuration structure

Proposal for an update to the autoproj configuration structure

On 09/22/2012 01:34 PM, Alexander Duda wrote:
> autoproj/remotes:
> The remote package sets should not be touched by normal users therefore
> I would not show them in the autoproj folder.
That would IMO make it even more confusing as part of the configuration
would be hidden
> Another reason against
> them is that if you are changing into the remotes folder you are also
> silently changing the current repository.
Not exactly right: you are changing the current repository when you are
changing into a specific remote, because they are currently symlinks.
Which is something I am trying to fix with the proposed changes.
> A possible solution would be for me to change remotes into .remotes to
> have a convenient way to access them for the maintainer of the remote
> package sets but to hide them for new uses who can get easily confused.
The point of the change is to not hide the remotes, but make the remotes
more straightforward to understand: they are listed in the main
configuration and look like the main configuration (no fundamental
difference anymore). The name is straightforward (it is listed in the
config file). I am a bit against hiding them as I found, along the way,
that hiding big parts of your configuration leads to even more confusion.
>
> File structure:
> Why do you stick to the YAML format? The error handling is just a pain
> in the ass especially after they changed from syck to psych. For me YAML
> is fine for everything which is generated by autoproj like the proposed
> options.yml but I would rather go for a nice DSL than plain YAML
> configuration files as in both cases I have to look up the keywords
> anyway but the first one gives you the ability to generate nice error
> messages. Furthermore you could put everything into the proposed
> config.rb. But I guess this is just a matter of taste.
The rationale was that new users only have to edit YAML files, which
some people find easier than Ruby code (especially since YAML is also
the config-file-format-of-choice for ROS tools). However, I find your
proposition interesting in general ... I'd like to have some more
feedback from "new users" (we need to ping Leif :P)