/*
  Strings for the Tulsi Xcode project generator.
*/

/* Error when unable to resolve which RuleEntry is a dep of another based on DeploymentTargets. The target label is in %1$@. */
"AmbiguousRuleEntryReference" = "Unable to resolve proper configuration for target %1$@. Do you have a root-level library target set as a build target? Please check your Tulsi Config settings to make sure that no library targets are selected.";

/* Error to show when tulsi_supported_targets_aspect produced data that could not be parsed. The artifact filename is in %1$@, additional information is in %2$@. */
"BazelAspectSupportedTargetParsingFailed" = "Failed to parse information about supported target in '%1$@'. This is a Tulsi or Bazel bug, please report. Debug info: %2$@";

/* Error to show as an alert when the output generated by an aspect failed in some way. Details about the failure are available in the message log. */
"BazelAspectParsingFailedNotification" = "Failed to retrieve information about one or more targets. See the message log for details.";

/* Error to show when the bazel binary cannot be found at the previously saved location %1$@. */
"BazelBinaryNotFound" = "Bazel could not be found at \"%1$@\". Please update the path in the project file.";

/* Message to show when the bazel bin symlink name was not able to be extracted from the workspace. */
"BazelBinSymlinkNameNotFound" = "Was not able to extract the bazel bin symlink name from the workspace. This is a Tulsi or Bazel bug, please report.";

/* Error message for when a Bazel extractor did not complete successfully. Details are logged separately. */
"BazelInfoExtractionFailed" = "Failed to retrieve information about the Bazel workspace. This usually means that the contents of a BUILD file are incorrect or flags are missing. Read the message log carefully for details.";

/* Bazel response XML element %1$@ should have a valid string value but does not. */
"BazelResponseLabelAttributeInvalid" = "Bazel query returned an invalid, non-string convertible list element '%1$@'. This may be a Bazel bug or a BUILD file issue.";

/* Bazel response XML element %1$@ was found but was missing an attribute named %2$@. */
"BazelResponseMissingRequiredAttribute" = "Missing expected attribute named '%2$@' on element '%1$@'. This is a Tulsi or Bazel bug, please report.";

/* General error to show when the XML parser returns something other than an NSXMLElement. This should never happen in practice. */
"BazelResponseXMLNonElementType" = "Non element unexpectedly returned for query. This is a Tulsi bug, please report.";

/* Extractor Bazel output failed to be parsed as XML with error %1$@. This may be a Bazel bug or a bad BUILD file. */
"BazelResponseXMLParsingFailed" = "Bazel response XML parsing failed with error '%1$@'. This may be a Bazel bug or a BUILD file issue.";

/* Extracting path info from bazel failed. The exit code is %1$d. */
"BazelWorkspaceInfoQueryFailed" = "Failed to query information about the Bazel workspace. Bazel exited with code %1$d";

/* Bazel 'buildfiles' query failed to extract information. */
"BazelBuildfilesQueryFailed" = "Failed to query information about build files for this Bazel workspace. Skylark files and some BUILD files may be omitted from the project.";

/* Error when parsing a Bazel Build Event for BEP when running Bazel. */
"BazelParseBuildEventFailed" = "Failed to parse a Bazel Build Event. This may be a Tulsi bug, please report. Additional Context: %1$@";

/* Warning when a failure occurred while attempting to bootstrap the user's LLDBInit file. */
"BootstrapLLDBInitFailed" = "Failed to bootstrap LLDBInit file, bootstrapping script returned error code %1$d, %2$@.";

/* Warning when a failure occurred while cleaning dSYMs in the SQLite store used by the DBGShellCommands script. */
"CleanCachedDsymsFailed" = "Failed to clean cache of dSYMs, clean script returned error code %1$d, %2$@.";

/* Failed to copy an important file resource, the resulting project will most likely be broken. A bug should be reported. */
"CopyingResourceFailed" = "Failed to copy project resource '%1$@' to '%2$@'. The generated project will probably malfunction, please report. Error: %3$@";

/* Failed to create folders for generated artifacts %1$@. The generated Xcode project may need to be reloaded after the first build. */
"CreatingGeneratedArtifactFoldersFailed" = "Failed to pre-create folders for generated artifacts. The generated project may need to be reloaded manually after the first build. Failed paths: %1$@";

/* Provides general information about a Bazel command; a more detailed error may be reported elsewhere. The Bazel command is %1$@, exit code is %2$d, stderr %3$@. */
"DebugInfoForBazelCommand" = "Bazel command info:\n%1$@\nExited with code %2$d\n\n%3$@";

/* A RuleEntry that depends on another did not have a DeploymentTarget set. The RuleEntry's label is %1$@, the dep's label is in %2$@. */
"DependentRuleEntryHasNoDeploymentTarget" = "Error resolving RuleEntry dep. Target %1$@ depends on %2$@ yet it does not have a DeploymentTarget set. Please report this as a Tulsi bug.";

/* Failed to create an important directory. The resulting project will most likely be broken. A bug should be reported. */
"DirectoryCreationFailed" = "Failed to create directory '%1$@'. The generated project will probably malfunction, please report. Error: %2$@";

/* We have multiple identical RuleEntries, meaning they have the same BuildLabel and Deployment Target. The RuleEntry's label is %1$@, the DeploymentTarget is in %2$@. */
"DuplicateRuleEntries" = "Multiple entries were found for target %1$@ with a deployment target of %2$@. This may be due to building this target at the top-level as well as a transitive dep of a different top-level target. You may experience some issues with this target in the generated Xcode project. This may be hard to debug, please report.";

/* Message to show when the execution root was not able to be extracted from the workspace. */
"ExecutionRootNotFound" = "Was not able to extract the execution root from the workspace. This is a Tulsi or Bazel bug, please report.";

/* Message to show when unable to extract the default swift version from xcrun. */
"ExtractingDefaultSwiftVersionFailed" = "Unable to extract default swift version from xcrun. Defaulting to swift version %1$@. Additional error context: %2$@.";

/* Failed to readString from FileLineReader when handling the BEP file. */
"FileLineReaderReadStringFailed" = "Failed to readString from the BEP JSON file. This is a Tulsi or Bazel bug, please report.";

/* Failed to find a watchOS application extension with the given name. The project will not be able to launch the watch app. */
"FindingWatchExtensionFailed" = "Failed to find watchOS extension '%1$@'. The generated project will not able to run the watch app.";

/* Message to show when we are not able to generate the Python script containing the project's Bazel build settings. */
"GeneratingBazelBuildSettingsFailed" = "Could not generate a script that contains the build settings for the project. This is a Tulsi bug, please report. Additional error context: %1$@";

/* Message to show when loading a .xccurrentversion file fails. */
"LoadingXCCurrentVersionFailed" = "Failed to determine the current version for a versioned group %1$@. The generated project may malfunction. Error: %2$@";

/* Warning to show when a user has selected an XCTest but not its host application. */
"MissingTestHost" = "Failed to link test target '%1$@' to its host, '%2$@'. This test will not be runnable in the generated Xcode project.";

/* Warning when multiple bundled targets have different minimum OS versions. Platform type in %1$@, context in %2$@. */
"MultiMinOSVersions" = "You have multiple top-level %1$@ bundle targets (e.g. applications or tests) with different minimum %1$@ versions.\nUnless this is intentional (e.g. due to extension or API restrictions where a different version is needed for some targets), we strongly advise you to use a single minimum OS version for these targets in order to save Bazel build time and Xcode indexing time. You can fix this by setting a single `minimum_os_version` attribute on all of the targets mentioned below:\n------------------------\n%2$@\n------------------------";

/* Warning to show when a RuleEntry does not have a DeploymentTarget to be used by the indexer. */
"NoDeploymentTarget" = "Target %1$@ has no DeploymentTarget set. Defaulting to iOS 9. This is an unexpected problem and should be reported as a Tulsi bug.";

/* Warning shown when none of the tests of a test suite %1$@ were able to be resolved. */
"TestSuiteHasNoValidTests" = "Failed to resolve any tests for test_suite '%1$@', no scheme will be generated.";

/* Warning shown when a non XCTest %1$@ is included in a test suite %2$@ and will be ignored. */
"TestSuiteIncludesNonXCTest" = "test_suite '%2$@' includes non-xctest '%1$@'. Xcode test schemes cannot include targets of this type so it will be ignored when running the suite.";

/* Warning shown when the test host for a test %1$@ inside test suite %2$@ could not be found. The test will be ignored, but this state is unexpected and should be reported. */
"TestSuiteTestHostResolutionFailed" = "Failed to resolve host for test '%1$@', it will be ignored in test_suite '%2$@'. This is an unexpected problem and should be reported as a Tulsi bug.";

/* Warning shown when a test_suite %1$@ refers to a test label %2$@ that was not resolved and will be ignored */
"TestSuiteUsesUnresolvedTarget" = "Test suite '%1$@' refers to test '%2$@' which failed to load. The test will be ignored when running the suite.";

/* Failure to look up a Bazel target that was expected to be present. The target label is %1$@ */
"UnknownTargetRule" = "Failed to load information for Bazel target '%1$@'. This may be a Bazel bug or a BUILD file issue.";

/* Warning shown when generation of an Xcode scheme failed for build target %1$@ */
"XCSchemeGenerationFailed" = "Failed to resolve target '%1$@', skipping scheme generation.";

/* Warning shown when generating an Xcode schema for target %1$@ which uses unsupported legacy ios_extension rule */
"LegacyIOSExtensionNotSupported" = "iOS extension %1$@ is using legacy packaging rules which is not supported. Please migrate to the new rules.";

/* Warning when updating the user's DBGShellCommands script in ~/Library/Application Support/Tulsi failed. */
"UpdatingDBGShellCommandsFailed" = "Failed to update the DBGShellCommands script used to locate dSYM bundles: received error '%1$@'.";

/* Warning shown when failing to update the tulsi-workspace symlink to the Bazel execution root. tulsi-workspace path is in %1$@, additional error context in %2$@. */
"UpdatingTulsiWorkspaceSymlinkFailed" = "Failed to update the %1$@ symlink to the Bazel execution root. Additional context: %2$@";

/* Warning when installing the module cache pruner executable to ~/Library/Application Support/Tulsi failed. */
"InstallModuleCachePrunerFailed" = "Failed to install the module cache pruner executable used avoid an lldb crash during the explicit module migration: received error '%1$@'.";