Changeset 240517 in webkit


Ignore:
Timestamp:
Jan 25, 2019 3:19:25 PM (5 years ago)
Author:
Keith Rollin
Message:

Update Xcode projects with "Apply Configuration to XCFileLists" build target
https://bugs.webkit.org/show_bug.cgi?id=193781
<rdar://problem/47201153>

Reviewed by Alex Christensen.

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.

Source/JavaScriptCore:

Source/WebCore:

No new tests since there should be no observable behavior difference.

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r240511 r240517  
     12019-01-25  Keith Rollin  <krollin@apple.com>
     2
     3        Update Xcode projects with "Apply Configuration to XCFileLists" build target
     4        https://bugs.webkit.org/show_bug.cgi?id=193781
     5        <rdar://problem/47201153>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Part of generating the .xcfilelists used as part of adopting XCBuild
     10        includes running `make DerivedSources.make` from a standalone script.
     11        It’s important for this invocation to have the same environment as
     12        when the actual build invokes `make DerivedSources.make`. If the
     13        environments are different, then the two invocations will provide
     14        different results. In order to get the same environment in the
     15        standalone script, have the script launch xcodebuild targeting the
     16        "Apply Configuration to XCFileLists" build target, which will then
     17        re-invoke our standalone script. The script is now running again, this
     18        time in an environment with all workspace, project, target, xcconfig
     19        and other environment variables established.
     20
     21        The "Apply Configuration to XCFileLists" build target accomplishes
     22        this task via a small embedded shell script that consists only of:
     23
     24            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
     25
     26        The process that invokes "Apply Configuration to XCFileLists" first
     27        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
     28        evaluated and exports it into the shell environment. When xcodebuild
     29        is invoked, it inherits the value of this variable and can `eval` the
     30        contents of that variable. Our external standalone script can then set
     31        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
     32        of command-line parameters needed to restart itself in the appropriate
     33        state.
     34
     35        * JavaScriptCore.xcodeproj/project.pbxproj:
     36
    1372019-01-25  Tadeu Zagallo  <tzagallo@apple.com>
    238
  • trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r240511 r240517  
    3131                        name = "LLInt Settings";
    3232                        productName = "Derived Sources";
     33                };
     34                5325BDBF21DFF2B100A0DEE1 /* Apply Configuration to XCFileLists */ = {
     35                        isa = PBXAggregateTarget;
     36                        buildConfigurationList = 5325BDC421DFF2B200A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
     37                        buildPhases = (
     38                                5325BDC521DFF2BA00A0DEE1 /* ShellScript */,
     39                        );
     40                        dependencies = (
     41                        );
     42                        name = "Apply Configuration to XCFileLists";
     43                        productName = "Apply Configuration to XCFileLists";
    3344                };
    3445                53B4BD041F68AF8900D2BEA3 /* Generate Unified Sources */ = {
     
    1006810079                        attributes = {
    1006910080                                BuildIndependentTargetsInParallel = YES;
     10081                                DefaultBuildSystemTypeForWorkspace = Original;
    1007010082                                LastSwiftUpdateCheck = 0700;
    1007110083                                LastUpgradeCheck = 1000;
     10084                                TargetAttributes = {
     10085                                        5325BDBF21DFF2B100A0DEE1 = {
     10086                                                CreatedOnToolsVersion = 10.1;
     10087                                                ProvisioningStyle = Automatic;
     10088                                        };
     10089                                };
    1007210090                        };
    1007310091                        buildConfigurationList = 149C277108902AFE008A9EFC /* Build configuration list for PBXProject "JavaScriptCore" */;
     
    1010210120                                FE533CA11F217DB30016A1FE /* testmasm */,
    1010310121                                79281BBD20B62B3E002E2A60 /* testmem */,
     10122                                5325BDBF21DFF2B100A0DEE1 /* Apply Configuration to XCFileLists */,
    1010410123                        );
    1010510124                };
     
    1020210221                        shellPath = /bin/sh;
    1020310222                        shellScript = "set -e\n\nif [[ -f \"${BUILT_PRODUCTS_DIR}/libWTF.a\" ]]; then\n    ln -s -f -h \"${BUILT_PRODUCTS_DIR}/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore/libWTF.a\"\nelse\n    ln -s -f -h \"${SDK_DIR}${WK_ALTERNATE_WEBKIT_SDK_PATH}/usr/local/lib/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore/libWTF.a\"\nfi";
     10223                };
     10224                5325BDC521DFF2BA00A0DEE1 /* ShellScript */ = {
     10225                        isa = PBXShellScriptBuildPhase;
     10226                        buildActionMask = 2147483647;
     10227                        files = (
     10228                        );
     10229                        inputFileListPaths = (
     10230                        );
     10231                        inputPaths = (
     10232                        );
     10233                        outputFileListPaths = (
     10234                        );
     10235                        outputPaths = (
     10236                        );
     10237                        runOnlyForDeploymentPostprocessing = 0;
     10238                        shellPath = /bin/sh;
     10239                        shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
    1020410240                };
    1020510241                53B4BD091F68AF8900D2BEA3 /* Generate Unified Sources */ = {
     
    1107911115                        name = Production;
    1108011116                };
     11117                5325BDC021DFF2B200A0DEE1 /* Debug */ = {
     11118                        isa = XCBuildConfiguration;
     11119                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
     11120                        buildSettings = {
     11121                                CODE_SIGN_STYLE = Automatic;
     11122                                PRODUCT_NAME = "$(TARGET_NAME)";
     11123                        };
     11124                        name = Debug;
     11125                };
     11126                5325BDC121DFF2B200A0DEE1 /* Release */ = {
     11127                        isa = XCBuildConfiguration;
     11128                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
     11129                        buildSettings = {
     11130                                CODE_SIGN_STYLE = Automatic;
     11131                                PRODUCT_NAME = "$(TARGET_NAME)";
     11132                        };
     11133                        name = Release;
     11134                };
     11135                5325BDC221DFF2B200A0DEE1 /* Profiling */ = {
     11136                        isa = XCBuildConfiguration;
     11137                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
     11138                        buildSettings = {
     11139                                CODE_SIGN_STYLE = Automatic;
     11140                                PRODUCT_NAME = "$(TARGET_NAME)";
     11141                        };
     11142                        name = Profiling;
     11143                };
     11144                5325BDC321DFF2B200A0DEE1 /* Production */ = {
     11145                        isa = XCBuildConfiguration;
     11146                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
     11147                        buildSettings = {
     11148                                CODE_SIGN_STYLE = Automatic;
     11149                                PRODUCT_NAME = "$(TARGET_NAME)";
     11150                        };
     11151                        name = Production;
     11152                };
    1108111153                53B4BD0B1F68AF8900D2BEA3 /* Debug */ = {
    1108211154                        isa = XCBuildConfiguration;
     
    1148411556                        defaultConfigurationName = Production;
    1148511557                };
     11558                5325BDC421DFF2B200A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
     11559                        isa = XCConfigurationList;
     11560                        buildConfigurations = (
     11561                                5325BDC021DFF2B200A0DEE1 /* Debug */,
     11562                                5325BDC121DFF2B200A0DEE1 /* Release */,
     11563                                5325BDC221DFF2B200A0DEE1 /* Profiling */,
     11564                                5325BDC321DFF2B200A0DEE1 /* Production */,
     11565                        );
     11566                        defaultConfigurationIsVisible = 0;
     11567                        defaultConfigurationName = Production;
     11568                };
    1148611569                53B4BD0A1F68AF8900D2BEA3 /* Build configuration list for PBXAggregateTarget "Generate Unified Sources" */ = {
    1148711570                        isa = XCConfigurationList;
  • trunk/Source/WebCore/ChangeLog

    r240508 r240517  
     12019-01-25  Keith Rollin  <krollin@apple.com>
     2
     3        Update Xcode projects with "Apply Configuration to XCFileLists" build target
     4        https://bugs.webkit.org/show_bug.cgi?id=193781
     5        <rdar://problem/47201153>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Part of generating the .xcfilelists used as part of adopting XCBuild
     10        includes running `make DerivedSources.make` from a standalone script.
     11        It’s important for this invocation to have the same environment as
     12        when the actual build invokes `make DerivedSources.make`. If the
     13        environments are different, then the two invocations will provide
     14        different results. In order to get the same environment in the
     15        standalone script, have the script launch xcodebuild targeting the
     16        "Apply Configuration to XCFileLists" build target, which will then
     17        re-invoke our standalone script. The script is now running again, this
     18        time in an environment with all workspace, project, target, xcconfig
     19        and other environment variables established.
     20
     21        The "Apply Configuration to XCFileLists" build target accomplishes
     22        this task via a small embedded shell script that consists only of:
     23
     24            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
     25
     26        The process that invokes "Apply Configuration to XCFileLists" first
     27        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
     28        evaluated and exports it into the shell environment. When xcodebuild
     29        is invoked, it inherits the value of this variable and can `eval` the
     30        contents of that variable. Our external standalone script can then set
     31        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
     32        of command-line parameters needed to restart itself in the appropriate
     33        state.
     34
     35        No new tests since there should be no observable behavior difference.
     36
     37        * WebCore.xcodeproj/project.pbxproj:
     38
    1392019-01-25  Keith Rollin  <krollin@apple.com>
    240
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r240457 r240517  
    2020                        name = All;
    2121                        productName = All;
     22                };
     23                5325BDC621DFF33700A0DEE1 /* Apply Configuration to XCFileLists */ = {
     24                        isa = PBXAggregateTarget;
     25                        buildConfigurationList = 5325BDCB21DFF33A00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
     26                        buildPhases = (
     27                                5325BDCC21DFF33E00A0DEE1 /* ShellScript */,
     28                        );
     29                        dependencies = (
     30                        );
     31                        name = "Apply Configuration to XCFileLists";
     32                        productName = "Apply Configuration to XCFileLists";
    2233                };
    2334                5355E8D11F967E9D0031E08C /* Generate Unified Sources */ = {
     
    3245232463                        attributes = {
    3245332464                                BuildIndependentTargetsInParallel = YES;
     32465                                DefaultBuildSystemTypeForWorkspace = Original;
    3245432466                                LastSwiftUpdateCheck = 0700;
    3245532467                                LastUpgradeCheck = 1000;
     32468                                TargetAttributes = {
     32469                                        5325BDC621DFF33700A0DEE1 = {
     32470                                                CreatedOnToolsVersion = 10.1;
     32471                                                ProvisioningStyle = Automatic;
     32472                                        };
     32473                                };
    3245632474                        };
    3245732475                        buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */;
     
    3248632504                                417DA6CF13734E02007C57FB /* WebCoreTestSupport */,
    3248732505                                E1BA66F31742BDE000C20251 /* WebCoreTestShim */,
     32506                                5325BDC621DFF33700A0DEE1 /* Apply Configuration to XCFileLists */,
    3248832507                        );
    3248932508                };
     
    3255032569                        shellPath = /bin/sh;
    3255132570                        shellScript = "if [ \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n    exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-objc-class-names ]; then\n    ../../Tools/Scripts/check-for-inappropriate-objc-class-names Web || exit $?\nfi";
     32571                };
     32572                5325BDCC21DFF33E00A0DEE1 /* ShellScript */ = {
     32573                        isa = PBXShellScriptBuildPhase;
     32574                        buildActionMask = 2147483647;
     32575                        files = (
     32576                        );
     32577                        inputFileListPaths = (
     32578                        );
     32579                        inputPaths = (
     32580                        );
     32581                        outputFileListPaths = (
     32582                        );
     32583                        outputPaths = (
     32584                        );
     32585                        runOnlyForDeploymentPostprocessing = 0;
     32586                        shellPath = /bin/sh;
     32587                        shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
    3255232588                };
    3255332589                5355E8D21F967E9D0031E08C /* Generate Unified Sources */ = {
     
    3371333749                        name = Production;
    3371433750                };
     33751                5325BDC721DFF33900A0DEE1 /* Debug */ = {
     33752                        isa = XCBuildConfiguration;
     33753                        baseConfigurationReference = 1CDD45E50BA9C84600F90147 /* WebCore.xcconfig */;
     33754                        buildSettings = {
     33755                                CODE_SIGN_STYLE = Automatic;
     33756                                PRODUCT_NAME = "$(TARGET_NAME)";
     33757                        };
     33758                        name = Debug;
     33759                };
     33760                5325BDC821DFF33900A0DEE1 /* Release */ = {
     33761                        isa = XCBuildConfiguration;
     33762                        baseConfigurationReference = 1CDD45E50BA9C84600F90147 /* WebCore.xcconfig */;
     33763                        buildSettings = {
     33764                                CODE_SIGN_STYLE = Automatic;
     33765                                PRODUCT_NAME = "$(TARGET_NAME)";
     33766                        };
     33767                        name = Release;
     33768                };
     33769                5325BDC921DFF33900A0DEE1 /* Production */ = {
     33770                        isa = XCBuildConfiguration;
     33771                        baseConfigurationReference = 1CDD45E50BA9C84600F90147 /* WebCore.xcconfig */;
     33772                        buildSettings = {
     33773                                CODE_SIGN_STYLE = Automatic;
     33774                                PRODUCT_NAME = "$(TARGET_NAME)";
     33775                        };
     33776                        name = Production;
     33777                };
    3371533778                5355E8D51F967E9D0031E08C /* Debug */ = {
    3371633779                        isa = XCBuildConfiguration;
     
    3382533888                        defaultConfigurationName = Production;
    3382633889                };
     33890                5325BDCB21DFF33A00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
     33891                        isa = XCConfigurationList;
     33892                        buildConfigurations = (
     33893                                5325BDC721DFF33900A0DEE1 /* Debug */,
     33894                                5325BDC821DFF33900A0DEE1 /* Release */,
     33895                                5325BDC921DFF33900A0DEE1 /* Production */,
     33896                        );
     33897                        defaultConfigurationIsVisible = 0;
     33898                        defaultConfigurationName = Production;
     33899                };
    3382733900                5355E8D41F967E9D0031E08C /* Build configuration list for PBXAggregateTarget "Generate Unified Sources" */ = {
    3382833901                        isa = XCConfigurationList;
  • trunk/Source/WebKit/ChangeLog

    r240516 r240517  
     12019-01-25  Keith Rollin  <krollin@apple.com>
     2
     3        Update Xcode projects with "Apply Configuration to XCFileLists" build target
     4        https://bugs.webkit.org/show_bug.cgi?id=193781
     5        <rdar://problem/47201153>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Part of generating the .xcfilelists used as part of adopting XCBuild
     10        includes running `make DerivedSources.make` from a standalone script.
     11        It’s important for this invocation to have the same environment as
     12        when the actual build invokes `make DerivedSources.make`. If the
     13        environments are different, then the two invocations will provide
     14        different results. In order to get the same environment in the
     15        standalone script, have the script launch xcodebuild targeting the
     16        "Apply Configuration to XCFileLists" build target, which will then
     17        re-invoke our standalone script. The script is now running again, this
     18        time in an environment with all workspace, project, target, xcconfig
     19        and other environment variables established.
     20
     21        The "Apply Configuration to XCFileLists" build target accomplishes
     22        this task via a small embedded shell script that consists only of:
     23
     24            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
     25
     26        The process that invokes "Apply Configuration to XCFileLists" first
     27        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
     28        evaluated and exports it into the shell environment. When xcodebuild
     29        is invoked, it inherits the value of this variable and can `eval` the
     30        contents of that variable. Our external standalone script can then set
     31        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
     32        of command-line parameters needed to restart itself in the appropriate
     33        state.
     34
     35        * WebKit.xcodeproj/project.pbxproj:
     36
    1372019-01-25  Alex Christensen  <achristensen@webkit.org>
    238
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r240484 r240517  
    3434                        name = "Generate Unified Sources";
    3535                        productName = "Derived Sources";
     36                };
     37                5325BDCD21DFF47700A0DEE1 /* Apply Configuration to XCFileLists */ = {
     38                        isa = PBXAggregateTarget;
     39                        buildConfigurationList = 5325BDD121DFF47800A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
     40                        buildPhases = (
     41                                5325BDD221DFF47C00A0DEE1 /* ShellScript */,
     42                        );
     43                        dependencies = (
     44                        );
     45                        name = "Apply Configuration to XCFileLists";
     46                        productName = "Apply Configuration to XCFileLists";
    3647                };
    3748                A7AADA1019395CA9003EA1C7 /* Sandbox Profiles */ = {
     
    1012410135                        isa = PBXProject;
    1012510136                        attributes = {
     10137                                DefaultBuildSystemTypeForWorkspace = Original;
    1012610138                                LastSwiftUpdateCheck = 0700;
    1012710139                                LastUpgradeCheck = 1000;
    1012810140                                TargetAttributes = {
     10141                                        5325BDCD21DFF47700A0DEE1 = {
     10142                                                CreatedOnToolsVersion = 10.1;
     10143                                                ProvisioningStyle = Automatic;
     10144                                        };
    1012910145                                        E1AC2E2720F7B94C00B0897D = {
    1013010146                                                CreatedOnToolsVersion = 9.3;
     
    1015710173                                A7AADA1019395CA9003EA1C7 /* Sandbox Profiles */,
    1015810174                                E1AC2E2720F7B94C00B0897D /* Unlock Keychain */,
     10175                                5325BDCD21DFF47700A0DEE1 /* Apply Configuration to XCFileLists */,
    1015910176                        );
    1016010177                };
     
    1044910466                        shellPath = /bin/sh;
    1045010467                        shellScript = "Scripts/process-network-sandbox-entitlements.sh\n";
     10468                };
     10469                5325BDD221DFF47C00A0DEE1 /* ShellScript */ = {
     10470                        isa = PBXShellScriptBuildPhase;
     10471                        buildActionMask = 2147483647;
     10472                        files = (
     10473                        );
     10474                        inputFileListPaths = (
     10475                        );
     10476                        inputPaths = (
     10477                        );
     10478                        outputFileListPaths = (
     10479                        );
     10480                        outputPaths = (
     10481                        );
     10482                        runOnlyForDeploymentPostprocessing = 0;
     10483                        shellPath = /bin/sh;
     10484                        shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
    1045110485                };
    1045210486                5DF408C5131DD46700130071 /* Check For Weak VTables and Externals */ = {
     
    1133311367                        name = Production;
    1133411368                };
     11369                5325BDCE21DFF47800A0DEE1 /* Debug */ = {
     11370                        isa = XCBuildConfiguration;
     11371                        baseConfigurationReference = BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */;
     11372                        buildSettings = {
     11373                                CODE_SIGN_STYLE = Automatic;
     11374                                PRODUCT_NAME = "$(TARGET_NAME)";
     11375                        };
     11376                        name = Debug;
     11377                };
     11378                5325BDCF21DFF47800A0DEE1 /* Release */ = {
     11379                        isa = XCBuildConfiguration;
     11380                        baseConfigurationReference = BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */;
     11381                        buildSettings = {
     11382                                CODE_SIGN_STYLE = Automatic;
     11383                                PRODUCT_NAME = "$(TARGET_NAME)";
     11384                        };
     11385                        name = Release;
     11386                };
     11387                5325BDD021DFF47800A0DEE1 /* Production */ = {
     11388                        isa = XCBuildConfiguration;
     11389                        baseConfigurationReference = BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */;
     11390                        buildSettings = {
     11391                                CODE_SIGN_STYLE = Automatic;
     11392                                PRODUCT_NAME = "$(TARGET_NAME)";
     11393                        };
     11394                        name = Production;
     11395                };
    1133511396                5D22D69B11A7534600BF30E5 /* Production */ = {
    1133611397                        isa = XCBuildConfiguration;
     
    1156911630                        defaultConfigurationName = Production;
    1157011631                };
     11632                5325BDD121DFF47800A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
     11633                        isa = XCConfigurationList;
     11634                        buildConfigurations = (
     11635                                5325BDCE21DFF47800A0DEE1 /* Debug */,
     11636                                5325BDCF21DFF47800A0DEE1 /* Release */,
     11637                                5325BDD021DFF47800A0DEE1 /* Production */,
     11638                        );
     11639                        defaultConfigurationIsVisible = 0;
     11640                        defaultConfigurationName = Production;
     11641                };
    1157111642                A7AADA1419395CA9003EA1C7 /* Build configuration list for PBXAggregateTarget "Sandbox Profiles" */ = {
    1157211643                        isa = XCConfigurationList;
  • trunk/Tools/ChangeLog

    r240516 r240517  
     12019-01-25  Keith Rollin  <krollin@apple.com>
     2
     3        Update Xcode projects with "Apply Configuration to XCFileLists" build target
     4        https://bugs.webkit.org/show_bug.cgi?id=193781
     5        <rdar://problem/47201153>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Part of generating the .xcfilelists used as part of adopting XCBuild
     10        includes running `make DerivedSources.make` from a standalone script.
     11        It’s important for this invocation to have the same environment as
     12        when the actual build invokes `make DerivedSources.make`. If the
     13        environments are different, then the two invocations will provide
     14        different results. In order to get the same environment in the
     15        standalone script, have the script launch xcodebuild targeting the
     16        "Apply Configuration to XCFileLists" build target, which will then
     17        re-invoke our standalone script. The script is now running again, this
     18        time in an environment with all workspace, project, target, xcconfig
     19        and other environment variables established.
     20
     21        The "Apply Configuration to XCFileLists" build target accomplishes
     22        this task via a small embedded shell script that consists only of:
     23
     24            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
     25
     26        The process that invokes "Apply Configuration to XCFileLists" first
     27        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
     28        evaluated and exports it into the shell environment. When xcodebuild
     29        is invoked, it inherits the value of this variable and can `eval` the
     30        contents of that variable. Our external standalone script can then set
     31        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
     32        of command-line parameters needed to restart itself in the appropriate
     33        state.
     34
     35        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
     36        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
     37
    1382019-01-25  Alex Christensen  <achristensen@webkit.org>
    239
  • trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj

    r238921 r240517  
    1818                        name = "Derived Sources";
    1919                        productName = All;
     20                };
     21                5325BDD321DFF4BD00A0DEE1 /* Apply Configuration to XCFileLists */ = {
     22                        isa = PBXAggregateTarget;
     23                        buildConfigurationList = 5325BDD721DFF4BE00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
     24                        buildPhases = (
     25                                5325BDD821DFF4C100A0DEE1 /* ShellScript */,
     26                        );
     27                        dependencies = (
     28                        );
     29                        name = "Apply Configuration to XCFileLists";
     30                        productName = "Apply Configuration to XCFileLists";
    2031                };
    2132                A84F608D08B1370600E9745F /* All */ = {
     
    960971                        isa = PBXProject;
    961972                        attributes = {
     973                                DefaultBuildSystemTypeForWorkspace = Original;
    962974                                LastSwiftUpdateCheck = 0700;
    963975                                LastUpgradeCheck = 1000;
     976                                TargetAttributes = {
     977                                        5325BDD321DFF4BD00A0DEE1 = {
     978                                                CreatedOnToolsVersion = 10.1;
     979                                                ProvisioningStyle = Automatic;
     980                                        };
     981                                };
    964982                        };
    965983                        buildConfigurationList = 149C29C308902C6D008A9EFC /* Build configuration list for PBXProject "DumpRenderTree" */;
     
    9831001                                141BF21E096A441D00E0753C /* TestNetscapePlugIn */,
    9841002                                2D403EB2150871F9005358D2 /* LayoutTestHelper */,
     1003                                5325BDD321DFF4BD00A0DEE1 /* Apply Configuration to XCFileLists */,
    9851004                        );
    9861005                };
     
    10181037                        shellPath = /bin/sh;
    10191038                        shellScript = "Scripts/generate-derived-sources.sh\n";
     1039                };
     1040                5325BDD821DFF4C100A0DEE1 /* ShellScript */ = {
     1041                        isa = PBXShellScriptBuildPhase;
     1042                        buildActionMask = 2147483647;
     1043                        files = (
     1044                        );
     1045                        inputFileListPaths = (
     1046                        );
     1047                        inputPaths = (
     1048                        );
     1049                        outputFileListPaths = (
     1050                        );
     1051                        outputPaths = (
     1052                        );
     1053                        runOnlyForDeploymentPostprocessing = 0;
     1054                        shellPath = /bin/sh;
     1055                        shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
    10201056                };
    10211057/* End PBXShellScriptBuildPhase section */
     
    12851321                        name = Production;
    12861322                };
     1323                5325BDD421DFF4BE00A0DEE1 /* Debug */ = {
     1324                        isa = XCBuildConfiguration;
     1325                        baseConfigurationReference = BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */;
     1326                        buildSettings = {
     1327                                CODE_SIGN_STYLE = Automatic;
     1328                                PRODUCT_NAME = "$(TARGET_NAME)";
     1329                        };
     1330                        name = Debug;
     1331                };
     1332                5325BDD521DFF4BE00A0DEE1 /* Release */ = {
     1333                        isa = XCBuildConfiguration;
     1334                        baseConfigurationReference = BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */;
     1335                        buildSettings = {
     1336                                CODE_SIGN_STYLE = Automatic;
     1337                                PRODUCT_NAME = "$(TARGET_NAME)";
     1338                        };
     1339                        name = Release;
     1340                };
     1341                5325BDD621DFF4BE00A0DEE1 /* Production */ = {
     1342                        isa = XCBuildConfiguration;
     1343                        baseConfigurationReference = BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */;
     1344                        buildSettings = {
     1345                                CODE_SIGN_STYLE = Automatic;
     1346                                PRODUCT_NAME = "$(TARGET_NAME)";
     1347                        };
     1348                        name = Production;
     1349                };
    12871350                90CBC3500F748B1300A712B7 /* Production */ = {
    12881351                        isa = XCBuildConfiguration;
     
    14541517                        defaultConfigurationName = Production;
    14551518                };
     1519                5325BDD721DFF4BE00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
     1520                        isa = XCConfigurationList;
     1521                        buildConfigurations = (
     1522                                5325BDD421DFF4BE00A0DEE1 /* Debug */,
     1523                                5325BDD521DFF4BE00A0DEE1 /* Release */,
     1524                                5325BDD621DFF4BE00A0DEE1 /* Production */,
     1525                        );
     1526                        defaultConfigurationIsVisible = 0;
     1527                        defaultConfigurationName = Production;
     1528                };
    14561529                A1158DAB18927E7B0088C17B /* Build configuration list for PBXNativeTarget "DumpRenderTree.app" */ = {
    14571530                        isa = XCConfigurationList;
  • trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj

    r240156 r240517  
    88
    99/* Begin PBXAggregateTarget section */
     10                5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */ = {
     11                        isa = PBXAggregateTarget;
     12                        buildConfigurationList = 5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
     13                        buildPhases = (
     14                                5325BDDE21DFF4F800A0DEE1 /* ShellScript */,
     15                        );
     16                        dependencies = (
     17                        );
     18                        name = "Apply Configuration to XCFileLists";
     19                        productName = "Apply Configuration to XCFileLists";
     20                };
    1021                A115CCB41B9D769D00E89159 /* All */ = {
    1122                        isa = PBXAggregateTarget;
     
    959970                        isa = PBXProject;
    960971                        attributes = {
     972                                DefaultBuildSystemTypeForWorkspace = Original;
    961973                                LastSwiftUpdateCheck = 0700;
    962974                                LastUpgradeCheck = 1000;
    963975                                TargetAttributes = {
     976                                        5325BDD921DFF4F500A0DEE1 = {
     977                                                CreatedOnToolsVersion = 10.1;
     978                                        };
    964979                                        A115CCB41B9D769D00E89159 = {
    965980                                                CreatedOnToolsVersion = 7.0;
     
    9871002                                BC952D7711F3BF5D003398B4 /* Derived Sources */,
    9881003                                A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */,
     1004                                5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */,
    9891005                        );
    9901006                };
     
    10271043
    10281044/* Begin PBXShellScriptBuildPhase section */
     1045                5325BDDE21DFF4F800A0DEE1 /* ShellScript */ = {
     1046                        isa = PBXShellScriptBuildPhase;
     1047                        buildActionMask = 2147483647;
     1048                        files = (
     1049                        );
     1050                        inputFileListPaths = (
     1051                        );
     1052                        inputPaths = (
     1053                        );
     1054                        outputFileListPaths = (
     1055                        );
     1056                        outputPaths = (
     1057                        );
     1058                        runOnlyForDeploymentPostprocessing = 0;
     1059                        shellPath = /bin/sh;
     1060                        shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
     1061                };
    10291062                BC952D8211F3BF78003398B4 /* Generate Derived Sources */ = {
    10301063                        isa = PBXShellScriptBuildPhase;
     
    12511284                        name = Production;
    12521285                };
     1286                5325BDDA21DFF4F500A0DEE1 /* Debug */ = {
     1287                        isa = XCBuildConfiguration;
     1288                        baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
     1289                        buildSettings = {
     1290                                CODE_SIGN_STYLE = Automatic;
     1291                                PRODUCT_NAME = "$(TARGET_NAME)";
     1292                        };
     1293                        name = Debug;
     1294                };
     1295                5325BDDB21DFF4F500A0DEE1 /* Release */ = {
     1296                        isa = XCBuildConfiguration;
     1297                        baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
     1298                        buildSettings = {
     1299                                CODE_SIGN_STYLE = Automatic;
     1300                                PRODUCT_NAME = "$(TARGET_NAME)";
     1301                        };
     1302                        name = Release;
     1303                };
     1304                5325BDDC21DFF4F500A0DEE1 /* Production */ = {
     1305                        isa = XCBuildConfiguration;
     1306                        baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
     1307                        buildSettings = {
     1308                                CODE_SIGN_STYLE = Automatic;
     1309                                PRODUCT_NAME = "$(TARGET_NAME)";
     1310                        };
     1311                        name = Production;
     1312                };
    12531313                A115CCB61B9D769D00E89159 /* Debug */ = {
    12541314                        isa = XCBuildConfiguration;
     
    13821442                        defaultConfigurationName = Production;
    13831443                };
     1444                5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
     1445                        isa = XCConfigurationList;
     1446                        buildConfigurations = (
     1447                                5325BDDA21DFF4F500A0DEE1 /* Debug */,
     1448                                5325BDDB21DFF4F500A0DEE1 /* Release */,
     1449                                5325BDDC21DFF4F500A0DEE1 /* Production */,
     1450                        );
     1451                        defaultConfigurationIsVisible = 0;
     1452                        defaultConfigurationName = Production;
     1453                };
    13841454                A115CCB51B9D769D00E89159 /* Build configuration list for PBXAggregateTarget "All" */ = {
    13851455                        isa = XCConfigurationList;
Note: See TracChangeset for help on using the changeset viewer.