[package-mananger] Interdependent modules with system module


(Daniel Eggert) #1

Are interdependent modules not supported when they include system modules?

I have a setup with a single system module and a single, normal module:

% find .
.
./Package.swift
./Sources
./Sources/CDispatch
./Sources/CDispatch/module.modulemap
./Sources/Hello
./Sources/Hello/main.swift

% cat Package.swift
import PackageDescription
let package = Package(
  name: "Hello",
  targets: [
    Target(
      name: "Hello",
      dependencies: [.Target(name: "CDispatch")]),
    Target(
      name: "CDispatch")
  ]
)

But it fails to build:

% swift build
error: The manifest describes a target that cannot be found in your source tree: CDispatch

/Daniel


(Max Howell) #2

System-module-packages must be packages. They cannot be sub-modules of packages.

···

Are interdependent modules not supported when they include system modules?

I have a setup with a single system module and a single, normal module:

% find .
.
./Package.swift
./Sources
./Sources/CDispatch
./Sources/CDispatch/module.modulemap
./Sources/Hello
./Sources/Hello/main.swift

% cat Package.swift
import PackageDescription
let package = Package(
name: "Hello",
targets: [
   Target(
     name: "Hello",
     dependencies: [.Target(name: "CDispatch")]),
   Target(
     name: "CDispatch")
]
)

But it fails to build:

% swift build
error: The manifest describes a target that cannot be found in your source tree: CDispatch

/Danie


(Ryan Lovelett) #3

System-module-packages must be packages. They cannot be sub-modules of
packages.

Is that a "this is how it will always be" statement or a "this is how it
is currently implemented" statement?

···

On Mon, Jan 11, 2016, at 04:02 PM, Max Howell via swift-users wrote:

> Are interdependent modules not supported when they include system modules?
>
> I have a setup with a single system module and a single, normal module:
>
> % find .
> .
> ./Package.swift
> ./Sources
> ./Sources/CDispatch
> ./Sources/CDispatch/module.modulemap
> ./Sources/Hello
> ./Sources/Hello/main.swift
>
> % cat Package.swift
> import PackageDescription
> let package = Package(
> name: "Hello",
> targets: [
> Target(
> name: "Hello",
> dependencies: [.Target(name: "CDispatch")]),
> Target(
> name: "CDispatch")
> ]
> )
>
> But it fails to build:
>
> % swift build
> error: The manifest describes a target that cannot be found in your source tree: CDispatch
>
>
> /Danie

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(Max Howell) #4

System-module-packages must be packages. They cannot be sub-modules of
packages.

Is that a "this is how it will always be" statement or a "this is how it
is currently implemented" statement?

This is how it will always be. Statement.