You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add regression testing for recipes (I'm guessing this does not currently happen!).
And there is an almost (!) free lunch, faster builds for most users using the cached build result:
Save the regression results of each recipe in a recipe cache on a server. The cache is indexed by 'p4a release version', 'android.api' , 'recipe name and version', and 'architecture'. Android.api might be the two versions supported by the Store, recipe versions would be default. The cumulative effect of pre-built recipes means the build is computationally inexpensive (one pass is a few hours on my 3 year old NUC).
If 'cache is enabled' (see next item) and cache file exists, p4a downloads the built version from the cache instead of building from the recipe.
'cache is enabled' is defined by Buildozer, default true for each requirement with a recipe. This option is false if any of the p4a.xxx are not default, or any of android.min_apiandroid.ndkandroid.ndk_api or android.ndk are not default. 'Cache is enabled' is implemented on a per recipe basis, and it does not enable local recipes.
There is no gain for p4a developers who are almost certainly using the p4a develop version.
The general user will see a gain in build times (except if they version pin to not default), and perhaps only hostpython need be built locally?.
A future enhancement might be local (no internet) builds. These would be enabled by copying a subset of the cache to ~/.buildozer , from which p4a could alternatively copy. Locally built hostpython would also be in this cache, as well as any pure Python wheels.
The text was updated successfully, but these errors were encountered:
Description
Add regression testing for recipes (I'm guessing this does not currently happen!).
And there is an almost (!) free lunch, faster builds for most users using the cached build result:
Save the regression results of each recipe in a recipe cache on a server. The cache is indexed by 'p4a release version', 'android.api' , 'recipe name and version', and 'architecture'. Android.api might be the two versions supported by the Store, recipe versions would be default. The cumulative effect of pre-built recipes means the build is computationally inexpensive (one pass is a few hours on my 3 year old NUC).
If 'cache is enabled' (see next item) and cache file exists, p4a downloads the built version from the cache instead of building from the recipe.
'cache is enabled' is defined by Buildozer, default true for each requirement with a recipe. This option is false if any of the
p4a.xxx
are not default, or any ofandroid.min_api
android.ndk
android.ndk_api
orandroid.ndk
are not default. 'Cache is enabled' is implemented on a per recipe basis, and it does not enable local recipes.There is no gain for p4a developers who are almost certainly using the p4a develop version.
The general user will see a gain in build times (except if they version pin to not default), and perhaps only hostpython need be built locally?.
A future enhancement might be local (no internet) builds. These would be enabled by copying a subset of the cache to ~/.buildozer , from which p4a could alternatively copy. Locally built hostpython would also be in this cache, as well as any pure Python wheels.
The text was updated successfully, but these errors were encountered: