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

[WIP] Experiment with Go dep and Go files in locations that match imports #2662

Closed
wants to merge 2 commits into from

Conversation

aeijdenberg
Copy link
Contributor

See issue #2128 for information on how this commit was generated (script here: https://gist.github.com/aeijdenberg/2d8f6f473e567b834bede97bc557771f)

@cfdreddbot
Copy link

Hey aeijdenberg!

Thanks for submitting this pull request! I'm here to inform the recipients of the pull request that you and the commit authors have already signed the CLA.

@codecov
Copy link

codecov bot commented Jul 11, 2018

Codecov Report

Merging #2662 into v2-master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           v2-master    #2662   +/-   ##
==========================================
  Coverage      70.55%   70.55%           
==========================================
  Files            600      600           
  Lines          25583    25583           
  Branches        5786     5786           
==========================================
  Hits           18049    18049           
  Misses          7534     7534

@aeijdenberg
Copy link
Contributor Author

@nwmac - is this an approach that the Stratos team will consider adopting? (or are there other approaches that I can contribute to?)

As it stands, I'm finding it very difficult to make Go contributions due to the non-standard build layout (as code editors don't understand it), so it would be great to get it into a more maintainable state.

I've re-run the script in the gist to redo on latest v2-master and have re-pushed that to the branch reference by this PR.

@nwmac
Copy link
Contributor

nwmac commented Jul 31, 2018

@aeijdenberg Yes we are interested in this - I've not had a chance to take a look due to finishing up v2 testing. I have also been thinking about this - I was interested in whether go modules in 1.11 could also help here.

@irfanhabib
Copy link
Contributor

@aeijdenberg The rationale for the current layout of the backend code, is to allow developers to contribute functionality (via backend go plugins) without having to fork the entire project or make changes to app-core.
Those plugins can then be separately maintained by the developers and at runtime time you can specify which plugins you want to load.

We recognise that this does make development a bit harder than it needs to be, since editors can't build and debug the code (since functionality is imported via plugins rather than packages). We're discussing how we can improve current model so that its easier to develop and debug backend extensions. We are actively looking at Go Modules as a possible solution.

@aeijdenberg
Copy link
Contributor Author

Thanks @irfanhabib - are there any docs or GitHub issues where we can learn more about the proposed changes?

And in practice - are there many plugins being developed separately?

@irfanhabib
Copy link
Contributor

@aeijdenberg I've created the issue to track this #2815.

Yes, I am aware of one used by the Orange team in France. I believe it auto-registered several Cloud Foundry instances on startup.

@nwmac
Copy link
Contributor

nwmac commented Aug 14, 2018

@aeijdenberg Thanks for the script and the work here - see #2815 - basically going with your suggestion with a slight change to the directory structure - I welcome your feedback.

@aeijdenberg
Copy link
Contributor Author

Closing as alternative was merged in #2854

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants