etl
etl copied to clipboard
documentation on creating plugins
While the setup of linkedpipes was very smooth and documentation overal is quite good I feel the documentation for developers is a bit lacking.
There is currently no documentation on how to extend linkedpipes with extra plugins, or if there is I could not find it. Is this on your roadmap? Could you already provide a few pointers?
@nvdk Thanks for the comment, you are right about this. At the moment, all I can do is point you to the plugins directory where you can choose one similar to what you want to do and see how it is made, copy it and change as necessary.
In addition, if you would be willing, you could post all questions regarding plugin development in this issue where @skodapetr can answer them and we could compile a quick plugin tutorial based on that conversation.
For my use case I need a plugin to execute shell scripts, very similar to what was available in unifiedviews. We're trying to migrate our old unifiedviews 2.3 pipelines to linkedpipes. I don't immediately see something similar, but will give it a go starting from the https://github.com/linkedpipes/etl/tree/develop/plugins/x-deleteDirectory plugin
so a couple of questions so far:
- how do I build the supporting packages so they are available in my plugin? I tried doing a
mvn installin the api-executor-v1, vocabulary and test-environment directories but that didn't seem to solve my issue. Currently doing a mvn install of the entire project seems to work, but somewhat suboptimal :). => how can I easily build and test just the plugin? - Once build, can I easily load the build plugin in an existing linkedpipes setup?
@nvdk
- You can use maven install-plugins profile, it should be something like this:
mvn install -P install-pluginsthat is going to build only libraries needed for plugins and plugins - it is not just the libraries but it is the best we got right now. But as you need to run it only once, in order to build the libraries and store them into local maven cache, I hope it may be good enough. - you need to put it into the ${deploy}/jar directory where the other components are before starting the application. There is already a ${deploy}/core directory, but it is erased with every by the mvn. So I would recommend you to create another directory ${deploy}/${my-directory} and put the component there.