- Notifications
You must be signed in to change notification settings - Fork 126
Continue work on packaging: Android and iOS done, Linux done, Mac done, Windows done (though still need /MD and /MT build pair). #166
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
Merged
Merged
Changes from all commits
Commits
Show all changes
189 commits Select commit Hold shift + click to select a range
f380815 Gather artifacts after build.
jonsimantov ecac6e1 Remove tabs.
jonsimantov 1a816bf Fix step name.
jonsimantov aa0c2e4 Add job dependency.
jonsimantov cefe7fb Fix Android tgz filename and untar files.
jonsimantov 693d594 Fix tar path.
jonsimantov bee9a22 Don't make tar files with symlinks.
jonsimantov ca560d7 added support for x86 and win md/mt
vimanyu e98c033 fixed typo
vimanyu 3dbe908 handling cmake configure for x86 on windows
vimanyu 7b2154f Print useful info after vcpkg step
vimanyu c73b015 added function to retreive path to vcpkg cmake toolchain file
vimanyu 6373df6 changing default for crt_linkage
vimanyu 932bcec addressed code review notes
vimanyu 7c3790e addressed PR comments
vimanyu c65d2bc Print library files on all platforms.
jonsimantov 2b6ea29 Fix tabs.
jonsimantov 83503a2 Add a build option to create ios libs instead of frameworks,
jonsimantov ba5d961 Add STL build implementation.
jonsimantov ed0cf9e Fix stl specification.
jonsimantov 35747f6 Fix workflow file.
jonsimantov 39705ea Add support for building libraries (instead of frameworks) to Mac des…
jonsimantov 6944f97 Fix workflow matrix specification.
jonsimantov 6c4f253 Fix workflow matrix specification.
jonsimantov bf8e035 Merge branch 'feature/js-packaging2' of https://github.com/firebase/f…
jonsimantov 09496fb Merge branch 'dev' into feature/js-packaging2
jonsimantov 473a0d2 Update packaging to use new version of iOS build script.
jonsimantov e1aad28 Merge branch 'dev' into feature/js-packaging2
jonsimantov aa8be25 Add package script that takes frameworks built by the iOS build step …
jonsimantov 71258db Add packaging script to place readme and other files into the built SDK.
jonsimantov 624797e Small fixes in the packaging script, added skeleton of Android script.
jonsimantov 4aa5106 Copy Android libraries into the correct place when packaging.
jonsimantov 0bb5dff Add iOS, Android, and general files to packaging step.
jonsimantov 2bdc204 Fix desktop packaging step (still placeholder)
jonsimantov de25921 Removed unneeded packaging desktop step and fix a few issues with mer…
jonsimantov a18e042 Rename jobs and fix a typo in Android job.
jonsimantov cdecdc9 Fix Android build to use build instead of .externalNativeBuild direct…
jonsimantov aed27de Fix tarfile path.
jonsimantov b6605bd Fix package merging step shell commands.
jonsimantov b645c06 Change final SDK to be packaged as a folder, not a tarball.
jonsimantov f7231f6 Add initial version of desktop packaging script - linux x64 only.
jonsimantov 9667e13 Add desktop (Linux) 64-bit to packaging step.
jonsimantov 7bbc909 Only do debug builds on Windows.
jonsimantov 216dce6 Exclude debug builds on mac/linux.
jonsimantov df91f4f Add compatibility with Windows library names.
jonsimantov 658276a Fix packaging tools tgz path.
jonsimantov 99064d5 Fix merge_libraries.py path.
jonsimantov d4dc048 Set up python on desktop packaging runner
jonsimantov 25455e1 Updated desktop packaging script to use proper command-line options.
jonsimantov 30dbb58 Fix prereqs script path.
jonsimantov cd757fc Made -p <platform> required for packaging script.
jonsimantov 0859a5e Switch workflow to read tarfiles, also fix prereqs script.
jonsimantov 81a4505 Properly determine build variant based on artifact filename.
jonsimantov f215b10 Add x86 and /MD /MT builds to desktop script.
jonsimantov ec1c3ea Add missing msbuild
jonsimantov 87b0918 Fix matrix specifier for linkage
jonsimantov b3f6f5c Try to get exclusions working.
jonsimantov cc7c2b4 Redo inclusions/exclusions to fix matrix error
jonsimantov 3d2c30a Add full list to inclusions.
jonsimantov 1e956b3 Restore matrix to before.
jonsimantov df8ec8e Matrix test
jonsimantov 3e1b3e0 Matrix attempt
jonsimantov 9903e09 Matrix attempt again
jonsimantov b347093 Try to fix exclusions again
jonsimantov 595a18a Add additional CPU variants.
jonsimantov 2db6e12 Omit python x86 version - not needed.
jonsimantov d085a62 Add additional variants to get_variant.sh script, handles mobile now …
jonsimantov 2abc151 Since iOS and Android sometimes build multiple architectures in a sin…
jonsimantov 8df1f10 Add error checking for cmake builds, and move packaging step to mac.
jonsimantov 3a82edb Make sure packaging script uses python 3.
jonsimantov 7bc4f0c Fix desktop prereqs in packaging step.
jonsimantov fd20576 Turn off strict C++ mode when running merge_libraries on Windows.
jonsimantov 50d1753 Add workaround for absl not building.
jonsimantov 33e0006 Work around a Firestore 32-bit building issue.
jonsimantov 04b46b8 Ensure output of cmake commands if it fails.
jonsimantov fc10256 Fix python exception
jonsimantov 6c2dbc6 Ignore error in running cmake.
jonsimantov 9f4ced8 On android, disable fail-fast for matrix.
jonsimantov d865fd2 Install protobuf compiler if needed.
jonsimantov f3e6280 Fix output format
jonsimantov 2df1042 Force apt to accept all prompts.
jonsimantov bed7c81 Fix library searching in packaging step.
jonsimantov 58669ed Fix indent
jonsimantov 311010d Add packaging step for windows and mac (no lipo/frameworks yet)
jonsimantov 64a2f23 Remove extraneous echo.
jonsimantov 39e41bd Combine stderr and stdout in command output.
jonsimantov 3682c1a Fix a bug in merge_libraries that was including objc symbols in the r…
jonsimantov fb8b1b1 Fix subprocess.call error
jonsimantov 7397156 Fix vcpkg triplet specifications, and look for libssl and libcrypto i…
jonsimantov 5ee4866 Fix include spec
jonsimantov 9935079 Remove bad commas
jonsimantov c04a5bb Fixed cp command to be compatible with Windows
jonsimantov 89e5e9e Include debug vcpkg libs if building debug mode.
jonsimantov 4a76afb Fix path.
jonsimantov e85f109 Remove shell scripting code from windows
jonsimantov 5ec4526 Move preservation of vcpkg libs to the build script instead of the gi…
jonsimantov 8c85a74 Fix bad linux x86 vcpkg triplet
jonsimantov 75d356e Fix (?) vcpkg triplet for linux x86.
jonsimantov d4c7cd2 Fix (??) vcpkg triplets, since a workflow matrix include was wrong fo…
jonsimantov c8f18e9 Rename x86-linux-dynamic to x86-linux.
jonsimantov 39c26ba Temporarily remove the vcpkg-built libraries.
jonsimantov 91144bd Don't copy vcpkg files if missing. Print all files for debugging.
jonsimantov 13f9620 Change x86-linux to x86-linux-dynamic vcpkg triplet again.
jonsimantov 4e8f4dd Added vcpkg files for other configs.
jonsimantov 7b94264 Merge branch 'feature/js-packaging2' of https://github.com/firebase/f…
jonsimantov ffda090 Remove '-dynamic' name from x86 version of vcpkg linux triplet.
jonsimantov 0d24234 Put Linux x86 vcpkg triplet back to -dynamic.
jonsimantov e03d6a8 Rather then spamming logs, put a text file in the artifact with the
jonsimantov c11358f Remove tab
jonsimantov 71343f8 Fix additional files like readme being put in the wrong directory.
jonsimantov 2a0235e Revert "Feature/support non standard vcpkg configs"
vimanyu d12ca1a Support Windows debug library filenames.
jonsimantov f289fe0 Fix find command on windows.
jonsimantov c6bbf98 Remove references to crt_linkage for now.
jonsimantov 16c520d Remove crt_linkage from desktop build call.
jonsimantov b09dcbb Fix merge step copying files incorrectly.
jonsimantov ca3786f Fix filename scanning for Windows packaging.
jonsimantov 17672b9 Add missing release/debug flag to desktop build. Also more fixes for …
jonsimantov 74028c1 Add curl retry options.
jonsimantov 4d9f304 Add retry for curl in Android prereqs script.
jonsimantov 5e38d2f Fix nostrict_cpp flag for windows packaging.
jonsimantov f46b2c7 Fixed an issue with binutils not automatically recognizing Windows
jonsimantov d2a9e07 Split Windows packaging into 4 runners.
jonsimantov eb8b8b6 Fix indent on matrix includes
jonsimantov f2821f7 Fixed includes again.
jonsimantov 5748bcb Fix includes AGAIN
jonsimantov d04aedf Fix matrix for packaging to work properly with Windows.
jonsimantov bd77146 Split windows packaging even further, into 8 steps.
jonsimantov 1fa3242 Fix Windows release library paths.
jonsimantov 32e875b Attempt to start packaging Windows builds immediately after the corre…
jonsimantov cc5ae65 Revert "Attempt to start packaging Windows builds immediately after t…
jonsimantov 4c95393 Rename artifact names to match job names.
jonsimantov bb3a000 Cleaned up workflow names a bit.
jonsimantov 65fbbc4 Fix last step of packaging.
jonsimantov 1bef523 Add a script to finish packing Darwin libraries into universal librar…
jonsimantov 063898d Fix final package path creation.
jonsimantov 36acdab Fix call to darwin packaging, and re-enable build tests to get Firest…
jonsimantov c2dedcd Merge branch 'feature/js-packaging2' of https://github.com/firebase/f…
jonsimantov e130552 Added better retry logic for curl, and also for android build which i…
jonsimantov 67f0f6d Add missing 'done' for retry for loop.
jonsimantov b55bc3f Increase retry wait to 1 minute.
jonsimantov 909eba9 Retry downloading NDK more times and wait longer between attempts.
jonsimantov 5b8b367 Clean up retry logic.
jonsimantov a8a1bcf Add log of built libraries and package contents, so we can better see…
jonsimantov 438d374 Update workflow to build 2 versions of tools (linux and mac; only dar…
jonsimantov 0451926 Fix malformed yml file
jonsimantov 68683cf Fix call to artifact deleter.
jonsimantov 87ee30c Remove bad compiler flag from windows firestore builds.
jonsimantov 42b94ed Add blank field to packaging matrix.
jonsimantov cf1099b Fix matrix fields to be list.
jonsimantov ad36e2f ...and again.
jonsimantov 818f8c4 Change packaging to use host OS directly via uname.
jonsimantov fdbbb25 Temporarily remove everything else to check the test matrix.
jonsimantov f2cb27b matrix test
jonsimantov 1547f95 figure out which has the blank runs_on
jonsimantov e1f8850 add packaging back in with correct matrix.
jonsimantov 748efbd Add missing "jobs" field.
jonsimantov 22208e0 Fix packaging flags.
jonsimantov 5630734 Fix Windows packaging to also consider *.res files inside .lib archiv…
jonsimantov 34570af Hide 'google' namespace, which protobuf in grpc in firestore uses.
jonsimantov 3af1cae Switch to a different artifact deleter.
jonsimantov 8d0b9af Remove tabs.
jonsimantov a4bcc54 Remove bad flag
jonsimantov e5f422e Fix indentation.
jonsimantov 6bf5280 Remove extraneous firebase_app.framework from ios build.
jonsimantov c487170 Merge branch 'feature/js-packaging2' of https://github.com/firebase/f…
jonsimantov 0295aea Merge branch 'dev' into feature/js-packaging2
jonsimantov 5368c8f Add packaging config so we can choose which Firebase C++ products are…
jonsimantov 6539222 Add additional parameters for packaging step.
jonsimantov d9e1a84 Modify parameter text
jonsimantov 04488be Change parameter descriptions again.
jonsimantov d70762d Shorten parameter names even more.
jonsimantov 81ceb57 Add option for downloading built SDK.
jonsimantov a2eedff Added verification for version number to match regex.
jonsimantov b389a33 Fix integration test job to work even if only one of its parents succ…
jonsimantov c9276ca Fix syntax
jonsimantov 3b91fe8 Change integration tests to try running always.
jonsimantov b22bc81 Add source checkout to integration test step.
jonsimantov 74fad76 Reworded lipo comment.
jonsimantov 35ffc2f Rename linkage variable to msvc_crt_linkage for clarity.
jonsimantov c367e1f Make sure STL variant specified in package script is valid.
jonsimantov 1793d2c Fix bug in darwin finishing script.
jonsimantov 38c28e4 Add comments around curl / gradle retries, explaining why.
jonsimantov da71f55 Updated TARGET_FORMAT cmake option to FIREBASE_XCODE_TARGET_FORMAT an…
jonsimantov da0afa7 Fix whitespace.
jonsimantov cee79e1 Fix build error with --config option missing.
jonsimantov 7c68e03 Add workflow parameter for running tests against a previous run's bui…
jonsimantov d60d003 Small change to Android script to not print the path unnecessarily.
jonsimantov a4ad766 Fix conditionals for downloadPreviousRun parameter.
jonsimantov File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| #!/bin/bash -e | ||
| | ||
| readonly -a allowed_stl_variants=("c++" "gnustl" "stlport") | ||
| builtpath=$1 | ||
| packagepath=$2 | ||
| stl=$3 | ||
| | ||
| if [[ -z "${builtpath}" || -z "${packagepath}" || -z "${stl}" ]]; then | ||
jonsimantov marked this conversation as resolved. Show resolved Hide resolved | ||
| echo "Usage: $0 <built Android SDK path> <path to put packaged files into> <STL variant>" | ||
| echo "STL variant is one of: ${allowed_stl_variants[*]}" | ||
| exit 1 | ||
| fi | ||
| | ||
| if [[ ! " ${allowed_stl_variants[@]} " =~ " ${stl} " ]]; then | ||
| echo "Invalid STL variant '${stl}'. Allowed STL variants: ${allowed_stl_variants[*]}" | ||
| exit 2 | ||
| fi | ||
| | ||
| if [[ ! -d "${builtpath}/app/build" ]]; then | ||
| echo "Built Android SDK not found at path '${builtpath}'." | ||
| exit 2 | ||
| fi | ||
| | ||
| root_dir=$(cd $(dirname $0)/../..; pwd -P) | ||
| . "${root_dir}/build_scripts/packaging.conf" | ||
| origpath=$( pwd -P ) | ||
| | ||
| mkdir -p "${packagepath}" | ||
| cd "${packagepath}" | ||
| destpath=$( pwd -P ) | ||
| cd "${origpath}" | ||
| | ||
| cd "${builtpath}" | ||
| sourcepath=$( pwd -P ) | ||
| cd "${origpath}" | ||
| | ||
| mkdir -p "${destpath}/libs/android" | ||
| | ||
| # Copy each platform's libraries to the destination directory for this STL variant. | ||
| cd "${sourcepath}" | ||
| # Make sure we only copy the libraries in product_list (specified in packaging.conf) | ||
| for product in ${product_list[*]}; do | ||
| if [[ ! -d "${product}/build/intermediates/cmake/release/obj" ]]; then | ||
| continue | ||
| fi | ||
| dir="${product}/build/intermediates/cmake/release/obj" | ||
| for cpudir in "${dir}"/*; do | ||
| cpu=$(basename ${cpudir}) | ||
| libsrc="${sourcepath}/${cpudir}/libfirebase_${product}.a" | ||
| libdest="${destpath}/libs/android/${cpu}/${stl}" | ||
| mkdir -p "${libdest}" | ||
| cp -f "${libsrc}" "${libdest}/" | ||
| done | ||
| # Copy the top-level Proguard files in as well. | ||
| cp -f "${sourcepath}/${product}/build/Release/${product}.pro" "${destpath}/libs/android/" | ||
| done | ||
| cd "${origpath}" | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.