Previously `add_zip_files` didn't work if the zip filename was not specified as first parameter. This change allows it to come after flags.
This will fix web release and other builds.
`jq.inc.sh` gets also used in some scripts that don't source our builder scripts, e.g. in git hooks. This means that `builder_is_windows` is not defined. This change replaces the call of that function with a slightly modified version of the previous implementation.
Follow-up-of: #14324
Previously `add_zip_files` didn't work if the zip filename was not
specified as first parameter. This change allows it to come after flags.
This will fix web release builds.
Test-bot: skip
`jq.inc.sh` gets also used in some scripts that don't source our
builder scripts, e.g. in git hooks. This means that `builder_is_windows`
is not defined. This change replaces the call of that function with
a slightly modified version of the previous implementation.
Follow-up-of: #14324
Build-bot: skip
Test-bot: skip
This makes of the testing framework added in #14345 and also renames
the tests to better separate the parts of the test name.
Build-bot: skip
Test-bot: skip
This makes use of the new functionality refactored in the previous
commit by replacing the use of the `wzzip` function with `add_zip_files`.
Test-bot: skip
This changes makes use of the logic that used to be in `win/zip.inc.sh`:
if the environment variable `GO_FAST` is set to 1, we use a low
compression level, resulting in faster builds. If it is set to 0 we
use maximum compression, resulting in slower builds. If `GO_FAST` is
not set we don't specify the compression level and rely on the defaults.
Test-bot: skip
Mac had a separate `write-download_info.sh` script that duplicates what is done in the `write_download_info` function. Also remove the unused `dl_info_display_usage` function that is unused and seems to be related to the script we're deleting.
Follow-up-of: #14270
Note that the ICU subprojects still explicitly specify C++17 since they are maintained outside of Keyman and so shouldn't be tied to the Keyman compiler version requirement.
Fixes: #12526
`7z` and `zip` behave differently if adding files that are not in the current directory. For files with relative paths, zip will add them relative to the current directory which is not what we want and can cause problems for the user. Therefore this change disallows files that are not in the current directory and aborts the build.
Note that the ICU subprojects still explicitly specify C++17 since they
are maintained outside of Keyman and so shouldn't be tied to the Keyman
compiler version requirement.
Fixes: #12526
Test-bot: skip
This change adds support for the `-xr!wildcard` parameter to the `add_zip_files` function, e.g. `-xr!build.sh` will exclude all `build.sh` files from the archive. This is an alternative to adding a file list.
Also add unit tests for `zip.inc.sh`.
`7z` and `zip` behave differently if adding files that are not in the
current directory. For files with relative paths, zip will add them
relative to the current directory which is not what we want and can
cause problems for the user. Therefore this change disallows files that
are not in the current directory and aborts the build.
This change adds support for the `-xr!wildcard` parameter to the
`add_zip_files` function, e.g. `-xr!build.sh` will exclude all `build.sh`
files from the archive. This is an alternative to adding a file list.
We already run `build.sh publish` as part of the regular release
build in `macos_build_action`, so we don't have to call it again.
Build-bot: skip
Test-bot: skip
Mac had a separate `write-download_info.sh` script that duplicates what
is done in the `write_download_info` function. Also remove the unused
`dl_info_display_usage` function that is unused and seems to be related
to the script we're deleting.
Test-bot: skip
`keyman-developer-release.sh` calls the `write_download_info` function but neglected to source the `shellHelperFunctions.sh` file which defines that function. Thus this change fixes the release build.
The .download_info files use the platform `win` instead of `windows`. This PR changes this, and also renames the `_verify_project` function to `_verify_platform` to better match what it's checking. Fixes Windows release builds.
Follow-up-of: #14270
- add `builder_is_windows`, `builder_is_macos` and `builder_is_linux`
functions
- add/move `BUILDER_OS` env variable to `resources/builder.inc.sh`
- use the new functions and env variable
Fixes: #14109
Test-bot: skip
This is a small refactoring to use full, absolute paths when copying files and changing directories. This makes it clearer to see where those directories/files are located.
`keyman-developer-release.sh` calls the `write_download_info` function
but neglected to source the `shellHelperFunctions.sh` file which
defines that function. Thus this change fixes the release build.
Build-bot: skip
Test-bot: skip