Class AppleConfig

    • Field Detail

      • DEFAULT_IDENTITIES_COMMAND

        public static final com.google.common.collect.ImmutableList<String> DEFAULT_IDENTITIES_COMMAND
      • DEFAULT_READ_COMMAND

        public static final com.google.common.collect.ImmutableList<String> DEFAULT_READ_COMMAND
    • Method Detail

      • getAppleDeveloperDirectorySupplier

        public java.util.function.Supplier<Optional<Path>> getAppleDeveloperDirectorySupplier​(ProcessExecutor processExecutor)
        If specified, the value of [apple] xcode_developer_dir wrapped in a Supplier. Otherwise, this returns a Supplier that lazily runs xcode-select --print-path and caches the result.
      • getIdbPath

        public Path getIdbPath()
        Gets the path to the executable file of idb
        Returns:
        a custom path if it was passed in the config, the default path otherwise
      • useIdb

        public boolean useIdb()
        Determines whether to use idb install functions or simctl; current default is to not use idb
        Returns:
        true it is supposed to use idb, false otherwise
      • getXcodeDeveloperDirectoryForTests

        public Optional<String> getXcodeDeveloperDirectoryForTests()
      • getExtraToolchainPaths

        public com.google.common.collect.ImmutableList<Path> getExtraToolchainPaths()
      • getExtraPlatformPaths

        public com.google.common.collect.ImmutableList<Path> getExtraPlatformPaths()
      • getXctestPlatformNames

        public com.google.common.collect.ImmutableList<String> getXctestPlatformNames()
      • getCodesignProvider

        public ToolProvider getCodesignProvider()
      • getCodesignTimeout

        public java.time.Duration getCodesignTimeout()
        Specify the maximum code-signing time before timing out.
      • getXctoolDefaultDestinationSpecifier

        public Optional<String> getXctoolDefaultDestinationSpecifier()
      • getXctoolStutterTimeoutMs

        public Optional<Long> getXctoolStutterTimeoutMs()
      • getXcodeDisableParallelizeBuild

        public boolean getXcodeDisableParallelizeBuild()
      • useDryRunCodeSigning

        public boolean useDryRunCodeSigning()
      • cacheBundlesAndPackages

        public boolean cacheBundlesAndPackages()
      • linkAllObjC

        public boolean linkAllObjC()
      • getAppleDeviceHelperAbsolutePath

        public Optional<Path> getAppleDeviceHelperAbsolutePath()
      • getProvisioningProfileSearchPath

        public Path getProvisioningProfileSearchPath()
      • shouldUseHeaderMapsInXcodeProject

        public boolean shouldUseHeaderMapsInXcodeProject()
      • shouldMergeHeaderMapsInXcodeProject

        public boolean shouldMergeHeaderMapsInXcodeProject()
      • shouldGenerateHeaderSymlinkTreesOnly

        public boolean shouldGenerateHeaderSymlinkTreesOnly()
      • shouldGenerateMissingUmbrellaHeaders

        public boolean shouldGenerateMissingUmbrellaHeaders()
      • shouldUseSwiftDelegate

        public boolean shouldUseSwiftDelegate()
      • shouldVerifyBundleResources

        public boolean shouldVerifyBundleResources()
      • shouldAddLinkedLibrariesAsFlags

        public boolean shouldAddLinkedLibrariesAsFlags()
      • shouldLinkSystemSwift

        public boolean shouldLinkSystemSwift()
      • shouldIncludeSharedLibraryResources

        public boolean shouldIncludeSharedLibraryResources()
      • shouldAddLinkerFlagsForLinkWholeLibraries

        public boolean shouldAddLinkerFlagsForLinkWholeLibraries()
      • getForceLoadLibraryPath

        public String getForceLoadLibraryPath​(boolean isFocusedTarget)
      • getTestLogDirectoryEnvironmentVariable

        public String getTestLogDirectoryEnvironmentVariable()
      • getTestLogLevelEnvironmentVariable

        public String getTestLogLevelEnvironmentVariable()
      • getTestLogLevel

        public String getTestLogLevel()
      • getDefaultDebugInfoFormatForBinaries

        public AppleDebugFormat getDefaultDebugInfoFormatForBinaries()
      • getDefaultDebugInfoFormatForTests

        public AppleDebugFormat getDefaultDebugInfoFormatForTests()
      • getDefaultDebugInfoFormatForLibraries

        public AppleDebugFormat getDefaultDebugInfoFormatForLibraries()
      • getProvisioningProfileReadCommand

        public com.google.common.collect.ImmutableList<String> getProvisioningProfileReadCommand()
      • getCodeSignIdentitiesCommand

        public com.google.common.collect.ImmutableList<String> getCodeSignIdentitiesCommand()
      • getPackageConfigForPlatform

        public Optional<com.facebook.buck.apple.AppleConfig.ApplePackageConfig> getPackageConfigForPlatform​(ApplePlatform platform)
        Returns the custom packager command specified in the config, if defined.

        This is translated into the config value of apple.PLATFORMNAME_packager_command.

        Parameters:
        platform - the platform to query.
        Returns:
        the custom packager command specified in the config, if defined.
      • getToolchainsOverrideForSDKName

        public Optional<com.google.common.collect.ImmutableList<String>> getToolchainsOverrideForSDKName​(String name)
      • getXcodeToolReplacement

        public Optional<Path> getXcodeToolReplacement​(String toolName)
      • getXcodeToolName

        public String getXcodeToolName​(String toolName)
      • getXcodeToolVersion

        public String getXcodeToolVersion​(String toolName,
                                          String defaultToolVersion)
      • useFlavoredCxxSections

        public boolean useFlavoredCxxSections()
        Returns:
        whether to extend C/C++ platforms using config settings in cxx# sections instead of the unflavored cxx section.
      • addCellPathToIquotePath

        public boolean addCellPathToIquotePath()
        Returns:
        whether to add the cell path to the `-iquote` path for all compilations.
      • shouldWorkAroundDsymutilLTOStackOverflowBug

        public boolean shouldWorkAroundDsymutilLTOStackOverflowBug()
      • moduleMapMode

        public ModuleMapMode moduleMapMode()
        Returns:
        The module map mode to use for modular libraries.
      • shellPath

        public Path shellPath()
      • buildScriptPath

        public Path buildScriptPath()
      • useEntitlementsWhenAdhocCodeSigning

        public boolean useEntitlementsWhenAdhocCodeSigning()
        Returns:
        whether entitlements should be used during adhoc code signing phase (adhoc is used on simulator and macOS platforms).
      • shouldUseModernBuildSystem

        public boolean shouldUseModernBuildSystem()
      • shouldLinkScrubConcurrently

        public boolean shouldLinkScrubConcurrently()