Changeset 233770 in webkit


Ignore:
Timestamp:
Jul 12, 2018, 10:00:58 AM (7 years ago)
Author:
ap@apple.com
Message:

[Mac] Run Unlock Keychain more reliably
https://bugs.webkit.org/show_bug.cgi?id=187604

Reviewed by Dan Bernstein.

Move unlocking to a separate target, and make it a dependency for all targets that
produce binaries.

This is more than strictly required to fix the build, but this way, we won't need
to remember about keychain when project structure changes. Another consideration that
wasn't initially apparent to me is that is should be possible to build any target,
not just "All", so projects aren't necessarily built in the same order even now.

  • WebKit.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r233769 r233770  
     12018-07-12  Alexey Proskuryakov  <ap@apple.com>
     2
     3        [Mac] Run Unlock Keychain more reliably
     4        https://bugs.webkit.org/show_bug.cgi?id=187604
     5
     6        Reviewed by Dan Bernstein.
     7
     8        Move unlocking to a separate target, and make it a dependency for all targets that
     9        produce binaries.
     10       
     11        This is more than strictly required to fix the build, but this way, we won't need
     12        to remember about keychain when project structure changes. Another consideration that
     13        wasn't initially apparent to me is that is should be possible to build any target,
     14        not just "All", so projects aren't necessarily built in the same order even now.
     15
     16        * WebKit.xcodeproj/project.pbxproj:
     17
    1182018-07-12  Per Arne Vollan  <pvollan@apple.com>
    219
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r233752 r233770  
    4848                        name = "Derived Sources";
    4949                        productName = "Derived Sources";
     50                };
     51                E1AC2E2720F7B94C00B0897D /* Unlock Keychain */ = {
     52                        isa = PBXAggregateTarget;
     53                        buildConfigurationList = E1AC2E2B20F7B94C00B0897D /* Build configuration list for PBXAggregateTarget "Unlock Keychain" */;
     54                        buildPhases = (
     55                                E1AC2E2C20F7B95800B0897D /* Unlock Keychain */,
     56                        );
     57                        dependencies = (
     58                        );
     59                        name = "Unlock Keychain";
     60                        productName = "Unlock keychain";
    5061                };
    5162/* End PBXAggregateTarget section */
     
    23102321                        remoteGlobalIDString = BC3DE46515A91763008D26FC;
    23112322                        remoteInfo = WebKit2Service;
     2323                };
     2324                E1AC2E2D20F7B98800B0897D /* PBXContainerItemProxy */ = {
     2325                        isa = PBXContainerItemProxy;
     2326                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2327                        proxyType = 1;
     2328                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2329                        remoteInfo = "Unlock Keychain";
     2330                };
     2331                E1AC2E2F20F7B98E00B0897D /* PBXContainerItemProxy */ = {
     2332                        isa = PBXContainerItemProxy;
     2333                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2334                        proxyType = 1;
     2335                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2336                        remoteInfo = "Unlock Keychain";
     2337                };
     2338                E1AC2E3120F7B99B00B0897D /* PBXContainerItemProxy */ = {
     2339                        isa = PBXContainerItemProxy;
     2340                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2341                        proxyType = 1;
     2342                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2343                        remoteInfo = "Unlock Keychain";
     2344                };
     2345                E1AC2E3320F7B99E00B0897D /* PBXContainerItemProxy */ = {
     2346                        isa = PBXContainerItemProxy;
     2347                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2348                        proxyType = 1;
     2349                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2350                        remoteInfo = "Unlock Keychain";
     2351                };
     2352                E1AC2E3520F7B9A100B0897D /* PBXContainerItemProxy */ = {
     2353                        isa = PBXContainerItemProxy;
     2354                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2355                        proxyType = 1;
     2356                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2357                        remoteInfo = "Unlock Keychain";
     2358                };
     2359                E1AC2E3720F7B9A300B0897D /* PBXContainerItemProxy */ = {
     2360                        isa = PBXContainerItemProxy;
     2361                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2362                        proxyType = 1;
     2363                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2364                        remoteInfo = "Unlock Keychain";
     2365                };
     2366                E1AC2E3920F7B9A700B0897D /* PBXContainerItemProxy */ = {
     2367                        isa = PBXContainerItemProxy;
     2368                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2369                        proxyType = 1;
     2370                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2371                        remoteInfo = "Unlock Keychain";
     2372                };
     2373                E1AC2E3B20F7B9AA00B0897D /* PBXContainerItemProxy */ = {
     2374                        isa = PBXContainerItemProxy;
     2375                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2376                        proxyType = 1;
     2377                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2378                        remoteInfo = "Unlock Keychain";
     2379                };
     2380                E1AC2E3D20F7B9C000B0897D /* PBXContainerItemProxy */ = {
     2381                        isa = PBXContainerItemProxy;
     2382                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     2383                        proxyType = 1;
     2384                        remoteGlobalIDString = E1AC2E2720F7B94C00B0897D;
     2385                        remoteInfo = "Unlock Keychain";
    23122386                };
    23132387/* End PBXContainerItemProxy section */
     
    99149988                        );
    99159989                        dependencies = (
     9990                                E1AC2E2E20F7B98800B0897D /* PBXTargetDependency */,
    99169991                        );
    99179992                        name = PluginProcessShim;
     
    992810003                                372EBB3D2017E64300085064 /* Frameworks */,
    992910004                                372EBB402017E64300085064 /* Resources */,
    9930                                 7A35F24F20BDAF8B003958EC /* Unlock keychain */,
    993110005                                7AFCBD5520B8917D00F55C9C /* Process WebContent entitlements */,
    993210006                        );
     
    993410008                        );
    993510009                        dependencies = (
     10010                                E1AC2E3420F7B99E00B0897D /* PBXTargetDependency */,
    993610011                                372EBB392017E64300085064 /* PBXTargetDependency */,
    993710012                        );
     
    995210027                        );
    995310028                        dependencies = (
     10029                                E1AC2E3020F7B98E00B0897D /* PBXTargetDependency */,
    995410030                        );
    995510031                        name = SecItemShim;
     
    996910045                        );
    997010046                        dependencies = (
     10047                                E1AC2E3C20F7B9AA00B0897D /* PBXTargetDependency */,
    997110048                                375E0627191EA8CC004E3CAF /* PBXTargetDependency */,
    997210049                        );
     
    1000610083                        );
    1000710084                        dependencies = (
     10085                                E1AC2E3E20F7B9C000B0897D /* PBXTargetDependency */,
    1000810086                                37F7407912721F740093869B /* PBXTargetDependency */,
    1000910087                                37B1D0141C1E421100D67FE9 /* PBXTargetDependency */,
     
    1002410102                                BCDC308D15FDB99A006B6695 /* Frameworks */,
    1002510103                                BC3DE46415A91763008D26FC /* Resources */,
    10026                                 7A35F24E20BDAE40003958EC /* Unlock keychain */,
    1002710104                                7AFCBD5420B8911D00F55C9C /* Process WebContent entitlements */,
    1002810105                        );
     
    1003010107                        );
    1003110108                        dependencies = (
     10109                                E1AC2E3220F7B99B00B0897D /* PBXTargetDependency */,
    1003210110                                375E0633191EA909004E3CAF /* PBXTargetDependency */,
    1003310111                        );
     
    1004810126                        );
    1004910127                        dependencies = (
     10128                                E1AC2E3620F7B9A100B0897D /* PBXTargetDependency */,
    1005010129                                375E0631191EA904004E3CAF /* PBXTargetDependency */,
    1005110130                        );
     
    1006610145                        );
    1006710146                        dependencies = (
     10147                                E1AC2E3820F7B9A300B0897D /* PBXTargetDependency */,
    1006810148                                375E063F191EAA33004E3CAF /* PBXTargetDependency */,
    1006910149                        );
     
    1008410164                        );
    1008510165                        dependencies = (
     10166                                E1AC2E3A20F7B9A700B0897D /* PBXTargetDependency */,
    1008610167                                375E062B191EA8D4004E3CAF /* PBXTargetDependency */,
    1008710168                        );
     
    1009910180                                LastSwiftUpdateCheck = 0700;
    1010010181                                LastUpgradeCheck = 0700;
     10182                                TargetAttributes = {
     10183                                        E1AC2E2720F7B94C00B0897D = {
     10184                                                CreatedOnToolsVersion = 9.3;
     10185                                                ProvisioningStyle = Automatic;
     10186                                        };
     10187                                };
    1010110188                        };
    1010210189                        buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "WebKit" */;
     
    1012810215                                51F7DC3F180CC93600212CA3 /* Databases */,
    1012910216                                A7AADA1019395CA9003EA1C7 /* Sandbox Profiles */,
     10217                                E1AC2E2720F7B94C00B0897D /* Unlock Keychain */,
    1013010218                        );
    1013110219                };
     
    1040810496                        shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ] || [ \"${ACTION}\" = \"installapi\" ]; then\n    exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-files-in-framework ]; then\n    ../../Tools/Scripts/check-for-inappropriate-files-in-framework || exit $?\nfi\n";
    1040910497                };
    10410                 7A35F24E20BDAE40003958EC /* Unlock keychain */ = {
    10411                         isa = PBXShellScriptBuildPhase;
    10412                         buildActionMask = 2147483647;
    10413                         files = (
    10414                         );
    10415                         inputPaths = (
    10416                         );
    10417                         name = "Unlock keychain";
    10418                         outputPaths = (
    10419                         );
    10420                         runOnlyForDeploymentPostprocessing = 0;
    10421                         shellPath = /bin/sh;
    10422                         shellScript = "UNLOCK_SCRIPT_PATH=\"${SRCROOT}/../../../Internal/Tools/Scripts/unlock-safari-engineering-keychain-if-needed\"\n\n[[ -x \"${UNLOCK_SCRIPT_PATH}\" ]] && exec \"${UNLOCK_SCRIPT_PATH}\"\n\nexit 0\n";
    10423                 };
    10424                 7A35F24F20BDAF8B003958EC /* Unlock keychain */ = {
    10425                         isa = PBXShellScriptBuildPhase;
    10426                         buildActionMask = 2147483647;
    10427                         files = (
    10428                         );
    10429                         inputPaths = (
    10430                         );
    10431                         name = "Unlock keychain";
    10432                         outputPaths = (
    10433                         );
    10434                         runOnlyForDeploymentPostprocessing = 0;
    10435                         shellPath = /bin/sh;
    10436                         shellScript = "UNLOCK_SCRIPT_PATH=\"${SRCROOT}/../../../Internal/Tools/Scripts/unlock-safari-engineering-keychain-if-needed\"\n\n[[ -x \"${UNLOCK_SCRIPT_PATH}\" ]] && exec \"${UNLOCK_SCRIPT_PATH}\"\n\nexit 0\n";
    10437                 };
    1043810498                7A35F25020BDB7CC003958EC /* Remove stale entitlement file */ = {
    1043910499                        isa = PBXShellScriptBuildPhase;
     
    1058310643                        shellPath = /bin/sh;
    1058410644                        shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit2\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit2\"\n\nexport WebKit2=\"${SRCROOT}\"\n\n/bin/ln -sfh \"${JAVASCRIPTCORE_PRIVATE_HEADERS_DIR}\" JavaScriptCorePrivateHeaders\nexport JavaScriptCore_SCRIPTS_DIR=\"JavaScriptCorePrivateHeaders\"\n\nif [ ! $CC ]; then\n    export CC=\"`xcrun -find clang`\"\nfi\n\nMAKEFILE_INCLUDE_FLAGS=$(echo \"${WEBKITADDITIONS_HEADER_SEARCH_PATHS}\" | perl -e 'print \"-I\" . join(\" -I\", split(\" \", <>));')\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n    make --no-builtin-rules ${MAKEFILE_INCLUDE_FLAGS} -f \"${WebKit2}/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.activecpu` SDKROOT=${SDKROOT}\nfi\n";
     10645                };
     10646                E1AC2E2C20F7B95800B0897D /* Unlock Keychain */ = {
     10647                        isa = PBXShellScriptBuildPhase;
     10648                        buildActionMask = 2147483647;
     10649                        files = (
     10650                        );
     10651                        inputPaths = (
     10652                        );
     10653                        name = "Unlock Keychain";
     10654                        outputPaths = (
     10655                        );
     10656                        runOnlyForDeploymentPostprocessing = 0;
     10657                        shellPath = /bin/sh;
     10658                        shellScript = "UNLOCK_SCRIPT_PATH=\"${SRCROOT}/../../../Internal/Tools/Scripts/unlock-safari-engineering-keychain-if-needed\"\n\n[[ -x \"${UNLOCK_SCRIPT_PATH}\" ]] && exec \"${UNLOCK_SCRIPT_PATH}\"\n\nexit 0\n";
    1058510659                };
    1058610660/* End PBXShellScriptBuildPhase section */
     
    1172611800                        targetProxy = BCA8D46715BCE0D6009DC1F1 /* PBXContainerItemProxy */;
    1172711801                };
     11802                E1AC2E2E20F7B98800B0897D /* PBXTargetDependency */ = {
     11803                        isa = PBXTargetDependency;
     11804                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11805                        targetProxy = E1AC2E2D20F7B98800B0897D /* PBXContainerItemProxy */;
     11806                };
     11807                E1AC2E3020F7B98E00B0897D /* PBXTargetDependency */ = {
     11808                        isa = PBXTargetDependency;
     11809                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11810                        targetProxy = E1AC2E2F20F7B98E00B0897D /* PBXContainerItemProxy */;
     11811                };
     11812                E1AC2E3220F7B99B00B0897D /* PBXTargetDependency */ = {
     11813                        isa = PBXTargetDependency;
     11814                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11815                        targetProxy = E1AC2E3120F7B99B00B0897D /* PBXContainerItemProxy */;
     11816                };
     11817                E1AC2E3420F7B99E00B0897D /* PBXTargetDependency */ = {
     11818                        isa = PBXTargetDependency;
     11819                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11820                        targetProxy = E1AC2E3320F7B99E00B0897D /* PBXContainerItemProxy */;
     11821                };
     11822                E1AC2E3620F7B9A100B0897D /* PBXTargetDependency */ = {
     11823                        isa = PBXTargetDependency;
     11824                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11825                        targetProxy = E1AC2E3520F7B9A100B0897D /* PBXContainerItemProxy */;
     11826                };
     11827                E1AC2E3820F7B9A300B0897D /* PBXTargetDependency */ = {
     11828                        isa = PBXTargetDependency;
     11829                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11830                        targetProxy = E1AC2E3720F7B9A300B0897D /* PBXContainerItemProxy */;
     11831                };
     11832                E1AC2E3A20F7B9A700B0897D /* PBXTargetDependency */ = {
     11833                        isa = PBXTargetDependency;
     11834                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11835                        targetProxy = E1AC2E3920F7B9A700B0897D /* PBXContainerItemProxy */;
     11836                };
     11837                E1AC2E3C20F7B9AA00B0897D /* PBXTargetDependency */ = {
     11838                        isa = PBXTargetDependency;
     11839                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11840                        targetProxy = E1AC2E3B20F7B9AA00B0897D /* PBXContainerItemProxy */;
     11841                };
     11842                E1AC2E3E20F7B9C000B0897D /* PBXTargetDependency */ = {
     11843                        isa = PBXTargetDependency;
     11844                        target = E1AC2E2720F7B94C00B0897D /* Unlock Keychain */;
     11845                        targetProxy = E1AC2E3D20F7B9C000B0897D /* PBXContainerItemProxy */;
     11846                };
    1172811847/* End PBXTargetDependency section */
    1172911848
     
    1204112160                        name = Production;
    1204212161                };
     12162                E1AC2E2820F7B94C00B0897D /* Debug */ = {
     12163                        isa = XCBuildConfiguration;
     12164                        buildSettings = {
     12165                                CODE_SIGN_STYLE = Automatic;
     12166                                PRODUCT_NAME = "$(TARGET_NAME)";
     12167                        };
     12168                        name = Debug;
     12169                };
     12170                E1AC2E2920F7B94C00B0897D /* Release */ = {
     12171                        isa = XCBuildConfiguration;
     12172                        buildSettings = {
     12173                                CODE_SIGN_STYLE = Automatic;
     12174                                PRODUCT_NAME = "$(TARGET_NAME)";
     12175                        };
     12176                        name = Release;
     12177                };
     12178                E1AC2E2A20F7B94C00B0897D /* Production */ = {
     12179                        isa = XCBuildConfiguration;
     12180                        buildSettings = {
     12181                                CODE_SIGN_STYLE = Automatic;
     12182                                PRODUCT_NAME = "$(TARGET_NAME)";
     12183                        };
     12184                        name = Production;
     12185                };
    1204312186/* End XCBuildConfiguration section */
    1204412187
     
    1217412317                        defaultConfigurationName = Production;
    1217512318                };
     12319                E1AC2E2B20F7B94C00B0897D /* Build configuration list for PBXAggregateTarget "Unlock Keychain" */ = {
     12320                        isa = XCConfigurationList;
     12321                        buildConfigurations = (
     12322                                E1AC2E2820F7B94C00B0897D /* Debug */,
     12323                                E1AC2E2920F7B94C00B0897D /* Release */,
     12324                                E1AC2E2A20F7B94C00B0897D /* Production */,
     12325                        );
     12326                        defaultConfigurationIsVisible = 0;
     12327                        defaultConfigurationName = Production;
     12328                };
    1217612329/* End XCConfigurationList section */
    1217712330        };
Note: See TracChangeset for help on using the changeset viewer.