fnproject / cli

CLI tool for fnproject.
https://fnproject.io
Apache License 2.0
132 stars 67 forks source link

Pluggable Language Helper Support #51

Open ollerhll opened 7 years ago

ollerhll commented 7 years ago

The Problem

Currently LanguageHelpers are part of the CLI source code. This means that support for a given language must be hardcoded in, forcing users to re-download the CLI every time a new language is added, and also not allowing people to provide support for their own language of choice.

Proposed solution

Implement the language helpers as a docker image-based plugin, downloaded/run upon calling fn init or fn build. This has a number of benefits:

Details

Currently the plan is as follows:

Progress

I have begun work on this already, and am approaching a presentable proof of concept in the form of a docker plugin for the java LangHelper; discussion and feedback is greatly welcomed.

tl;dr

To provide an easy, flexible, and pluggable way for developers and users to add support for a given language, without updating the CLI source code.

zootalures commented 6 years ago

related to https://github.com/fnproject/fn/issues/135

hibooboo2 commented 6 years ago

@rdallman @zootalures This affects what I am doing on the severless integration and I would like to reopen this convo so that we can figure it out. Since duplicating and maintaining what the language helpers do in the cli to the serverless integration would be a hassle and not maintainable.

hibooboo2 commented 6 years ago

👊 Bump

zootalures commented 6 years ago

@hibooboo2 This work/branch is currently on hold - what are you proposing exactly? Not exactly clear how the serverless integration dictates things here?

hibooboo2 commented 6 years ago

Was hoping to separate language helpers from the cli so that they could be used by serverless. After our convo, seems better to leave as is and just dup for now. So will go that route.