Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
LinuxSuRen
jenkins
提交
3edb9fdc
J
jenkins
项目概览
LinuxSuRen
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,发现更多精彩内容 >>
提交
3edb9fdc
编写于
3月 14, 2016
作者:
K
kzantow
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
JENKINS-33296 - plugin dependency issues during install
上级
25ac68ec
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
48 addition
and
30 deletion
+48
-30
core/src/main/java/hudson/model/UpdateSite.java
core/src/main/java/hudson/model/UpdateSite.java
+2
-4
core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java
...main/java/hudson/security/HudsonPrivateSecurityRealm.java
+22
-10
core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/_entryForm.jelly
...dson/security/HudsonPrivateSecurityRealm/_entryForm.jelly
+3
-1
war/src/main/js/api/plugins.js
war/src/main/js/api/plugins.js
+14
-14
war/src/main/js/pluginSetupWizardGui.js
war/src/main/js/pluginSetupWizardGui.js
+7
-1
未找到文件。
core/src/main/java/hudson/model/UpdateSite.java
浏览文件 @
3edb9fdc
...
@@ -634,10 +634,8 @@ public class UpdateSite {
...
@@ -634,10 +634,8 @@ public class UpdateSite {
this
.
categories
=
o
.
has
(
"labels"
)
?
(
String
[])
o
.
getJSONArray
(
"labels"
).
toArray
(
new
String
[
0
])
:
null
;
this
.
categories
=
o
.
has
(
"labels"
)
?
(
String
[])
o
.
getJSONArray
(
"labels"
).
toArray
(
new
String
[
0
])
:
null
;
for
(
Object
jo
:
o
.
getJSONArray
(
"dependencies"
))
{
for
(
Object
jo
:
o
.
getJSONArray
(
"dependencies"
))
{
JSONObject
depObj
=
(
JSONObject
)
jo
;
JSONObject
depObj
=
(
JSONObject
)
jo
;
// Make sure there's a name attribute, that that name isn't maven-plugin - we ignore that one -
// Make sure there's a name attribute and that the optional value isn't true.
// and that the optional value isn't true.
if
(
get
(
depObj
,
"name"
)!=
null
)
{
if
(
get
(
depObj
,
"name"
)!=
null
&&
!
get
(
depObj
,
"name"
).
equals
(
"maven-plugin"
))
{
if
(
get
(
depObj
,
"optional"
).
equals
(
"false"
))
{
if
(
get
(
depObj
,
"optional"
).
equals
(
"false"
))
{
dependencies
.
put
(
get
(
depObj
,
"name"
),
get
(
depObj
,
"version"
));
dependencies
.
put
(
get
(
depObj
,
"name"
),
get
(
depObj
,
"version"
));
}
else
{
}
else
{
...
...
core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java
浏览文件 @
3edb9fdc
...
@@ -358,7 +358,7 @@ public class HudsonPrivateSecurityRealm extends AbstractPasswordBasedSecurityRea
...
@@ -358,7 +358,7 @@ public class HudsonPrivateSecurityRealm extends AbstractPasswordBasedSecurityRea
if
(
si
.
fullname
==
null
||
si
.
fullname
.
length
()==
0
)
if
(
si
.
fullname
==
null
||
si
.
fullname
.
length
()==
0
)
si
.
fullname
=
si
.
username
;
si
.
fullname
=
si
.
username
;
if
(
si
.
email
==
null
||
!
si
.
email
.
contains
(
"@"
))
if
(
isMailerPluginPresent
()
&&
(
si
.
email
==
null
||
!
si
.
email
.
contains
(
"@"
)
))
si
.
errorMessage
=
Messages
.
HudsonPrivateSecurityRealm_CreateAccount_InvalidEmailAddress
();
si
.
errorMessage
=
Messages
.
HudsonPrivateSecurityRealm_CreateAccount_InvalidEmailAddress
();
if
(!
User
.
isIdOrFullnameAllowed
(
si
.
username
))
{
if
(!
User
.
isIdOrFullnameAllowed
(
si
.
username
))
{
...
@@ -379,19 +379,31 @@ public class HudsonPrivateSecurityRealm extends AbstractPasswordBasedSecurityRea
...
@@ -379,19 +379,31 @@ public class HudsonPrivateSecurityRealm extends AbstractPasswordBasedSecurityRea
// register the user
// register the user
User
user
=
createAccount
(
si
.
username
,
si
.
password1
);
User
user
=
createAccount
(
si
.
username
,
si
.
password1
);
user
.
setFullName
(
si
.
fullname
);
user
.
setFullName
(
si
.
fullname
);
try
{
if
(
isMailerPluginPresent
())
{
// legacy hack. mail support has moved out to a separate plugin
try
{
Class
<?>
up
=
Jenkins
.
getInstance
().
pluginManager
.
uberClassLoader
.
loadClass
(
"hudson.tasks.Mailer$UserProperty"
);
// legacy hack. mail support has moved out to a separate plugin
Constructor
<?>
c
=
up
.
getDeclaredConstructor
(
String
.
class
);
Class
<?>
up
=
Jenkins
.
getInstance
().
pluginManager
.
uberClassLoader
.
loadClass
(
"hudson.tasks.Mailer$UserProperty"
);
user
.
addProperty
((
UserProperty
)
c
.
newInstance
(
si
.
email
));
Constructor
<?>
c
=
up
.
getDeclaredConstructor
(
String
.
class
);
}
catch
(
RuntimeException
e
)
{
user
.
addProperty
((
UserProperty
)
c
.
newInstance
(
si
.
email
));
throw
e
;
}
catch
(
RuntimeException
e
)
{
}
catch
(
Exception
e
)
{
throw
e
;
LOGGER
.
log
(
Level
.
WARNING
,
"Failed to set the e-mail address"
,
e
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
user
.
save
();
user
.
save
();
return
user
;
return
user
;
}
}
public
boolean
isMailerPluginPresent
()
{
try
{
// mail support has moved to a separate plugin
return
null
!=
Jenkins
.
getInstance
().
pluginManager
.
uberClassLoader
.
loadClass
(
"hudson.tasks.Mailer$UserProperty"
);
}
catch
(
ClassNotFoundException
e
)
{
LOGGER
.
finer
(
"Mailer plugin not present"
);
}
return
false
;
}
/**
/**
* Creates a new user account by registering a password to the user.
* Creates a new user account by registering a password to the user.
...
...
core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/_entryForm.jelly
浏览文件 @
3edb9fdc
...
@@ -22,7 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
...
@@ -22,7 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.
-->
-->
<!-- tag file sed by both signup.jelly and addUser.jelly -->
<!-- tag file
u
sed by both signup.jelly and addUser.jelly -->
<?jelly escape-by-default='true'?>
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<h1>${title}</h1>
<h1>${title}</h1>
...
@@ -49,10 +49,12 @@ THE SOFTWARE.
...
@@ -49,10 +49,12 @@ THE SOFTWARE.
<td>${%Full name}:</td>
<td>${%Full name}:</td>
<td><input type="text" name="fullname" value="${data.fullname}" /></td>
<td><input type="text" name="fullname" value="${data.fullname}" /></td>
</tr>
</tr>
<j:if test="${it.mailerPluginPresent}">
<tr>
<tr>
<td>${%E-mail address}:</td>
<td>${%E-mail address}:</td>
<td><input type="text" name="email" value="${data.email}" /></td>
<td><input type="text" name="email" value="${data.email}" /></td>
</tr>
</tr>
</j:if>
<j:if test="${captcha}">
<j:if test="${captcha}">
<tr>
<tr>
<td>${%Enter text as shown}:</td>
<td>${%Enter text as shown}:</td>
...
...
war/src/main/js/api/plugins.js
浏览文件 @
3edb9fdc
...
@@ -19,7 +19,7 @@ exports.recommendedPlugins = [
...
@@ -19,7 +19,7 @@ exports.recommendedPlugins = [
"
gradle
"
,
"
gradle
"
,
"
ldap
"
,
"
ldap
"
,
"
mailer
"
,
"
mailer
"
,
//
"matrix-auth",
"
matrix-auth
"
,
"
pam-auth
"
,
"
pam-auth
"
,
"
pipeline-stage-view
"
,
"
pipeline-stage-view
"
,
"
ssh-slaves
"
,
"
ssh-slaves
"
,
...
@@ -38,7 +38,7 @@ exports.availablePlugins = [
...
@@ -38,7 +38,7 @@ exports.availablePlugins = [
{
{
"
category
"
:
"
Organization and Administration
"
,
"
category
"
:
"
Organization and Administration
"
,
"
plugins
"
:
[
"
plugins
"
:
[
//
{ "name": "dashboard-view" },
{
"
name
"
:
"
dashboard-view
"
},
{
"
name
"
:
"
build-monitor-plugin
"
},
{
"
name
"
:
"
build-monitor-plugin
"
},
{
"
name
"
:
"
cloudbees-folder
"
},
{
"
name
"
:
"
cloudbees-folder
"
},
{
"
name
"
:
"
antisamy-markup-formatter
"
}
{
"
name
"
:
"
antisamy-markup-formatter
"
}
...
@@ -49,15 +49,15 @@ exports.availablePlugins = [
...
@@ -49,15 +49,15 @@ exports.availablePlugins = [
"
description
"
:
"
Add general purpose features to your jobs
"
,
"
description
"
:
"
Add general purpose features to your jobs
"
,
"
plugins
"
:
[
"
plugins
"
:
[
{
"
name
"
:
"
ansicolor
"
},
{
"
name
"
:
"
ansicolor
"
},
//
{ "name": "build-name-setter" },
{
"
name
"
:
"
build-name-setter
"
},
{
"
name
"
:
"
build-timeout
"
},
{
"
name
"
:
"
build-timeout
"
},
{
"
name
"
:
"
config-file-provider
"
},
{
"
name
"
:
"
config-file-provider
"
},
{
"
name
"
:
"
credentials-binding
"
},
{
"
name
"
:
"
credentials-binding
"
},
{
"
name
"
:
"
rebuild
"
},
{
"
name
"
:
"
rebuild
"
},
{
"
name
"
:
"
ssh-agent
"
},
{
"
name
"
:
"
ssh-agent
"
},
//
{ "name": "throttle-concurrents" },
{
"
name
"
:
"
throttle-concurrents
"
},
{
"
name
"
:
"
timestamper
"
}
{
"
name
"
:
"
timestamper
"
}
,
//
{ "name": "ws-cleanup" }
{
"
name
"
:
"
ws-cleanup
"
}
]
]
},
},
{
{
...
@@ -72,12 +72,12 @@ exports.availablePlugins = [
...
@@ -72,12 +72,12 @@ exports.availablePlugins = [
{
{
"
category
"
:
"
Build Analysis and Reporting
"
,
"
category
"
:
"
Build Analysis and Reporting
"
,
"
plugins
"
:
[
"
plugins
"
:
[
//
{ "name": "checkstyle" },
{
"
name
"
:
"
checkstyle
"
},
//
{ "name": "cobertura" },
{
"
name
"
:
"
cobertura
"
},
{
"
name
"
:
"
htmlpublisher
"
},
{
"
name
"
:
"
htmlpublisher
"
},
{
"
name
"
:
"
junit
"
},
{
"
name
"
:
"
junit
"
},
//
{ "name": "sonar" },
{
"
name
"
:
"
sonar
"
},
//
{ "name": "warnings" },
{
"
name
"
:
"
warnings
"
},
{
"
name
"
:
"
xunit
"
}
{
"
name
"
:
"
xunit
"
}
]
]
},
},
...
@@ -88,8 +88,8 @@ exports.availablePlugins = [
...
@@ -88,8 +88,8 @@ exports.availablePlugins = [
{
"
name
"
:
"
github-organization-folder
"
},
{
"
name
"
:
"
github-organization-folder
"
},
{
"
name
"
:
"
pipeline-stage-view
"
},
{
"
name
"
:
"
pipeline-stage-view
"
},
{
"
name
"
:
"
build-pipeline-plugin
"
},
{
"
name
"
:
"
build-pipeline-plugin
"
},
//
{ "name": "conditional-buildstep" },
{
"
name
"
:
"
conditional-buildstep
"
},
//
{ "name": "jenkins-multijob-plugin" },
{
"
name
"
:
"
jenkins-multijob-plugin
"
},
{
"
name
"
:
"
parameterized-trigger
"
},
{
"
name
"
:
"
parameterized-trigger
"
},
{
"
name
"
:
"
copyartifact
"
}
{
"
name
"
:
"
copyartifact
"
}
]
]
...
@@ -122,10 +122,10 @@ exports.availablePlugins = [
...
@@ -122,10 +122,10 @@ exports.availablePlugins = [
{
{
"
category
"
:
"
User Management and Security
"
,
"
category
"
:
"
User Management and Security
"
,
"
plugins
"
:
[
"
plugins
"
:
[
//
{ "name": "matrix-auth" },
{
"
name
"
:
"
matrix-auth
"
},
{
"
name
"
:
"
pam-auth
"
},
{
"
name
"
:
"
pam-auth
"
},
{
"
name
"
:
"
ldap
"
},
{
"
name
"
:
"
ldap
"
},
//
{ "name": "role-strategy" },
{
"
name
"
:
"
role-strategy
"
},
{
"
name
"
:
"
active-directory
"
}
{
"
name
"
:
"
active-directory
"
}
]
]
},
},
...
...
war/src/main/js/pluginSetupWizardGui.js
浏览文件 @
3edb9fdc
...
@@ -599,7 +599,13 @@ var createPluginSetupWizard = function(appendTarget) {
...
@@ -599,7 +599,13 @@ var createPluginSetupWizard = function(appendTarget) {
$
(
'
.plugin-list .selected
'
).
addClass
(
'
match
'
);
$
(
'
.plugin-list .selected
'
).
addClass
(
'
match
'
);
}
}
else
{
else
{
var
matches
=
findElementsWithText
(
$pl
[
0
],
text
.
toLowerCase
(),
function
(
d
)
{
return
d
.
toLowerCase
();
});
var
matches
=
[];
$containers
.
find
(
'
.title,.description
'
).
each
(
function
()
{
var
localMatches
=
findElementsWithText
(
this
,
text
.
toLowerCase
(),
function
(
d
)
{
return
d
.
toLowerCase
();
});
if
(
localMatches
.
length
>
0
)
{
matches
=
matches
.
concat
(
localMatches
);
}
});
$
(
matches
).
parents
(
'
.plugin
'
).
addClass
(
'
match
'
);
$
(
matches
).
parents
(
'
.plugin
'
).
addClass
(
'
match
'
);
if
(
lastSearch
!==
text
&&
scroll
)
{
if
(
lastSearch
!==
text
&&
scroll
)
{
scrollPlugin
(
$pl
,
matches
,
text
);
scrollPlugin
(
$pl
,
matches
,
text
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录