Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin-Concept for binary #24

Open
woeps opened this issue Feb 23, 2020 · 0 comments
Open

Plugin-Concept for binary #24

woeps opened this issue Feb 23, 2020 · 0 comments
Labels
binary issues regarding the binary bin/refabricate.exe concept work on concept(s) - not possible to implement yet

Comments

@woeps
Copy link
Owner

woeps commented Feb 23, 2020

Refabricator will be published as a library for anyone to use and build on top of it. But...

It would be great to provide a prebuilt binary for the most common use-cases but still enable devs to extend functionallity where needed without the need to compile everything over again.

There are 2 projects I know about which could help:

The experience I'd currently like to look into is:

  • "extension points" / "hooks" in the binary where custom code could change the binary's behaviour
  • cli arg to specify a reason/ocaml file per "extension point" (note: not compiled!)

This way a dev would just implement a module for a given module type (depending on what he/she wants to customize) and pass the location of this file to the binary as a cli argument.


Questions

Which extension points would be most desirable?

Some ideas:

  • customFabricator: custom implementation of a fabricator to change how data is aggregated (not sure: add ths fabricator or replace others?)
  • beforeRefabricators: custom implementation of a refabricator which is run before all default refabricators
  • afterRefabricators: custom implementation of a refabricator which is run after all default refabricators
  • replaceRefabricators: custom implementation of a refabricator to change how data is modified
  • replaceFactory: custom implementation of a factory to change how generated data is stored

Are some missing? How shall they be prioritized?

Which functionality to support through cli args and when are extension points needed?

The binary should have some cli arguments to specify options in the default setup. How far can someone get with just using cli args? And where are extension points really needed?

@woeps woeps added binary issues regarding the binary bin/refabricate.exe enhancement New feature or request concept work on concept(s) - not possible to implement yet and removed enhancement New feature or request labels Feb 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binary issues regarding the binary bin/refabricate.exe concept work on concept(s) - not possible to implement yet
Projects
None yet
Development

No branches or pull requests

1 participant