Commit Graph

31 Commits

Author SHA1 Message Date
ben marsh
595309196c Merging NET 8 upgrades from Main.
[CL 36755991 by ben marsh in 5.5 branch]
2024-10-01 19:12:37 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
josh adams
d9b699fb5f - Added functionality to ExportAppleBuilds script:
- Makes use of the AppStoreConnect API, which requires a .p8 file to have been downloaded from Apple's Integrations tab
  - Can check if the version already exists on TestFlight, and can (on a Mac) increment the verrsion of the .xcarchive to be a valid version
  - Can wait until the upload has completed and set the WhatsNew field in the TF build, for automated testing notes

#rb josh.adams

[CL 35697510 by josh adams in ue5-main branch]
2024-08-21 09:03:19 -04:00
graeme thornton
f2ba3e26c3 Don't run PostStagingFileCopy during Apple staging if we are running on a windows host or we are building a DLC plugin
#rb josh.adams

[CL 33131679 by graeme thornton in ue5-main branch]
2024-04-21 14:25:39 -04:00
josh adams
1ef3087292 - Ability to override Xcodebuild settings when staging and packaging with BuildCookRun, it is not used when building
#rb josh.adams

[CL 33128829 by josh adams in ue5-main branch]
2024-04-20 11:08:10 -04:00
josh adams
8495cd3f3a - Routed output diffrently because xcodebuild like to write to stderr, which will make horde return failures, and log it as red
#rb josh.adams

[CL 32958612 by josh adams in ue5-main branch]
2024-04-14 07:48:22 -04:00
josh adams
65cdb20fb0 - Updated packaging with -distribution, to take use -archivedirectory param (if it ends with .xcarchive) as an override location to write the .xcarchive, instead of ~/Library/Developer/Xcode (when -archive isn't set)
- Similarly if -archive and -archivedirectory ends with .xcarchive, then that is the name of the directory to archive to, instead of using Xcode's name
- Improved logging of xcarchive info
#rb zack.neyland

[CL 32836485 by josh adams in ue5-main branch]
2024-04-09 15:42:18 -04:00
josh adams
d71f94fa56 - Made a script (ExportAppleBuild) for uploading or exporting .xcarchives (we had MakeIPA but this is more general purpose and uses a project param to get ASC params
- This needs .plist files to control the export/upload process, added some premade default ones in Engine/Build/Xcode
- Refactored some code for the Auth param stuff
#rb calvin.zheng

[CL 32817761 by josh adams in ue5-main branch]
2024-04-08 22:42:27 -04:00
josh adams
3b9aac77bf - Fixed an issue with writing a file without creating the directory first
#rb stephen.ma

[CL 32679132 by josh adams in ue5-main branch]
2024-04-02 16:30:29 -04:00
calvin zheng
18cbb40012 Fix archive fail when packaging a BP only project for distribution
#jira UE-202165
#rb Josh.Adams

[CL 31392328 by calvin zheng in ue5-main branch]
2024-02-12 13:54:09 -05:00
josh adams
4e879d913b - Made the .binariesdir file only on Mac
#jira UE-202088
#rb josh.adams

[CL 30180011 by josh adams in ue5-main branch]
2023-12-07 10:31:50 -05:00
josh adams
7711bc6d7a - Make sure zipping a Mac app works with ZipTask which deletes empty directories (the Binaries/Mac dir may be empty after staging), by creating an empty file in Binaries/<platform>
#rb josh.adams

[CL 30169237 by josh adams in ue5-main branch]
2023-12-06 17:07:46 -05:00
josh adams
0e5bfd9fd0 - Removed some temp code checked in by mistake
#rb josh.adams

[CL 30164122 by josh adams in ue5-main branch]
2023-12-06 14:38:47 -05:00
josh adams
bea9b503ea - Fixed Staging of Program Mac targets to keep the bogus .app copies out of the Staged dir
#rb josh.adams

[CL 30163538 by josh adams in ue5-main branch]
2023-12-06 14:29:31 -05:00
calvin zheng
8d6e633f99 Fixing multiple blocking modern xcode issues
#jira UE-198617
#rb Josh.Adams

[CL 29095687 by calvin zheng in ue5-main branch]
2023-10-25 14:06:59 -04:00
josh adams
1abedddd2a - More fixes for Mac packaging/archiving issues
* Set the no-encryption setting in the template Mac plist to make uploading to TestFlight/AppStore easier
  * Fixed editor to not compile as universal when using -distribution, only the client should be universal
  * Further improvements to stripping out nested .app's in a final .app (remove them from the staged directory helps)
  * Changed how the Mac app name is displayed, since the .app name itself is shown in the Finder,  unlike IOS where the CFBundleName is shown (the archived .app name in the .xcarchive is named by a project setting, falling back to the .uproject name if not set)
  * Disabled the SignExecutables function on Modern because they attempt to sign the wrong .apps, and one is no longer (previously it was uselessly signing .apps, but now it throws an error due to changes for the third item in this list)
[CONSIDER5.3]
#rb calvin.zheng
#jira UE-197465

[CL 28619839 by josh adams in ue5-main branch]
2023-10-10 10:52:53 -04:00
josh adams
c2437d9b07 - Fixed various issues with making Mac/IOS builds that can be uploaded to AppStore in Xcode
* Missing ThinApp.sh
  * Missing some quotes around a variable in GenerateUniversalDSYM.sh
  * Correctly filter out the stub .app's and such when copying the Staged data directory into the .app
  * Disabled the Mac's Sign To Run Locally option by default, as that causes Xcode's Validation/Upload to not have the team name embedded in it, causing a hassle while pushing up to AppStore/TestFlight
  * Fixed the PRODUCT_NAME for BP projects
  * Made CrashReportClient be a sandboxed app that inherits from parent
  * Fix Hybrid apps to check all platforms before in the project generator, so that if a project needs a temp target for IOS (via a plugin)
  * For hybrid projects, don't append Game to the end of the Game target names, as that is the default, and it makes for better named products
  * Disabled the LoginFlow module from OnlineFramework plugin - this was causing issues with having CEF and EpicWebHelper embedded into a sandboxed .app, and LoginFlow isn't seemingly actually used by anything
#jira UE-196297,UE-196299,UE-196296,UE-196300,UE-196295
#rb adam.kinge

[CL 28463729 by josh adams in ue5-main branch]
2023-10-04 13:25:29 -04:00
josh adams
240a47eb6d - Correctly name BP non-development IOS/Mac .app's
#jira UE-193585
#rb adam.kinge

[CL 27361366 by josh adams in ue5-main branch]
2023-08-24 18:15:18 -04:00
josh adams
7c82cb7d46 - Fixed some issues with codesigning BP projects with modern Xcode, when BaseEngine.ini has no signing info, and the signing info is in the projects settings
- The in-process project generation was not able to get the .uproject location
  - The making and using of the stub xcode projects were using UnrealGame target/scheme, not MyProjectGame (which Xcode makes since it can handle content-only uprojects)
  - UnrealGame.app, when just compiling, has no uproject, so it now use the dummy codesigning I added for stub generation, so no projects settings are needed

#jira UE-192593

[CL 27035369 by josh adams in ue5-main branch]
2023-08-11 13:42:54 -04:00
josh adams
0e3d323296 - Added architecture to GetDestinationPlatform() so -destination param to xcodebuild can get simulators (and brought it over from 5.4)
- Added some logging to UseModernXcode so it is clear which mode is being used, and why
- Fixed stub creation in modern to use local dummy identity (no need for keychain unlocking), and moved files into Payload directory inside the stub
#jira UE-168571
#rb adam.kinge

[CL 26620618 by josh adams in ue5-main branch]
2023-07-26 16:41:36 -04:00
josh adams
c5fe47c532 Brought changes over from UE5/Main
- Fixing the name of the .app when staging/deploying a BP IOS project with modern
- Uses a new AppleExports function to call MakeBinaryFilename, so we can use standardized name format for the BP .app
- Fixed which .app is archived for BP projects (it was archiving the UnrealGame.app, not the finalized MyProject.app)

- Programs now no longer use Game/Client entitlements, but can set bUseEntitlementsForPrograms to true in the .ini if really needed
- Added an Unrestricted.entitlements, an empty entitlements file
- Changed Programs to find the .ini for codesigning, without needing a .uproject

- Fixed path to strip to add a missing slash
- Pass -legacyxcode along to the legacy PostBuildSync step to make sure it uses legacy when overriding the .ini setting
- Added -legacyxcode commandline handler for legacy PostbuildSync

#jira UE-190517
#jira UE-189830
#rb various

[CL 26592756 by josh adams in ue5-main branch]
2023-07-25 18:47:15 -04:00
Josh Adams
6c143a836a - Fixing the name of the .app when staging/deploying a BP IOS project with modern
- Uses a new AppleExports function to call MakeBinaryFilename, so we can use standardized name format for the BP .app
#jira UE-189830
#rb calvin.zheng

[CL 26352457 by Josh Adams in ue5-main branch]
2023-06-30 15:28:03 -04:00
Josh Adams
b7d0fe4ab0 - Cleaning up MacExports/IOSExports/IOSDeploy/etc for shared functionality from Modern Xcode
#rb trivial
#preflight 6470ddb73c13defa05f64f51

[CL 25647200 by Josh Adams in ue5-main branch]
2023-05-26 12:51:21 -04:00
Josh Adams
a2263b2ce0 - Xcode support for Content Only projects
- Added a top-level .xcconfig file to Xcode workspace for use with UnrealGame/etc so it knows where to find staged data, and set the commandline automatically
  - Stage the UECommandLine.txt file for modern builds because we no longer make the Bootstrap .app
  - Added XcodeBuildMode enum/string so scripts can tell when the project is being built (so build time could act differently than stage time, etc)
  - Making use of the enum and other env vars to skip steps when not needed

- Other fixes for project generation
  - Added -modernxcode and -legacyxcode comandline options which will override the .ini setting (refactored all UseModern checks into one function)
  - Support for programs that have a .uproject, and GPF with -game -project=<program.uproject>
  - Added success return value to FinalizeAppWithModernXcode
  - Added quotes to fix paths with spaces in GenerateProjectFiles.command
  - Enabled parallel AddAdditionalNativeTargetInformation for gathering Frameworks from targts, now that parallel project generation has been enabled and most parallel issues are fixed

#preflight 646ce67c2e78be98411323d9
#rb zack.neyland
#preflight 646f8f2850786bb5ba8a98f0

[CL 25623979 by Josh Adams in ue5-main branch]
2023-05-25 13:04:27 -04:00
Josh Adams
57a2862d29 - Fixed mac (and maybe IOS) archiving in legacy mode
#rb calvin.zheng
#preflight skip

[CL 25237868 by Josh Adams in ue5-main branch]
2023-04-28 15:28:42 -04:00