Skip to content

generator of dependencies #101

@hparfr

Description

@hparfr

Hi,

At Akretion, for managing dependencies we use git-aggregator + ak.

ak wraps git aggregator and offer a easier interface for users (len(ak) < len(git-aggregator) ), shorter syntax.
It's adding tree more advantages:

  • it have a modules keys
  • it create symbolic links to have a simple addons_path
  • it does git sparse-checkout (with the module list) to reduce the size of the docker image, and the load of the IDE for LSP, fuzzy-search... and reduce human errors (edit a copy ot the file)

For the moment, I'm able to generate a "spec.yaml" with its requirements.txt. Only with stable / published modules.
It works also with migrations. For instance on a 16.0 project, I can generate the result of the migration path in 18.0 (only the merged modules).

In the future, I plan to be able to scan a spec.yaml of a project, forks and PR included and be able to generate it back.

When I experimented with pip (we use it rarely) I discovered when you start to use forks and pr the manual list can be very boring to build and maintain.

Few years ago you were using git-aggregator with git submodules at C2C. Is it still a thing ?

So I have this basic module yet tied on ak. I can let it leave in my "specific" projet. Or does it make sense to publish it here.
And about the design, I can make it more reusable to add other outputs like pip or vanilla git-aggregator if you intend to use it.
@sebalix

For instance, I asked the spec of account_invoice_facturx.
I get the dependencies, account_payment_method_base, *_unece, and mandatory modules of all akretion projects: auth_oidc_akretion_data, database_age_cron, and its dependencies (auth_oidc_environment...)

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions