Skip to content

Commit

Permalink
[PackageModel] Remove separate testModule array
Browse files Browse the repository at this point in the history
We don't really need this to be separate.
  • Loading branch information
aciidgh committed Feb 3, 2017
1 parent 29a52f6 commit 12dd569
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 20 deletions.
4 changes: 2 additions & 2 deletions Sources/Commands/Describe.swift
Expand Up @@ -35,7 +35,7 @@ extension Package: JSONSerializable {
stream <<< "Name: " <<< name <<< "\n"
stream <<< "Path: " <<< path.asString <<< "\n"
stream <<< "Modules: " <<< "\n"
for module in modules + testModules {
for module in modules {
module.describe(on: stream, indent: 4)
stream <<< "\n"
}
Expand All @@ -45,7 +45,7 @@ extension Package: JSONSerializable {
return .dictionary([
"name": .string(name),
"path": .string(path.asString),
"modules": .array((modules + testModules).map{ $0.toJSON() }),
"modules": .array(modules.map{ $0.toJSON() }),
])
}
}
Expand Down
2 changes: 1 addition & 1 deletion Sources/PackageGraph/PackageGraphLoader.swift
Expand Up @@ -109,7 +109,7 @@ private func createResolvedPackages(allManifests: [Manifest], manifestToPackage:
let externalModuleDependencies = dependencies.flatMap{ $0.modules.filter{ !$0.isTest } }

// Topologically Sort all the local modules in this package.
let modules = try! topologicalSort(package.modules + package.testModules, successors: { $0.dependencies })
let modules = try! topologicalSort(package.modules, successors: { $0.dependencies })

// Make sure these module names are unique in the graph.
if let duplicateModules = externalModuleDependencies.lazy.map({$0.name}).duplicates(modules.lazy.map{$0.name}) {
Expand Down
9 changes: 7 additions & 2 deletions Sources/PackageLoading/PackageBuilder.swift
Expand Up @@ -224,10 +224,15 @@ public struct PackageBuilder {
/// - Parameters:
/// - includingTestModules: Whether the package's test modules should be loaded.
public func construct(includingTestModules: Bool) throws -> Package {
let (modules, testModules) = try constructModules().split { !$0.isTest }
let (modules, testModules) = try constructModules().split{ !$0.isTest }
// FIXME: Lift includingTestModules into a higher module.
let products = try constructProducts(modules, testModules: includingTestModules ? testModules : [])
return Package(manifest: manifest, path: packagePath, modules: modules, testModules: includingTestModules ? testModules : [], products: products)
return Package(
manifest: manifest,
path: packagePath,
modules: modules + (includingTestModules ? testModules : []),
products: products
)
}

// MARK: Utility Predicates
Expand Down
8 changes: 1 addition & 7 deletions Sources/PackageModel/Package.swift
Expand Up @@ -57,19 +57,13 @@ public final class Package {
/// The modules contained in the package.
public let modules: [Module]

/// The test modules contained in the package.
//
// FIXME: Should these just be merged with the regular modules?
public let testModules: [Module]

/// The products produced by the package.
public let products: [Product]

public init(manifest: Manifest, path: AbsolutePath, modules: [Module], testModules: [Module], products: [Product]) {
public init(manifest: Manifest, path: AbsolutePath, modules: [Module], products: [Product]) {
self.manifest = manifest
self.path = path
self.modules = modules
self.testModules = testModules
self.products = products
}

Expand Down
10 changes: 2 additions & 8 deletions Tests/PackageLoadingTests/ConventionTests.swift
Expand Up @@ -966,12 +966,6 @@ private func loadPackage(_ package: PackageDescription.Package, path: AbsolutePa
return try builder.construct(includingTestModules: true)
}

extension PackageModel.Package {
var allModules: [Module] {
return modules + testModules
}
}

final class PackageBuilderTester {
private enum Result {
case package(PackageModel.Package)
Expand Down Expand Up @@ -1005,7 +999,7 @@ final class PackageBuilderTester {
do {
let loadedPackage = try loadPackage(package, path: path, in: fs, warningStream: warningStream)
result = .package(loadedPackage)
uncheckedModules = Set(loadedPackage.allModules)
uncheckedModules = Set(loadedPackage.modules)
} catch {
let errorStr = String(describing: error)
result = .error(errorStr)
Expand Down Expand Up @@ -1040,7 +1034,7 @@ final class PackageBuilderTester {
guard case .package(let package) = result else {
return XCTFail("Expected package did not load \(self)", file: file, line: line)
}
guard let module = package.allModules.first(where: {$0.name == name}) else {
guard let module = package.modules.first(where: {$0.name == name}) else {
return XCTFail("Module: \(name) not found", file: file, line: line)
}
uncheckedModules.remove(module)
Expand Down

0 comments on commit 12dd569

Please sign in to comment.