Bug 193781

Summary: Update Xcode projects with "Apply Configuration to XCFileLists" build target
Product: WebKit Reporter: Keith Rollin <krollin>
Component: Tools / TestsAssignee: Keith Rollin <krollin>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, ap, commit-queue, ews-watchlist, jeffm, keith_miller, lforschler, mark.lam, msaboff, rniwa, sbarati, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from ews106 for mac-highsierra-wk2
none
Patch none

Description Keith Rollin 2019-01-24 14:11:06 PST
Part of generating the .xcfilelists used as part of adopting XCBuild includes running `make DerivedSources.make` from a standalone script. It’s important for this invocation to have the same environment as when the actual build invokes `make DerivedSources.make`. If the environments are different, then the two invocations will provide different results. In order to get the same environment in the standalone script, have the script launch xcodebuild targeting the "Apply Configuration to XCFileLists" build target, which will then re-invoke our standalone script. The script is now running again, this time in an environment with all workspace, project, target, xcconfig and other environment variables established.

The "Apply Configuration to XCFileLists" build target accomplishes this task via a small embedded shell script that consists only of:

    eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"

The process that invokes "Apply Configuration to XCFileLists" first sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be evaluated and exports it into the shell environment. When xcodebuild is invoked, it inherits the value of this variable and can `eval` the contents of that variable. Our external standalone script can then set WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set of command-line parameters needed to restart itself in the appropriate state.

This bug tracks the addition of the “ Apply Configuration to XCFileLists” build target to the JavaScriptCore, WebCore, WebKit, DumpRenderTree, and WebKitTestRunner projects, all of which have Generate Derived Sources build targets based on a DerivedSources.make.


<rdar://problem/47201153>
Comment 1 Keith Rollin 2019-01-24 16:47:58 PST
Created attachment 360050 [details]
Patch
Comment 2 EWS Watchlist 2019-01-24 18:20:51 PST
Comment on attachment 360050 [details]
Patch

Attachment 360050 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/10879712

New failing tests:
http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html
Comment 3 EWS Watchlist 2019-01-24 18:20:53 PST
Created attachment 360064 [details]
Archive of layout-test-results from ews106 for mac-highsierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-highsierra-wk2  Platform: Mac OS X 10.13.6
Comment 4 Keith Rollin 2019-01-24 22:10:45 PST
No way that's mine, ews@webkit.org.
Comment 5 WebKit Commit Bot 2019-01-25 14:21:46 PST
Comment on attachment 360050 [details]
Patch

Rejecting attachment 360050 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-03', 'land-attachment', '--force-clean', '--non-interactive', '--parent-command=commit-queue', 360050, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=360050&action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=193781&ctype=xml&excludefield=attachmentdata
Processing 1 patch from 1 bug.
Updating working directory
Processing patch 360050 from bug 193781.
Fetching: https://bugs.webkit.org/attachment.cgi?id=360050
Failed to run "['git', 'svn', 'dcommit', '--rmdir']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	Source/JavaScriptCore/ChangeLog
	M	Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/WebCore.xcodeproj/project.pbxproj
	M	Source/WebKit/ChangeLog
	M	Source/WebKit/WebKit.xcodeproj/project.pbxproj
	M	Tools/ChangeLog
	M	Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj
	M	Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj

ERROR from SVN:
Merge conflict during commit: Conflict at '/trunk/Tools/ChangeLog'
W: 330f8b4e260792bf15d2cdd2da77c9a4e2d90f5a and refs/remotes/origin/master differ, using rebase:
:040000 040000 948bf9b824bf6359353db612b6d1d4df829f100e e40845bf09cd0cc1b81b15c6c395002dec01b04a M	Source
:040000 040000 e3e10ef9478ee574ee603d6e7b3864c1cd1c27e3 aee0c0d04740a5de86f490c3f897333d5a057b97 M	Tools
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run "['git', 'svn', 'dcommit', '--rmdir']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	Source/JavaScriptCore/ChangeLog
	M	Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/WebCore.xcodeproj/project.pbxproj
	M	Source/WebKit/ChangeLog
	M	Source/WebKit/WebKit.xcodeproj/project.pbxproj
	M	Tools/ChangeLog
	M	Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj
	M	Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj

ERROR from SVN:
Merge conflict during commit: Conflict at '/trunk/Tools/ChangeLog'
W: 330f8b4e260792bf15d2cdd2da77c9a4e2d90f5a and refs/remotes/origin/master differ, using rebase:
:040000 040000 948bf9b824bf6359353db612b6d1d4df829f100e e40845bf09cd0cc1b81b15c6c395002dec01b04a M	Source
:040000 040000 e3e10ef9478ee574ee603d6e7b3864c1cd1c27e3 aee0c0d04740a5de86f490c3f897333d5a057b97 M	Tools
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run "['git', 'svn', 'dcommit', '--rmdir']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: https://webkit-queues.webkit.org/results/10892661
Comment 6 Keith Rollin 2019-01-25 14:36:28 PST
OK, that one's mine.
Comment 7 Keith Rollin 2019-01-25 14:41:06 PST
Created attachment 360167 [details]
Patch
Comment 8 WebKit Commit Bot 2019-01-25 15:19:31 PST
Comment on attachment 360167 [details]
Patch

Clearing flags on attachment: 360167

Committed r240517: <https://trac.webkit.org/changeset/240517>
Comment 9 WebKit Commit Bot 2019-01-25 15:19:33 PST
All reviewed patches have been landed.  Closing bug.