Skip to content
This repository has been archived by the owner on Oct 11, 2020. It is now read-only.

Make inexor core releases management easier for local builds #571

Open
a-teammate opened this issue Feb 19, 2018 · 0 comments
Open

Make inexor core releases management easier for local builds #571

a-teammate opened this issue Feb 19, 2018 · 0 comments

Comments

@a-teammate
Copy link
Contributor

Problem:

It is neither very clear, nor very consistent how to add a local bin folder.

Currently it is as follows:

A release on github has a bin/ subfolder.
the release gets downloaded and named according to the release (based on the name of the zip)
and afterwards the binaries are expected to be in <cache_folder>/<release_name>/bin.

In a cache folder each subdirectory becomes a release.

The problem is, that adding your local build is not so obvious:
If you build inexor-core, you have the binaries in inexor-core/build/bin.
Or if you make install you have the binaries additionally in inexor-core/bin.

Another note: for each different instance one needs to set which version it will want to use.
x or * means the newest one.
but the version can also be not a semantic version, but a name. i.e. build.

How to add local binaries?

To execute the local build in inexor-core/build/bin there is a specially crafted array in releases.toml:

explicit_release_folders in releases.toml: you add the (absolute) path to your build folder there. It will look then (like for any release), for the binaries in the bin-subfolder.

Alternatively one could symlink the build-folder to be a subfolder of a cache_folder. hence it will also be regarded as a release.

One can not simply make the cache folder point to the inexor-core directory. Although it would have the desired effect, that a build release exists, but all other directories in the inexor-core directory would also be a "release". i.e. the bin-, cmake-, dist-, doc-, inexor-, tool- and .git-release.


Suggestions

  1. Add a special rule that build is a preferred release (?)
    • Note: special rules are nasty..
  2. add an interface to ui-flex, so one can add a build-folder easily.
    • Furthermore release-providers should be easily addable.
    • This would also require that you need to apply in the same run to different instances that you want the instance to run with that particular release ("build")
  3. make explicit_release_folders disappear and instead add a whitelist attribute to a release provider
    • there are already release providers from local filesystem (i.e. an old cache directory). Cne could make it so, that it does not automatically add every subfolder, but only some, which match a specific pattern, i.e. build *
    • This way the inexor-core folder could be added as a provider for releases and the build folder gets recognized as the only release from that provider
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant