Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
f19ee830
J
jenkins
项目概览
xxadev
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f19ee830
编写于
5月 14, 2012
作者:
K
Kohsuke Kawaguchi
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of github.com:jenkinsci/jenkins
上级
e87967c4
9d8f3001
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
4 deletion
+36
-4
core/src/main/java/hudson/FilePath.java
core/src/main/java/hudson/FilePath.java
+18
-2
core/src/main/resources/dsld/IntelliJ.gdsl
core/src/main/resources/dsld/IntelliJ.gdsl
+1
-1
core/src/test/java/hudson/FilePathTest.java
core/src/test/java/hudson/FilePathTest.java
+17
-1
未找到文件。
core/src/main/java/hudson/FilePath.java
浏览文件 @
f19ee830
...
...
@@ -1368,9 +1368,24 @@ public final class FilePath implements Serializable {
* @since 1.407
*/
public
FilePath
[]
list
(
final
String
includes
,
final
String
excludes
)
throws
IOException
,
InterruptedException
{
return
list
(
includes
,
excludes
,
true
);
}
/**
* List up files in this directory that matches the given Ant-style filter.
*
* @param includes
* @param excludes
* See {@link FileSet} for the syntax. String like "foo/*.zip" or "foo/**/*.xml"
* @param defaultExcludes whether to use the ant default excludes
* @return
* can be empty but always non-null.
* @since 1.465
*/
public
FilePath
[]
list
(
final
String
includes
,
final
String
excludes
,
final
boolean
defaultExcludes
)
throws
IOException
,
InterruptedException
{
return
act
(
new
FileCallable
<
FilePath
[]>()
{
public
FilePath
[]
invoke
(
File
f
,
VirtualChannel
channel
)
throws
IOException
{
String
[]
files
=
glob
(
f
,
includes
,
e
xcludes
);
String
[]
files
=
glob
(
f
,
includes
,
excludes
,
defaultE
xcludes
);
FilePath
[]
r
=
new
FilePath
[
files
.
length
];
for
(
int
i
=
0
;
i
<
r
.
length
;
i
++
)
...
...
@@ -1387,10 +1402,11 @@ public final class FilePath implements Serializable {
* @return
* A set of relative file names from the base directory.
*/
private
static
String
[]
glob
(
File
dir
,
String
includes
,
String
excludes
)
throws
IOException
{
private
static
String
[]
glob
(
File
dir
,
String
includes
,
String
excludes
,
boolean
defaultExcludes
)
throws
IOException
{
if
(
isAbsolute
(
includes
))
throw
new
IOException
(
"Expecting Ant GLOB pattern, but saw '"
+
includes
+
"'. See http://ant.apache.org/manual/Types/fileset.html for syntax"
);
FileSet
fs
=
Util
.
createFileSet
(
dir
,
includes
,
excludes
);
fs
.
setDefaultexcludes
(
defaultExcludes
);
DirectoryScanner
ds
=
fs
.
getDirectoryScanner
(
new
Project
());
String
[]
files
=
ds
.
getIncludedFiles
();
return
files
;
...
...
core/src/main/resources/dsld/IntelliJ.gdsl
浏览文件 @
f19ee830
...
...
@@ -12,7 +12,7 @@ contributor(ctx) {
property
name
:
"app"
,
type
:
"hudson.model.Hudson"
def
ct
=
classType
if
(
ct
.
getClass
().
name
.
endsWith
(
".GroovyScriptClass"
))
{
if
(
ct
!=null && ct
.getClass().name.endsWith(".GroovyScriptClass")) {
//
if
we
are
completing
Groovy
script
def
roots
=
new
HashSet
/*<
VirtualFile
>*/()
...
...
core/src/test/java/hudson/FilePathTest.java
浏览文件 @
f19ee830
...
...
@@ -301,7 +301,23 @@ public class FilePathTest extends ChannelTestCase {
Util
.
deleteRecursive
(
baseDir
);
}
}
public
void
testListWithDefaultExcludes
()
throws
Exception
{
File
baseDir
=
Util
.
createTempDir
();
try
{
final
Set
<
FilePath
>
expected
=
new
HashSet
<
FilePath
>();
expected
.
add
(
createFilePath
(
baseDir
,
"top"
,
"sub"
,
"backup~"
));
expected
.
add
(
createFilePath
(
baseDir
,
"top"
,
"CVS"
,
"somefile,v"
));
expected
.
add
(
createFilePath
(
baseDir
,
"top"
,
".git"
,
"config"
));
// none of the files are included by default (default includes true)
assertEquals
(
0
,
new
FilePath
(
baseDir
).
list
(
"**"
,
""
).
length
);
final
FilePath
[]
result
=
new
FilePath
(
baseDir
).
list
(
"**"
,
""
,
false
);
assertEquals
(
expected
,
new
HashSet
<
FilePath
>(
Arrays
.
asList
(
result
)));
}
finally
{
Util
.
deleteRecursive
(
baseDir
);
}
}
@Bug
(
11073
)
public
void
testIsUnix
()
{
FilePath
winPath
=
new
FilePath
(
new
LocalChannel
(
null
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录