0

我正在尝试将 Probe 子类化以在开始构建之前从网络克隆自定义存储库。

GitProbe:

import qbs
import qbs.File
import qbs.Process

Probe {
    property string gitUrl
    property string wd
    property string name
    property string dir: wd + "/" + name
    configure: {
        try {
            if(File.directoryEntries(dir, File.AllEntries).length > 0){
                File.remove(dir)
            }
            var gitProcess = Process()
            gitProcess.setWorkingDirectory(wd)
            gitProcess.exec("git", ["clone", gitUrl], true)
            found = true
        } catch(err) {
            console.warn("GitProbe : could not clone repository " + gitUrl)
            console.error("GitProbe : " + err)
            found = false
        }
    }
}

我确实放入了GitProbe.qbsdir/imports/在我的项目中我做了qbsSearchPath: "path-to-dir",但是 qbs 在解析文件时告诉我Unexpected item type 'GitProbe'

4

1 回答 1

0

这是一个已知的限制:在解析当前文件时需要已经设置搜索路径。所以解决方法是从另一个文件中的项目项中引用您的文件并在那里设置搜索路径。您可能想在https://bugreports.qt.io/browse/QBS-667上投票。

于 2017-08-17T08:03:54.607 回答