Sources/Workspace/Workspace.swift (38 lines): - line 988: // FIXME: @testable internal - line 995: // FIXME: Need to add cancel support. - line 1019: // FIXME: this should not block - line 1252: // TODO: this does not use the identity resolver which is probably fine since its the root packages - line 1381: // TODO: Implement a more sophisticated check that also verifies if the file is in the sources directories of the passed in `packageGraph`. - line 1430: // FIXME: this should not block - line 1459: // TODO: replace with async/await when available - line 1486: // FIXME: We need this to work with InMem file system too. - line 1495: // FIXME: We should probably just warn in case we fail to create - line 1766: // FIXME: this is dropping legitimate packages with equal identities and should be revised as part of the identity work - line 1777: // FIXME: This should be an ordered set. - line 1781: // FIXME: adding this guard to ensure refactoring is correct 9/21 - line 1809: // FIXME: We shouldn't need to construct a new package reference object here. - line 1828: // FIXME: @testable(internal) - line 1838: // FIXME: We shouldn't need to construct a new package reference object here. - line 1951: let firstLevelManifests = try temp_await { self.loadManagedManifests(for: firstLevelDependencies, observabilityScope: observabilityScope, completion: $0) } // FIXME: this should not block - line 1962: // FIXME: this seems like hack, needs further investigation why this is needed - line 1999: // TODO: this check should go away when introducing explicit overrides - line 2181: // TODO: move more manifest validation in here from other parts of the code, e.g. from ManifestLoader - line 2261: // FIXME: We should be able to handle this case and also allow changed paths for registry and SCM downloads. - line 2417: // TODO: find a better way to get the base path (not via the manifest) - line 2474: // FIXME: would be nice if checksumAlgorithm.hash took Data directly - line 2480: // FIXME: this filter needs to become more sophisticated - line 2568: // TODO: Use the same extraction logic for both remote and local archived artifacts. - line 2747: // FIXME: this should not block - line 2839: // FIXME: this should not block - line 3026: // FIXME: this should not block - line 3038: // FIXME: We need to get the revision here, and we don't have a - line 3292: // TODO: replace with async/await when available - line 3333: // FIXME: This should probably be refactored into a switch statement to avoid missing new cases. - line 3495: // FIXME: Do we care about holding this open for the lifetime of the container. - line 3553: // FIXME: we should change the delegate to take identity instead of location - line 3596: // FIXME: this mixes quite a bit of workspace logic with repository specific one - line 3712: // FIXME: this should not block - line 3760: // FIXME: this should not block - line 3833: // FIXME: the manifest loading logic should be changed to use identity instead of location once identity is unique - line 3849: // FIXME: placeholder - line 3887: // FIXME: remove this when remove the single call site that uses it Sources/Xcodeproj/pbxproj.swift (17 lines): - line 51: // FIXME: Handle case insensitive filesystems. - line 78: name: "\(package.manifest.displayName)PackageDescription" // TODO: use identity instead? - line 112: // FIXME: This doesn't seem correct, but was what the old project generation - line 174: // FIXME: We should parameterize this so that a package can return the path - line 278: // FIXME: This is somewhat flaky; packages should have a notion of - line 339: // TODO: use identity instead - line 341: var groupName = package.manifest.displayName // TODO: use identity instead? - line 346: // FIXME: Eliminate filtering test from here. - line 387: // FIXME: We should factor this out. - line 453: // TODO: Extract version from SPM target (see SR-4265 and SR-12926). - line 498: // FIXME: Possibly factor this out into a separate protocol; the - line 504: // FIXME: We don't need SRCROOT macro below but there is an issue with sourcekit. - line 576: // FIXME: Support C++ headers. - line 658: // FIXME: We're depending on a target for which we didn't create - line 661: // FIXME: Or is it? What about system targets, can we depend - line 707: // TODO: We will need to decide how this should best be handled; it - line 796: // FIXME: This switch case is kind of sad but we need to convert Xcode's Sources/Xcodeproj/XcodeProjectModelSerialization.swift (17 lines): - line 51: // FIXME: Shoule we really? Why would we not want to get upgraded? - line 81: /// FIXME: It would be nicer to be able to use inheritance to serialize the - line 104: // FIXME: It would be nicer to be able to use inheritance for the code - line 123: // FIXME: It would be nicer to be able to use inheritance for the code - line 194: /// FIXME: It would be nicer to be able to use inheritance to serialize the - line 215: // FIXME: It would be nicer to be able to use inheritance for the code - line 227: // FIXME: It would be nicer to be able to use inheritance for the code - line 239: // FIXME: It would be nicer to be able to use inheritance for the code - line 251: // FIXME: It would be nicer to be able to use inheritance for the code - line 259: dict["dstPath"] = .string("") // FIXME: needs to be real - line 260: dict["dstSubfolderSpec"] = .string("") // FIXME: needs to be real - line 270: // FIXME: It would be nicer to be able to use inheritance for the code - line 277: dict["shellPath"] = .string("/bin/sh") // FIXME: should be settable - line 365: // FIXME: What is this, and why are we setting it? - line 367: // FIXME: Should we allow this to be set in the model? - line 545: // FIXME: This is a suboptimal format for object identifier strings; - line 608: /// FIXME: I'm not totally happy with how this looks. It's far too clunky Sources/Commands/SwiftTool.swift (15 lines): - line 68: // FIXME: Implement a class convenience initializer that does this once they are supported - line 436: // TODO: get rid of this global settings in TSC - line 527: customManifestLoader: self.getManifestLoader(), // FIXME: ideally we would not customize the manifest loader - line 528: customRepositoryProvider: repositoryProvider, // FIXME: ideally we would not customize the repository provider. its currently done for shutdown handling which can be better abstracted - line 537: // TODO: replace multiroot-data-file with explicit overrides - line 545: // TODO: replace multiroot-data-file with explicit overrides - line 554: // TODO: replace multiroot-data-file with explicit overrides - line 625: // TODO: replace multiroot-data-file with explicit overrides - line 719: // FIXME: At the moment we just pass the built products directory for the host. We will need to extend this - line 773: // FIXME: We don't add edited packages in the package structure command yet (SR-11254). - line 787: // FIXME: We need to implement the build tool invocation closure here so that build tool plugins work with dumping the symbol graph (the only case that currently goes through this path, as far as I can tell). rdar://86112934 - line 823: // FIXME: Implement the custom build command provider also. - line 987: // FIXME: It would be nice to move this to a generalized method which takes path and predicate and - line 1070: // TODO: do something useful with scope - line 1137: // FIXME: this is for backwards compatibility with existing diagnostics printing format Sources/Build/BuildPlan.swift (15 lines): - line 43: // FIXME: We use this hack to let swiftpm's functional test use shared - line 477: // FIXME: We should generate this file during the actual build. - line 650: // TODO: What should we do if we find non-Swift sources here? - line 659: // TODO: What should we do if we find non-Swift sources here? - line 725: // FIXME: We should generate this file during the actual build. - line 843: // FIXME: Do we always have a module? - line 849: // FIXME: Eliminate side effect. - line 888: // FIXME: Handle WMO - line 897: // FIXME: Maybe refactor these into "common args". - line 928: // FIXME: Eliminate side effect. - line 931: // FIXME: Handle WMO - line 977: // FIXME: Need to record this deps file for processing it later. - line 999: // FIXME: Need to record this deps file for processing it later. - line 1702: // FIXME: We need to find out if any product has a target on which it depends - line 1782: // FIXME: We should write this as a custom llbuild task once we adopt it Sources/PackageModel/PackageReference.swift (10 lines): - line 37: // FIXME: we should not need this once we migrate off URLs - line 50: // FIXME: this is a placeholder - line 55: // FIXME: we should not need this once we migrate off URLs - line 76: // FIXME: ideally this would not be required and we can check on the enum directly - line 101: // FIXME: we should not need this once we migrate off URLs - line 107: // FIXME: we should not need this once we migrate off URLs - line 130: // FIXME: this is a placeholder - line 162: // TODO: consider location as well? - line 167: // TODO: consider rolling into Equatable - line 174: // TODO: consider location as well? Sources/SourceControl/GitRepository.swift (9 lines): - line 105: // FIXME: Ideally we should pass `--progress` here and report status regularly. We currently don't have callbacks for that. - line 166: // FIXME: This is unfortunate that we have to fetch to update remote's data. - line 202: // FIXME: Currently, this class is serving two goals, it is the Repository - line 215: // FIXME: We should optimize this representation. - line 474: // FIXME: Audit behavior with off-branch tags in remote repositories, we - line 485: // FIXME: Audit behavior with off-branch tags in remote repositories, we - line 703: // FIXME: We do not handle de-quoting of names, currently. - line 719: // FIXME: We need to get the raw bytes back, not a String. - line 782: // FIXME: This needs to be optimized, somewhere. Sources/Commands/SwiftPackageTool.swift (9 lines): - line 262: // FIXME: This should be moved to user toolchain. - line 787: // TODO: enforce exclusivity - line 808: // FIXME: Probably lift this error definition to ToolsVersion. - line 866: let packageName = graph.rootPackages[0].manifest.displayName // TODO: use identity instead? - line 990: // TODO: Ask for approval here if connected to TTY; only emit an error if not. - line 1057: // TODO: We should also emit a final line of output regarding the result. - line 1448: // TODO: Ideally we should only resolve plugin dependencies, if we had a way of distinguishing them. - line 1531: projectName = graph.rootPackages[0].manifest.displayName // TODO: use identity instead? - line 1534: projectName = graph.rootPackages[0].manifest.displayName // TODO: use identity instead? Sources/Basics/Observability.swift (9 lines): - line 104: // FIXME: we want to remove this functionality and move to more conventional error handling - line 110: // FIXME: we want to remove this functionality and move to more conventional error handling - line 204: // FIXME: (diagnostics) deprecate this with Diagnostics.fatalError - line 219: // FIXME: (diagnostics) deprecate this with Diagnostics.fatalError - line 228: // TODO: consider using @autoclosure to delay potentially expensive evaluation of data when some diagnostics may be filtered out - line 276: // FIXME: this brings in the TSC API still - line 277: // FIXME: string interpolation seems brittle - line 368: // FIXME: we currently requires that Value conforms to CustomStringConvertible which sucks - line 430: // FIXME: this currently requires that Value conforms to CustomStringConvertible which sucks Sources/PackageLoading/ManifestLoader.swift (8 lines): - line 493: // FIXME: Temporary workaround to filter out debug output from integrated Swift driver. [rdar://73710910] - line 502: // FIXME: (diagnostics) deprecate in favor of the metadata version ^^ when transitioning manifest loader to Observability APIs - line 550: // FIXME: expose as user-facing configuration - line 560: // TODO: we could wrap the failure here with diagnostics if it wasn't optional throughout - line 624: // FIXME: (diagnostics) pass in observability scope when we have one - line 780: // FIXME: Workaround for the module cache bug that's been haunting Swift CI - line 938: // TODO: should this simply be an error? - line 1014: // FIXME: how do we test this? Sources/PackageGraph/Pubgrub/PubgrubDependencyResolver.swift (8 lines): - line 80: // FIXME: Shouldn't we check this _before_ making a decision? - line 226: // TODO: replace with async/await when available - line 246: // TODO: replace with async/await when available - line 301: // TODO: replace with async/await when available - line 350: // TODO: replace with async/await when avail - line 445: // TODO: replace with async/await when available - line 883: // FIXME: This will never happen I think. - line 1165: // FIXME: It would be nice to compute bounds for this as well. Sources/SPMBuildCore/PluginInvocation.swift (7 lines): - line 126: // TODO: Convert this function to be asynchronous, taking a completion closure. This may require changes to the package graph APIs to make them accessible concurrently. - line 300: // TODO: Memoize this result for the host triple - line 302: // TODO: Deal better with errors in parsing the artifacts - line 309: // TODO: How do we determine what the executable name will be for the host platform? - line 360: // TODO: In the future these should be folded into regular build commands when the build system can handle not knowing the names of all the outputs before the command runs. - line 375: // FIXME: This should be part of the Diagnostics APIs. - line 877: // FIXME: What do we do with any diagnostics here? Sources/XCBuildSupport/PIFBuilder.swift (7 lines): - line 113: let sortedPackages = graph.packages.sorted { $0.manifest.displayName < $1.manifest.displayName } // TODO: use identity instead? - line 127: name: rootPackage.manifest.displayName, // TODO: use identity instead? - line 249: name = package.manifest.displayName // TODO: use identity instead? - line 437: // FIXME: we shouldn't always include both the deep and shallow bundle paths here, but for that we'll need - line 792: let bundleName = "\(package.manifest.displayName)_\(target.name)" // TODO: use identity instead? - line 810: let bundleIdentifier = "\(package.manifest.displayName).\(target.name).resources".spm_mangledToBundleIdentifier() // TODO: use identity instead? - line 820: // FIXME: Handle rules here. Sources/PackageLoading/PackageBuilder.swift (7 lines): - line 435: // FIXME: This is generic functionality, and should move to FileSystem. - line 463: name: self.manifest.displayName, // FIXME: use identity instead? - line 599: // TODO: Do we need to filter out targets that aren't available on the host platform? - line 821: // FIXME: use identity instead? - line 840: platforms: self.platforms(), // FIXME: this should be host platform - line 1173: // FIXME: Ignore C language test targets on linux for now. - line 1194: // FIXME: use identity instead Sources/PackageModel/Manifest.swift (6 lines): - line 33: /// FIXME: deprecate this, there is no value in this once we have real package identifiers - line 36: // FIXME: deprecate this, this is not part of the manifest information, we just use it as a container for this data - line 37: // FIXME: This doesn't belong here, we want the Manifest to be purely tied - line 44: // FIXME: deprecate this, this is not part of the manifest information, we just use it as a container for this data - line 45: // FIXME: This doesn't belong here, we want the Manifest to be purely tied - line 56: // FIXME: deprecated 2/2021, remove once clients migrate Sources/Build/LLBuildManifestBuilder.swift (6 lines): - line 121: // FIXME: Need to handle version-specific manifests. - line 124: // FIXME: This won't be the location of Package.resolved for multiroot packages. - line 127: // FIXME: Add config file as an input - line 231: // FIXME: At some point SwiftPM should provide its own executor for - line 483: // FIXME: We need to ingest the emitted dependencies. - line 551: // FIXME: Optimize. Sources/Workspace/UserToolchain.swift (6 lines): - line 25: // FIXME: This is messy and needs a redesign. - line 87: // FIXME: This is only for SwiftPM development time support. It is OK - line 206: // FIXME: This might not be the best way to determine this. - line 337: // FIXME: We should have some general utility to find tools. - line 429: // FIXME: the following logic is pretty fragile, but has always been this way - line 463: // TODO: why is this only required on Windows? is there something better we can do? Sources/Workspace/DefaultPluginScriptRunner.swift (6 lines): - line 83: // TODO: Skip compiling the plugin script if it has already been compiled and hasn't changed. - line 128: // FIXME: Much of this is similar to what the ManifestLoader is doing. This should be consolidated. - line 327: // FIXME: This is copied from ManifestLoader. This should be consolidated when ManifestLoader is cleaned up. - line 350: // FIXME: This is copied from ManifestLoader. This should be consolidated when ManifestLoader is cleaned up. - line 404: // FIXME: We should probably report some kind of protocol error if the path isn't valid. - line 479: // FIXME: We should handle errors here. Sources/PackageModel/Target.swift (5 lines): - line 189: // FIXME: dependencies property is skipped on purpose as it points to - line 201: // FIXME: pluginUsages property is skipped on purpose as it points to - line 216: // FIXME: dependencies property is skipped on purpose as it points to - line 221: // FIXME: pluginUsages property is skipped on purpose as it points to - line 308: // FIXME: This is not very correct but doesn't matter much in practice. Sources/PackageGraph/PackageGraph+Loading.swift (5 lines): - line 107: // FIXME: Lift this out of the manifest. - line 180: // FIXME: Do/should we print a warning if a dependency has no products? - line 214: // FIXME: This shouldn't be needed once is fixed. - line 261: // FIXME: this works but the way we find out about this is based on a side effect, need to improve it - line 653: // FIXME: Convert to stack. Sources/Build/BuildOperation.swift (5 lines): - line 187: // FIXME: This is super unfortunate that we might need to load the package graph. - line 280: // FIXME: ideally this would be done outside of the planning phase, - line 284: // FIXME: this seems like the wrong place to print - line 341: // TODO: this seems fragile, perhaps we replace commandFailureHandler by adding relevant calls in the delegates chain - line 363: // TODO: We need to also use any working directory, but that support isn't yet available on all platforms at a lower level. Sources/Commands/SwiftTestTool.swift (5 lines): - line 114: // TODO: Remove this once the environment variable is no longer used. - line 157: // FIXME: We should surface errors from here. - line 726: // FIXME: It is weird to read Process's verbosity to determine this, we - line 984: // FIXME: This should contain the right elapsed time. - line 994: // FIXME: This is very minimal right now. We should allow including test output etc. Sources/PackageLoading/PkgConfig.swift (5 lines): - line 96: // FIXME: This is wasteful, we should be caching the PkgConfig result. - line 176: // FIXME: Should we error out instead if content is not UTF8 representable? - line 359: /// FIXME: This shouldn't use a static variable, since the first lookup - line 362: public private(set) static var pkgConfigPaths: [AbsolutePath]? // FIXME: @testable(internal) - line 414: // FIXME: We should consider building a registry for all items in the Sources/SPMPackageEditor/ManifestRewriter.swift (4 lines): - line 192: // FIXME: If we find a dependencies section but not an array expr, then we should - line 263: // FIXME: This is not correct, we need to find the - line 300: // FIXME: We should get the trivia from the closing brace. - line 321: // FIXME: Handle other types of requirements. Sources/PackageCollections/PackageIndex.swift (4 lines): - line 72: // TODO: rdar://87582621 call package index's get metadata API - line 115: // TODO: rdar://87582621 call package index's search API - line 154: // TODO: rdar://87582621 call package index's list API - line 211: // TODO: make these defaults configurable? Sources/PackageCollections/Providers/JSONPackageCollectionProvider.swift (4 lines): - line 28: // TODO: This can be removed when the `Security` framework APIs that the `PackageCollectionsSigning` - line 123: // TODO: store bad actors to prevent server DoS - line 307: // TODO: make these defaults configurable? - line 352: // TODO: where should we read defaults from? Sources/SPMPackageEditor/PackageEditor.swift (4 lines): - line 48: // FIXME: We need to handle version-specific manifests. - line 107: // FIXME: We should verify our edits by loading the edited manifest before writing it to disk. - line 118: // FIXME: We need to handle version-specific manifests. - line 130: // FIXME: We should verify our edits by loading the edited manifest before writing it to disk. Sources/SPMTestSupport/Observability.swift (4 lines): - line 59: // TODO: do something useful with scope - line 142: // FIXME: (diagnostics) compare complete metadata when legacy bridge is removed - line 169: // FIXME: (diagnostics) compare complete metadata when legacy bridge is removed - line 174: // FIXME: (diagnostics) compare complete metadata when legacy bridge is removed Sources/PackagePlugin/PackageManagerProxy.swift (3 lines): - line 31: // FIXME: We'll want to make this asynchronous when there is back deployment support for it. - line 131: // FIXME: We'll want to make this asynchronous when there is back deployment support for it. - line 208: // FIXME: We'll want to make this asynchronous when there is back deployment support for it. Sources/PackageCollections/Providers/GitHubPackageMetadataProvider.swift (3 lines): - line 69: // TODO: make `per_page` configurable? GitHub API's max/default is 100 - line 238: // FIXME: use Foundation.URL instead of string - line 276: // TODO: make these defaults configurable? Sources/PackageCollections/Storage/SQLitePackageCollectionsStorage.swift (3 lines): - line 42: // TODO: we could potentially optimize this with db connection pool - line 75: // TODO: we could wrap the failure here with diagnostics if it wasn't optional throughout - line 934: // FIXME: workaround linux sqlite concurrency issues causing CI failures Sources/PackageGraph/VersionSetSpecifier.swift (3 lines): - line 53: // FIXME: Can we avoid this? testConflict1 goes into a loop if we don't do this. - line 239: // FIXME: is this worth merging with the logic in (range, exact) case above? - line 286: // FIXME: We can exit the loop early when the range goes above lhs. Sources/PackageGraph/PinsStore.swift (3 lines): - line 14: import struct SourceControl.Revision // FIXME: remove this dependency - line 361: location = "" // FIXME: this is likely not correct - line 409: let identity = PackageIdentity(urlString: location) // FIXME: pin store should also encode identity Sources/Commands/SwiftPackageRegistryTool.swift (3 lines): - line 75: // TODO: Uncomment once .netrc management is implemented - line 93: // TODO: Require login if password is specified - line 110: // TODO: Add login and password to .netrc Sources/Basics/HTTPClient.swift (3 lines): - line 70: // FIXME: inject platform specific implementation here - line 136: // FIXME: cancel the request? - line 152: // TODO: dedicated retry queue? Sources/Build/BuildOperationBuildSystemDelegateHandler.swift (3 lines): - line 109: // FIXME: We can speed this up by having one llbuild command per object file. - line 132: // FIXME: This is relying on implementation detail of the output but passing the - line 416: // FIXME: Implement a class convenience initializer that does this once they are supported Sources/Xcodeproj/XcodeProjectModel.swift (3 lines): - line 192: // FIXME: There's a lot repetition in these methods; using generics to - line 242: /// FIXME: We do not check for cycles. Should we? This is an extremely - line 503: /// FIXME: While we want the end result of being able to say `FLAGS += ["-O"]` Sources/SPMBuildCore/BinaryTarget+Extensions.swift (3 lines): - line 45: // FIXME: this filter needs to become more sophisticated - line 63: // TODO: Add support for libraries - line 67: // FIXME: this filter needs to become more sophisticated Sources/PackageModel/PackageIdentity.swift (2 lines): - line 34: // FIXME: deprecate this - line 51: // TODO: formalize package registry identifier Sources/Commands/Describe.swift (2 lines): - line 32: self.name = self.manifestDisplayName // TODO: deprecate, backwards compatibility 11/2021 - line 403: // FIXME: This is a bit arbitrary and should be controllable. We may also want an option to only emit Sources/PackageGraph/PackageGraph.swift (2 lines): - line 70: // FIXME: This can be easily cached. - line 75: // FIXME: This can be easily cached. Sources/PackageModel/Manifest/PackageDependencyDescription.swift (2 lines): - line 70: // FIXME: we should simplify target based dependencies such that this is no longer required - line 88: // FIXME: we should simplify target based dependencies such that this is no longer required Sources/PackageCollectionsSigningLibc/ocsp_vfy.c (2 lines): - line 57: * Done here for CRLs; TODO should be done also for OCSP-based checks. - line 62: /* TODO: why is X509_TRUST_OCSP_REQUEST set? Seems to get ignored. */ Sources/PackageLoading/ModuleMapGenerator.swift (2 lines): - line 123: // FIXME: What about .hh files, or .hpp, etc? We should centralize the detection of file types based on names (and ideally share with SwiftDriver). - line 188: // FIXME: This doesn't belong here. Sources/Commands/SwiftRunTool.swift (2 lines): - line 121: // FIXME: We need to implement the build tool invocation closure here so that build tool plugins work with the REPL. rdar://86112934 - line 262: //FIXME: Return false when the path is not a valid path string. Sources/SPMBuildCore/Toolchain.swift (2 lines): - line 24: // FIXME: This is a temporary API until index store is widely available in - line 49: // FIXME: Not sure if it's better to base this off of Swift compiler or our own binary. Sources/Workspace/WorkspaceConfiguration.swift (2 lines): - line 513: // FIXME: better name - line 562: // FIXME change into enum after deprecation grace period Sources/PackageLoading/ManifestJSONParser.swift (2 lines): - line 235: // FIXME: SwiftPM can't handle file locations with file:// scheme so we need to - line 312: // FIXME: We need to emit the API name and not the internal platform name. Sources/Xcodeproj/generate.swift (2 lines): - line 110: // FIXME: This could be more efficient by directly writing to a stream - line 242: let schemeName = "\(graph.rootPackages[0].manifest.displayName)-Package.xcscheme" // TODO: use identity instead? Sources/Xcodeproj/SchemesGenerator.swift (2 lines): - line 89: name: rootPackage.manifest.displayName + "-Package", // TODO: use identity instead? - line 259: // FIXME: We shouldn't need to manually do this here, instead this Sources/PackageModel/BuildSettings.swift (2 lines): - line 51: // FIXME: This should be a set but we need Equatable existential (or AnyEquatable) for that. - line 80: // FIXME: We should check for duplicate assignments. Sources/PackageGraph/PackageGraphRoot.swift (2 lines): - line 52: // FIXME: This API behavior wrt to non-found manifests is fragile, but required by IDEs - line 64: // FIXME: Deprecate special casing once the manifest supports declaring used executable products. Sources/Basics/ConcurrencyHelpers.swift (2 lines): - line 231: // FIXME: mark as deprecated once async/await is available - line 238: // FIXME: mark as deprecated once async/await is available Sources/SourceControl/RepositoryManager.swift (2 lines): - line 239: // FIXME: Handle failure gracefully, somehow. - line 542: // FIXME: encode the type Sources/XCBuildSupport/XCBuildDelegate.swift (2 lines): - line 43: // FIXME: Implement a class convenience initializer that does this once they are supported - line 133: // FIXME: Move to TSC. Sources/PackageCollections/PackageCollections+Validation.swift (2 lines): - line 81: // TODO: validate package url? - line 175: // TODO: where should we read defaults from? Sources/SPMTestSupport/PackageGraphTester.swift (2 lines): - line 27: // TODO: deprecate / transition to PackageIdentity - line 36: // TODO: deprecate / transition to PackageIdentity Sources/Workspace/SourceControlPackageContainer.swift (2 lines): - line 105: // FIXME: Warn if the two tags point to different git references. - line 397: // FIXME: this should not block Sources/PackageCollections/PackageCollections+Configuration.swift (2 lines): - line 13: // TODO: how do we read default config values? ENV variables? user settings? - line 16: // TODO: add configuration including: Sources/PackagePlugin/Diagnostics.swift (1 line): - line 32: // FIXME: Handle problems sending the message. Sources/Basics/HTPClient+URLSession.swift (1 line): - line 15: // FIXME: this brings OpenSSL dependency on Linux Sources/Workspace/FileSystemPackageContainer.swift (1 line): - line 81: // FIXME: this should not block Sources/SPMLLBuild/llbuild.swift (1 line): - line 108: // FIXME: Rename to something else. Sources/PackageLoading/IdentityResolver.swift (1 line): - line 15: // TODO: refactor this when adding registry support Sources/PackageModel/Manifest/TargetDescription.swift (1 line): - line 85: // FIXME: Kill this. Sources/Basics/SQLiteBackedCache.swift (1 line): - line 62: // TODO: we could wrap the failure here with diagnostics if it wasn't optional throughout Sources/PackageGraph/PackageModel+Extensions.swift (1 line): - line 16: // TODO (next steps): move the location into PackageKind to preserve path vs. location Sources/PackageModel/ToolsVersionSpecificationGeneration.swift (1 line): - line 18: // TODO: Add options for whitespace styles. Sources/Commands/show-dependencies.swift (1 line): - line 118: "name": .string(package.manifest.displayName), // TODO: remove? Sources/Commands/SwiftPackageCollectionsTool.swift (1 line): - line 28: // FIXME: add links to docs in error messages Sources/Commands/APIDigester.swift (1 line): - line 122: // FIXME: We need to implement the build tool invocation closure here so that build tool plugins work with the APIDigester. rdar://86112934 Sources/PackageDescription/PackageDescriptionSerialization.swift (1 line): - line 401: // FIXME: This should be an error, not a precondition. Sources/PackageLoading/Diagnostics.swift (1 line): - line 158: // FIXME: (diagnostics) deprecate in favor of the metadata version ^^ when transitioning manifest loader to Observability APIs Sources/PackagePlugin/PackageModel.swift (1 line): - line 446: // FIXME: We can rewrite this to use a stack instead of recursion. Sources/PackageCollectionsSigning/Certificate/Certificate.swift (1 line): - line 62: userID: props["0.9.2342.19200300.100.1.1"], // FIXME: don't hardcode? Sources/PackageGraph/Pubgrub/PartialSolution.swift (1 line): - line 127: // FIXME: We can optimize this by recomputing only the removed things. Sources/Workspace/WorkspaceState.swift (1 line): - line 386: // FIXME: placeholder Sources/PackageDescription/PackageDescription.swift (1 line): - line 282: // FIXME: This doesn't belong here, but for now is the mechanism we use Sources/PackageGraph/Pubgrub/Term.swift (1 line): - line 43: // TODO: This probably makes more sense as isSatisfied(by:) instead. Sources/SPMTestSupport/MockDependency.swift (1 line): - line 30: // TODO: refactor this when adding registry support Fixtures/DependencyResolution/Internal/Complex/Sources/Foo/main.swift (1 line): - line 3: // TODO copy this fixture and make one that should not compile due to the dependency not being specified Sources/PackageDescription/BuildSettings.swift (1 line): - line 72: // FIXME: This should be an error, not a precondition. Sources/PackageLoading/Target+PkgConfig.swift (1 line): - line 182: // FIXME: Get rid of this method once we move on to new Build code. Sources/PackageGraph/PackageContainer.swift (1 line): - line 63: // FIXME: We should perhaps define some particularly useful error codes Sources/SPMTestSupport/misc.swift (1 line): - line 55: // FIXME: This seems quite hacky; we should provide some control over where fixtures are found. Sources/PackageCollections/PackageIndex+Configuration.swift (1 line): - line 21: // TODO: rdar://87575573 remove feature flag Sources/SPMTestSupport/MockManifestLoader.swift (1 line): - line 104: // FIXME: placeholder Sources/SPMTestSupport/MockPackage.swift (1 line): - line 25: // FIXME: This should be per-version. Sources/PackageRegistry/RegistryClient.swift (1 line): - line 545: // TODO: Bail if archive contains relative paths or overlapping files Sources/Build/SPMSwiftDriverExecutor.swift (1 line): - line 73: // FIXME: This is duplicated from SwiftDriver, maybe it shouldn't be a protocol requirement. Sources/Workspace/InitPackage.swift (1 line): - line 105: // FIXME: We should form everything we want to write, then validate that Sources/SPMBuildCore/Sanitizers.swift (1 line): - line 38: // FIXME: We need to throw from here if given sanitizers can't be Sources/PackageLoading/TargetSourcesBuilder.swift (1 line): - line 227: // FIXME: We should emitting warnings for duplicate// declarations. Sources/Commands/TestingSupport.swift (1 line): - line 37: // FIXME: Factor all of the development-time resource location stuff into a common place. Sources/SPMTestSupport/GitRepositoryExtensions.swift (1 line): - line 47: // FIXME: We don't need to set these every time but we usually only commit once or twice for a test repo. Sources/Xcodeproj/PropertyList.swift (1 line): - line 109: // FIXME: we should assert that the identifier doesn't need quoting Sources/Workspace/ManagedDependency.swift (1 line): - line 105: // FIXME: This is just a fake entry, we should fix it. Sources/Commands/Options.swift (1 line): - line 159: // TODO: simplify when deprecating the older flag Sources/PackageCollections/PackageCollections.swift (1 line): - line 15: // TODO: is there a better name? this conflicts with the module name which is okay in this case but not ideal in Swift Sources/PackageRegistry/RegistryDownloadsManager.swift (1 line): - line 65: // TODO: we can do some finger-print checking to improve the validation