Skip to content

[SR-4825] Unable to follow SwiftPM documentation on Linux #5025

Closed
@swift-ci

Description

@swift-ci
Previous ID SR-4825
Radar None
Original Reporter Vladislav (JIRA User)
Type Bug
Status Resolved
Resolution Done
Environment

Linux lfs-sdb6 4.10.14 #1 SMP Thu May 4 21:49:29 MSK 2017 x86_64 GNU/Linux

Swift version 4.0-dev (LLVM 3df4892fbe, Clang 1a30829a18, Swift 8d888b5403)
Target: x86_64-unknown-linux-gnu

Additional Detail from JIRA
Votes 0
Component/s Package Manager
Labels Bug, Linux
Assignee None
Priority Medium

md5: 147ae274bbfa9915854dfafef9bb1370

Issue Description:

I am trying to repeat the example to call gitlib2 on Linux described in the swift-package-manager/Documentation/Usage.md file.
First difference i have found after the following command:

swift package init --type executable

The 'main.swift' file has been created in the 'Sources/example' folder instead of 'Sources' as indicated in the Usage file. Please look at the listing:
ved6 [ ~/Development/example ]$ swift package init --type executable
Creating executable package: example
Creating Package.swift
Creating README.md
Creating .gitignore
Creating Sources/
Creating Sources/example/main.swift
Creating Tests/
ved6 [ ~/Development/example ]$
The second problem is: It is not clear where to put dependence on Clibgit package. Generated Package.swift is the following:

ved6 [ ~/Development/example ]$ cat Package.swift
// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "example",
dependencies: [
// Dependencies declare other packages that this package depends on.
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "example",
dependencies: []),
]
)

If I put ".Package(url: "../Clibgit", majorVersion: 1)" in the frirst dependencies block I have got the following error after the 'swift buuld':

ved6 [ ~/Development/example ]$ swift build
error: manifest parse error(s):
/home/ved6/Development/example/Package.swift:11:10: error: type 'Package.Dependency' has no member 'Package'
.Package(url: "../Clibgit", majorVersion: 1)
^~~~~~~
PackageDescription.Package.Dependency:2:24: note: did you mean 'package'?
public static func package(url: String, from version: PackageDescription.Version) -> PackageDescription.Package.Dependency
^
PackageDescription.Package.Dependency:3:24: note: did you mean 'package'?
public static func package(url: String, _ requirement: PackageDescription.Package.Dependency.Requirement) -> PackageDescription.Package.Dependency
^
PackageDescription.Package.Dependency:4:24: note: did you mean 'package'?
public static func package(url: String, _ range: Range<PackageDescription.Version>) -> PackageDescription.Package.Dependency
^
PackageDescription.Package.Dependency:5:24: note: did you mean 'package'?
public static func package(url: String, _ range: ClosedRange<PackageDescription.Version>) -> PackageDescription.Package.Dependency

If I remove it from the first declaration and put it into dependencies within .target section I have got another error:

ved6 [ ~/Development/example ]$ swift build
error: manifest parse error(s):
/home/ved6/Development/example/Package.swift:18:14: error: type 'Target.Dependency' has no member 'Package'
.Package(url: "../Clibgit", majorVersion: 1)
^~~~~~~

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions