[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