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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions