inexorgame-obsolete / deprecated-cube-engine-inexor

UNMAINTAINED: Please have a look at the vulkan-renderer
https://inexor.org
zlib License
11 stars 1 forks source link

[npm] Add prototypical release fetcher #399

Closed Fohlen closed 7 years ago

Fohlen commented 7 years ago

This PR add's a rudimentary release fetcher that does the following:

which should usually unpack Inexor Core from Flex's perspective, so that it can be ran.

a-teammate commented 7 years ago

very cool! Improvments could be to update not only the bin folder, but we could leave that for future updates.

Does it handle if there is a zip missing on github?

Very nice, what needs to be done now:

Fohlen commented 7 years ago

The interface should be in @inexor-game/flex Something like https://www.npmjs.com/package/request-progress could be used in the future. To answer your question: no, it is not. It should probably throw an error there, shouldn't it?

a-teammate commented 7 years ago

No, it should warn and go with the old state.

Fohlen commented 7 years ago

They release fetcher won't override existing files. I'll add validation check (checksum) for the future, to make sure everything wen't fine.

a-teammate commented 7 years ago

Imo the checks are basically needed from the beginning, otherwise errors are uncatched at the beginning. I know I sometimes ignore that rule as well :D but features can be "out of this scope" for PRs. But testing and functionality checks and error handling imo is necessary even for the initial thing.

I'm saying that since we had some headache recently to debug on remotes the media repositories and I'd say this was probably because of missing checks. sure, you cant prepare for every error ofc but if an error could be common we should check for it right away.

aschaeffer commented 7 years ago

Small correction: the user interface should be in @inexor-game/ui-flex and is one of the user interfaces provided by Inexor Flex (others are: HUD, Menu, App).

For further information check out #402

Fohlen commented 7 years ago

@aschaeffer please add this somewhere else than this PR :laughing:

aschaeffer commented 7 years ago

I don't think the code for fetching / updating releases should be in the code repository. It would be cleaner if the code repository contains C/C++ code only. The only necessary thing would be the package.json. Fetching / updating releases should be located within Inexor Flex, where we can provide the commands for the Inexor Shell and a user interface for managing updates.

a-teammate commented 7 years ago

the package.json got recycled in #405 the rest is for flex