Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
e780259a
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e780259a
编写于
5月 16, 2017
作者:
D
Douwe Maan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Autolink package names in Cartfile
上级
c35463d5
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
103 addition
and
0 deletion
+103
-0
lib/gitlab/dependency_linker.rb
lib/gitlab/dependency_linker.rb
+1
-0
lib/gitlab/dependency_linker/cartfile_linker.rb
lib/gitlab/dependency_linker/cartfile_linker.rb
+20
-0
spec/lib/gitlab/dependency_linker/cartfile_linker_spec.rb
spec/lib/gitlab/dependency_linker/cartfile_linker_spec.rb
+74
-0
spec/lib/gitlab/dependency_linker_spec.rb
spec/lib/gitlab/dependency_linker_spec.rb
+8
-0
未找到文件。
lib/gitlab/dependency_linker.rb
浏览文件 @
e780259a
...
...
@@ -8,6 +8,7 @@ module Gitlab
PodfileLinker
,
PodspecLinker
,
PodspecJsonLinker
,
CartfileLinker
,
].
freeze
def
self
.
linker
(
blob_name
)
...
...
lib/gitlab/dependency_linker/cartfile_linker.rb
0 → 100644
浏览文件 @
e780259a
module
Gitlab
module
DependencyLinker
class
CartfileLinker
<
MethodLinker
self
.
file_type
=
:cartfile
private
def
link_dependencies
link_method_call
(
%w[github git binary]
)
do
|
value
|
case
value
when
%r{
\A
#{
REPO_REGEX
}
\z
}
github_url
(
value
)
when
/\A
#{
URL_REGEX
}
\z/
value
end
end
end
end
end
end
spec/lib/gitlab/dependency_linker/cartfile_linker_spec.rb
0 → 100644
浏览文件 @
e780259a
require
'rails_helper'
describe
Gitlab
::
DependencyLinker
::
CartfileLinker
,
lib:
true
do
describe
'.support?'
do
it
'supports Cartfile'
do
expect
(
described_class
.
support?
(
'Cartfile'
)).
to
be_truthy
end
it
'supports Cartfile.private'
do
expect
(
described_class
.
support?
(
'Cartfile.private'
)).
to
be_truthy
end
it
'does not support other files'
do
expect
(
described_class
.
support?
(
'test.Cartfile'
)).
to
be_falsey
end
end
describe
'#link'
do
let
(
:file_name
)
{
"Cartfile"
}
let
(
:file_content
)
do
<<-
CONTENT
.
strip_heredoc
# Require version 2.3.1 or later
github "ReactiveCocoa/ReactiveCocoa" >= 2.3.1
# Require version 1.x
github "Mantle/Mantle" ~> 1.0 # (1.0 or later, but less than 2.0)
# Require exactly version 0.4.1
github "jspahrsummers/libextobjc" == 0.4.1
# Use the latest version
github "jspahrsummers/xcconfigs"
# Use the branch
github "jspahrsummers/xcconfigs" "branch"
# Use a project from GitHub Enterprise
github "https://enterprise.local/ghe/desktop/git-error-translations"
# Use a project from any arbitrary server, on the "development" branch
git "https://enterprise.local/desktop/git-error-translations2.git" "development"
# Use a local project
git "file:///directory/to/project" "branch"
# A binary only framework
binary "https://my.domain.com/release/MyFramework.json" ~> 2.3
CONTENT
end
subject
{
Gitlab
::
Highlight
.
highlight
(
file_name
,
file_content
)
}
def
link
(
name
,
url
)
%{<a href="#{url}" rel="nofollow noreferrer noopener" target="_blank">#{name}</a>}
end
it
'links dependencies'
do
expect
(
subject
).
to
include
(
link
(
'ReactiveCocoa/ReactiveCocoa'
,
'https://github.com/ReactiveCocoa/ReactiveCocoa'
))
expect
(
subject
).
to
include
(
link
(
'Mantle/Mantle'
,
'https://github.com/Mantle/Mantle'
))
expect
(
subject
).
to
include
(
link
(
'jspahrsummers/libextobjc'
,
'https://github.com/jspahrsummers/libextobjc'
))
expect
(
subject
).
to
include
(
link
(
'jspahrsummers/xcconfigs'
,
'https://github.com/jspahrsummers/xcconfigs'
))
end
it
'links Git repos'
do
expect
(
subject
).
to
include
(
link
(
'https://enterprise.local/ghe/desktop/git-error-translations'
,
'https://enterprise.local/ghe/desktop/git-error-translations'
))
expect
(
subject
).
to
include
(
link
(
'https://enterprise.local/desktop/git-error-translations2.git'
,
'https://enterprise.local/desktop/git-error-translations2.git'
))
end
it
'links binary-only frameworks'
do
expect
(
subject
).
to
include
(
link
(
'https://my.domain.com/release/MyFramework.json'
,
'https://my.domain.com/release/MyFramework.json'
))
end
end
end
spec/lib/gitlab/dependency_linker_spec.rb
浏览文件 @
e780259a
...
...
@@ -57,5 +57,13 @@ describe Gitlab::DependencyLinker, lib: true do
described_class
.
link
(
blob_name
,
nil
,
nil
)
end
it
'links using CartfileLinker'
do
blob_name
=
'Cartfile'
expect
(
described_class
::
CartfileLinker
).
to
receive
(
:link
)
described_class
.
link
(
blob_name
,
nil
,
nil
)
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录