Skip to content

import components from RoboTutor_2020 without copying them #2

@JackMostow

Description

@JackMostow

RoboSuiteLauncher includes components for logging and configuration originally copied from RoboTutor_2019 or _2020, which is bad because updates to one don't affect the other, and what ought to be a 1-line change (make RoboSuiteLauncher launch RTFaceLogin instead of RoboTutor) changes 83 files and is therefore unnecessarily very hard to review.

Options;

  1. Status quo
    -: sucks

  2. Export those components from RoboTutor_2020 in a form that RoboSuiteLauncher can import from the RoboTutor_2020 repo without copying them, in the same way that it imports ScreenRecordHelper from the ScreenRecordHelper repo.
    +: minimal change to RoboTutor_2020
    +: reduce the change to RoboSuiteLauncher to ~1 line of ~1 file instead of 83 files.
    -: presence of app component will cause name conflict
    ??: is selective export of a repo's components (in particular minus the "app" component) possible in Android Java, or is export a package all-or-none deal?

  3. Clone RoboTutor_2020 to the same machine being used to develop RoboSuiteLauncher so it can call those components. <-- PROBABLY DO THIS, SO PLEASE COMMENT
    +: zero change to RoboTutor_2020
    +: reduces RoboSuiteLauncher to ~1 line instead of 83 files
    -: requires RoboSuiteLauncher developer to clone RoboTutor_2020 as well

  4. Move shared components to a separate repo that exports them wherever needed (and has no name conflicts e.g. "app")
    +: share components
    +: doesn't rely on cloning another repo
    -: requires moving lots of code to a separate repo
    -: may have to edit component when editing RoboTutor_2020, requiring edits to >1 repo

  5. Consider putting future new components in a separate repo
    +: reasons for 3
    +: new code doesn't require moving

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions