提交 2ead8ee5 编写于 作者: N Nicolas De Loof

Merge branch 'master' of github.com:jenkinsci/jenkins

......@@ -55,6 +55,9 @@ Upcoming changes</a>
<!-- Record your changes in the trunk here. -->
<div id="trunk" style="display:none"><!--=TRUNK-BEGIN=-->
<ul class=image>
<li class=rfe>
Collapse nonempty tool installation sections by default in <code>/configure</code>.
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-14538">issue 14538</a>)
<li class=bug>
Custom workspace in matrix projects should be able to use axis as variables.
<li class=bug>
......@@ -64,6 +67,8 @@ Upcoming changes</a>
Make the draggable component more obvious by providing a border.
<li class=rfe>
Added REST API for view manipulation
<li class="rfe">
OS X installer now has an Uninstall tool (in /Library/Application Support/Jenkins).
</ul>
</div><!--=TRUNK-END=-->
......
......@@ -43,7 +43,6 @@ THE SOFTWARE.
<properties>
<staplerFork>true</staplerFork>
<stapler.version>1.192</stapler.version>
<netbeans.compile.on.save>none</netbeans.compile.on.save> <!-- we rely on Maven source generation -->
</properties>
<dependencies>
......
......@@ -32,7 +32,9 @@ import hudson.model.ParametersDefinitionProperty;
import hudson.model.ParameterDefinition;
import hudson.Extension;
import hudson.AbortException;
import hudson.console.ModelHyperlinkNote;
import hudson.model.Item;
import hudson.model.TaskListener;
import hudson.model.queue.QueueTaskFuture;
import hudson.scm.PollingResult.Change;
import hudson.util.EditDistance;
......@@ -158,6 +160,12 @@ public class BuildCommand extends CLICommand {
return "Started by command line by " + startedBy;
}
@Override
public void print(TaskListener listener) {
listener.getLogger().println("Started by command line by " +
ModelHyperlinkNote.encodeTo("/user/"+getUserId(), getUserName()));
}
@Override
public boolean equals(Object o) {
return o instanceof CLICause;
......
......@@ -22,22 +22,46 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<?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" xmlns:local="local">
<f:section title="${descriptor.displayName}">
<f:entry title="${%title(descriptor.displayName)}" description="${%description(descriptor.displayName)}">
<f:repeatable name="tool" var="instance" items="${descriptor.installations}"
add="${%label.add(descriptor.displayName)}" header="${descriptor.displayName}">
<j:set var="toolDescriptor" value="${descriptor}" /><!-- to make this descriptor accessible from properties -->
<table width="100%">
<st:include page="config.jelly" from="${descriptor}" class="${descriptor.clazz}"/>
<f:descriptorList descriptors="${descriptor.propertyDescriptors}" field="properties"/>
<f:entry title="">
<div align="right">
<f:repeatableDeleteButton value="${%label.delete(descriptor.displayName)}"/>
<d:taglib uri="local">
<d:tag name="section">
<f:entry title="${%title(descriptor.displayName)}" description="${%description(descriptor.displayName)}">
<f:repeatable name="tool" var="instance" items="${descriptor.installations}"
add="${%label.add(descriptor.displayName)}" header="${descriptor.displayName}">
<j:set var="toolDescriptor" value="${descriptor}" /><!-- to make this descriptor accessible from properties -->
<table width="100%">
<st:include page="config.jelly" from="${descriptor}" class="${descriptor.clazz}"/>
<f:descriptorList descriptors="${descriptor.propertyDescriptors}" field="properties"/>
<f:entry title="">
<div align="right">
<f:repeatableDeleteButton value="${%label.delete(descriptor.displayName)}"/>
</div>
</f:entry>
</table>
</f:repeatable>
</f:entry>
</d:tag>
</d:taglib>
<j:choose>
<j:when test="${size(descriptor.installations)==0}">
<local:section/>
</j:when>
<j:otherwise>
<tr> <!-- f:advanced does not work well here because of placement in third column -->
<td colspan="3">
<st:adjunct includes="lib.form.advanced.advanced"/>
<div class="advancedLink" style="text-align:left">
<input type="button" value="${%title(descriptor.displayName)}..." class="advanced-button advancedButton"/>
</div>
</f:entry>
</table>
</f:repeatable>
</f:entry>
<table class="advancedBody">
<tbody>
<local:section/>
</tbody>
</table>
</td>
</tr>
</j:otherwise>
</j:choose>
</f:section>
</j:jelly>
<pkg-contents spec="1.12"><f n="Jenkins" o="root" g="admin" p="16893" pt="/Users/sami/Documents/Projektit/jenkins/osx/Library/Application Support/Jenkins" m="true" t="file"><f n="jenkins-runner.sh" o="root" g="admin" p="33277"/><mod>group</mod><mod>owner</mod></f></pkg-contents>
\ No newline at end of file
<?xml version="1.0"?>
<pkg-contents spec="1.12">
<f n="Jenkins" o="root" g="admin" p="16893" pt="/Users/sami/Documents/Projektit/jenkins/osx/Library/Application Support/Jenkins" m="true" t="file">
<f n="jenkins-runner.sh" o="root" g="admin" p="33277"/>
<f n="Uninstall.command" o="root" g="admin" p="33277"/>
<mod>group</mod>
<mod>owner</mod>
</f>
</pkg-contents>
<pkgref spec="1.12" uuid="F25C6AE3-4642-492B-B4BD-013F42D4777B"><config><identifier>org.jenkins-ci.support.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" includeRoot="true">Library/Application Support/Jenkins</installFrom><installTo mod="true">/Library/Application Support</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo.path</mod><mod>installFrom.isRelativeType</mod><mod>identifier</mod><mod>includeRoot</mod><mod>parent</mod><mod>installTo</mod></config><contents><file-list>03jenkins-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
<?xml version="1.0"?>
<pkgref spec="1.12" uuid="F25C6AE3-4642-492B-B4BD-013F42D4777B">
<config>
<identifier>org.jenkins-ci.support.pkg</identifier>
<version>1.0</version>
<description/>
<post-install type="none"/>
<requireAuthorization/>
<installFrom relative="true" includeRoot="true">Library/Application Support/Jenkins</installFrom>
<installTo mod="true">/Library/Application Support</installTo>
<flags>
<followSymbolicLinks/>
</flags>
<packageStore type="internal"/>
<mod>installTo.path</mod>
<mod>installFrom.isRelativeType</mod>
<mod>identifier</mod>
<mod>includeRoot</mod>
<mod>parent</mod>
<mod>installTo</mod>
</config>
<contents>
<file-list>03jenkins-contents.xml</file-list>
<filter>/CVS$</filter>
<filter>/\.svn$</filter>
<filter>/\.cvsignore$</filter>
<filter>/\.cvspass$</filter>
<filter>/\.DS_Store$</filter>
</contents>
</pkgref>
#!/bin/bash
echo
echo
echo "Jenkins uninstallation script"
echo
echo "The following commands are executed using sudo, so you need to be logged"
echo "in as an administrator. Please provide your password when prompted."
echo
set -x
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo rm /Library/LaunchDaemons/org.jenkins-ci.plist
sudo rm -rf /Applications/Jenkins "/Library/Application Support/Jenkins" /Library/Documentation/Jenkins
sudo rm -rf /Users/Shared/Jenkins
sudo dscl . -delete /Users/jenkins
sudo dscl . -delete /Groups/jenkins
pkgutil --pkgs | grep 'org\.jenkins-ci\.' | xargs -n 1 sudo pkgutil --forget
set +x
echo
echo "Jenkins has been uninstalled."
......@@ -90,6 +90,7 @@ THE SOFTWARE.
<patch.tracker.serverId>jenkins-jira</patch.tracker.serverId>
<slf4jVersion>1.6.2</slf4jVersion> <!-- < 1.6.x version didn't specify the license (MIT) -->
<netbeans.compile.on.save>none</netbeans.compile.on.save> <!-- we rely on Maven source generation -->
</properties>
......
......@@ -10,8 +10,6 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Modifier;
import static org.hamcrest.Matchers.allOf;
/**
* Some handy matchers.
*
......
......@@ -105,7 +105,7 @@ public class BuildCommandTest extends HudsonTestCase {
def o = new ByteArrayOutputStream()
cli.execute(["build","-s","-v",p.name],System.in,new TeeOutputStream(System.out,o),System.err)
assertBuildStatusSuccess(p.getBuildByNumber(1))
assertTrue(o.toString().contains("Started by command line by anonymous"))
assertTrue(o.toString(), o.toString().contains("Started by command line by anonymous"))
assertTrue(o.toString().contains("Finished: SUCCESS"))
} finally {
cli.close()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册