[ros-users] [Discourse.ros.org] [Autoware] Splitting the Autoware.AI repository and changing the organisation
Geoffrey Biggs via Discourse.ros.org
ros.discourse at gmail.com
Tue Mar 12 04:28:35 UTC 2019
[quote="Dejan_Pangercic, post:33, topic:8139"]
**Note** : I do not really understand what benefit will splitting and re-organizing of Autoware.AI repo have. Since the plan is to transform it into a sandbox in 12-18 months from now, I really do not think that we spend our resources here very wisely.
[/quote]
It will aide with the transition between Autoware.AI and Autoware.Auto, although it is not essential for this.
[quote="Dejan_Pangercic, post:33, topic:8139"]
* core_localization
[/quote]
Part of perception, as I understand it.
[quote="Dejan_Pangercic, post:33, topic:8139"]
* core_decision_making
[/quote]
Part of planning.
[quote="Dejan_Pangercic, post:33, topic:8139"]
* examples/demos/tutorials
[/quote]
Yes, this is potentially necessary.
[quote="Dejan_Pangercic, post:33, topic:8139"]
* thirdparty
[/quote]
Depends on what is in there. I'd prefer not to be managing someone else's code if we can find a better way to use it.
[quote="Dejan_Pangercic, post:33, topic:8139"]
Do we really plan to write our own visualization code and not use e.g. rviz, xviz, rqt_plot, etc.? With that all that we would need to save are visualization config files.
[/quote]
Not to my knowledge, but I wouldn't be surprised to see, for example, custom renderers for custom data.
[quote="Dejan_Pangercic, post:33, topic:8139"]
I claim that it is actually even easier to design and define cleaner and minimal interfaces.
[/quote]
I don't think the repository organisation affects how minimal the interfaces are. I do think that if interfaces are in a separate repository it is mentally enforced that interface declaration is separate from implementation, but I wouldn't separate the repositories solely for this.
[quote="Dejan_Pangercic, post:33, topic:8139"]
you do not need a feature and code freeze when doing releases, these can both be one
[/quote]
I think this applies to any number of repositories. It's a function of the branching model.
[quote="Dejan_Pangercic, post:33, topic:8139"]
single entry point for developer, all work for developers is in one place
[/quote]
Achievable with an organisation, although I agree it is not as straight-forward.
[quote="Dejan_Pangercic, post:33, topic:8139"]
much easier to co-host documentation and code in one repo and actually make checks against changed code (e.g. changed executable names, APIs, )
[/quote]
If we split the repository, my goal is that each can be treated as an individual black-box unit with its own API and documentation.
[quote="Dejan_Pangercic, post:33, topic:8139"]
much better traceability from feature request, design document, code, tests, PR and CI.
[/quote]
Can you provide some examples? I believe it is possible to achieve traceability across multiple repositories as well, but I am concerned about the amount of manual work that may be involved. It's also possible that much of this may be a tooling problem (especially the CI).
[quote="Dejan_Pangercic, post:33, topic:8139"]
easier to extract activity report (commits, branch graph, analytics, )
[/quote]
I don't think this really changes if you have one or multiple repositories.
[quote="Dejan_Pangercic, post:33, topic:8139"]
easier user/organization management
[/quote]
Organisations fix this, too. Plus as @dirk-thomas said if you want to restrict permissions to just part of the code then it is easier with multiple repositories.
[quote="Dejan_Pangercic, post:33, topic:8139"]
if you split packages as proposed above you can modules independently and then re-use artifacts from previous builds => we are doing this
[/quote]
Yes, as I said above I want to get nightly binary building going eventually. I don't see this as an argument either way, but it is *easier* to do with split repositories if you can treat each repository as a single unit.
[quote="Dejan_Pangercic, post:33, topic:8139"]
amount of issues/PRS can be mitigated by someone like you @gbiggs
[/quote]
The rest of my life just became startlingly clear.
[quote="Dejan_Pangercic, post:33, topic:8139"]
as @davetcoleman mentioned this is a limitation of bloom
[/quote]
On the other hand, with 131 packages releasing all of them individually would suck so splitting repositories and then being able to several repositories is nice.
[quote="Dejan_Pangercic, post:33, topic:8139"]
We are more than happy to share what we developed for our internal mono repo in terms of layout and CI.
[/quote]
Please do so, it will contribute to the discussion and help us make a better-informed decision.
---
[Visit Topic](https://discourse.ros.org/t/splitting-the-autoware-ai-repository-and-changing-the-organisation/8139/34) or reply to this email to respond.
More information about the ros-users
mailing list