Skip to content

Move to DAVx⁵ as gradle submodule #385

@rfc2822

Description

@rfc2822

Idea: we could move synctools to a gradle subproject in the davx5-ose repo to simplify working.

The current workflow of having 2 PRs per change (one for synctools, one for DAVx⁵) is annoying.

Reasons for having synctools in a separate repo were:

  • modularity → can be achieved with gradle subproject
  • independent tests because they run long and on different API levels etc → we could keep two workflows (test core/app, test synctools) and run the "test synctools" workflow only when files in the respective directories are changed.
  • reusability in ICSx⁵
  • reusability in other projects: I'm not aware of any other FOSS projects using synctools, and it's probably not really possible because it's changing that fast (and people can still use the code when it's in davx5)

What would change if we merge it:

  • much easier working because we don't need two PRs for each synctools change
  • one "includeBuild" hack less (I just had the problem that AboutLibraries 14.1.0+ makes it impossible to use includeBuild)
  • much easier AI access (it could just work in the repo, multi-repo work is more complicated for AI too)
  • DAVx5 issues are often synctools issues. Currently we have to duplicate the issues and handle them in both repos. Having all issues in davx5-ose would be much easier, however probably requires better issue tracking (for instance a tag for synctools issues).
  • probably another workflow for testing in davx5-ose with more complicated rules than now (should only run when synctools files or dependencies are affected)

Open questions:

Steps:

  • merge/close outstanding synctools pull requests
  • move synctools code (including git history) to davx5-ose
  • make sure synctools workflows are only run when the synctools module is updated
  • move open synctools issues to davx5-ose
  • update readme in synctools repo pointing users to davx5-ose
  • archive synctools repository

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactoringQuality improvement of existing functions

    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