Skip to content

Should large file in folder dlib and tracked in git #311

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

Open
befovy opened this issue Nov 15, 2019 · 10 comments
Open

Should large file in folder dlib and tracked in git #311

befovy opened this issue Nov 15, 2019 · 10 comments
Labels
enhancement New feature or request plugin-system

Comments

@befovy
Copy link
Contributor

befovy commented Nov 15, 2019

Should large file in folder dlib and tracked in git ?

Can we use hover to auto download it when hover plugins get ?

@befovy befovy added the enhancement New feature or request label Nov 15, 2019
@pchampio
Copy link
Member

pchampio commented Nov 15, 2019

Yea.. We are missing a real build system here (no grade, makefile..).
But I think it is for the best, it is easier to maintain classic go build for a small team of contributor.

To answer

Should large file in folder dlib and tracked in git ?

The answer is obviously: no, but go-flutter/git doesn't prevent you from doing so.

Given the fact that we want to avoid a hook/plugins system that runs upon hover build. We don't have much choice.

  1. have a plugins/hooks system that runs on hover plugins get
  2. do nothing and let plugin maker place their large file in dlib/os..
  3. do nothing and let plugin maker inform their users that a script file has to be run in go/build/intermediate to download large files. Such commands would need to be run after hover plugins get

I don't know the best answer. I'm welcome to propositions!

@befovy
Copy link
Contributor Author

befovy commented May 5, 2020

Sorry for late response.
I prefer the first choice: have a plugins/hooks system that runs on hover plugins get.

For details:

  1. plugin developer add hover_get_hook.go in dlib folder, download files or just print prompt information in main function.
  2. When running hover plugins get, hover checks if hover_get_hook.go exists.
  3. If hover_get_hook.go exists, hover compile it and copy output binary file to ${flutter app}/go/build/intermediates/hover_get_hook_${plugin_name}.exe
  4. hover run hover_get_hook_${plugin_name}.exe in working directory ${flutter app}/go/build/intermediates`.
  5. hover plugins get continue to process the next plugin

@pchampio Is this okay? If yes, I will make it

@pchampio
Copy link
Member

We are still open for ideas.
Maybe a simple yaml like:

darwin: "https://something.com/A.Framwork"
window: "https://something.com/A.dll"
linux: "https://something.com/A.so"

would be enough?

@befovy
Copy link
Contributor Author

befovy commented May 12, 2020

Is it enough only have source url ?
Do we need a target path for each prebuilt libraries?
If plugins developers use zip files, hover need to unpack the zip file.

@pchampio
Copy link
Member

pchampio commented May 12, 2020

We would like to avoid hooks ref:#203 (comment)

@GeertJohan
Copy link
Member

Instead of hooks into Go code, we could consider hooks like git does it? Executing a script/executable file and giving it data on stdin?

@befovy
Copy link
Contributor Author

befovy commented May 13, 2020

Yes. keep it simple.
Add one doc url would be enough.

darwin: "https://something.com/A.Framwork"
window: "https://something.com/A.dll"
linux: "https://something.com/A.so"
doc: "https://something.com/README.md"

@GeertJohan
Copy link
Member

GeertJohan commented May 18, 2020

What if someone requires multiple libraries? What if they want to use ftp instead of http? Or nfs? What if the framework needs to be compiled on the machine that hover is ran, before it can be used?

In the original discussion about hooks we may have over-complicated it by thinking about hooks into Go. When using bash scripts as hook, like git does, that becomes a lot easier. I wouldn't mind opening that discussion again.

@befovy
Copy link
Contributor Author

befovy commented May 29, 2020

@GeertJohan @pchampio
Have a conclusion?

@GeertJohan
Copy link
Member

A hook system would also benefit #240. But a hook system is not easy and needs to be done right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request plugin-system
Development

No branches or pull requests

3 participants