Skip to content

Commit

Permalink
Merge branch 'master' into hetero-list-button
Browse files Browse the repository at this point in the history
  • Loading branch information
mawinter69 authored Aug 22, 2023
2 parents 90cf77f + 377e36e commit a00e983
Show file tree
Hide file tree
Showing 50 changed files with 494 additions and 798 deletions.
2 changes: 1 addition & 1 deletion ath.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set -o xtrace
cd "$(dirname "$0")"

# https://github.com/jenkinsci/acceptance-test-harness/releases
export ATH_VERSION=5691.v64cd2e005b_8b_
export ATH_VERSION=5699.v27deb_ef5796c

if [[ $# -eq 0 ]]; then
export JDK=17
Expand Down
4 changes: 2 additions & 2 deletions bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ THE SOFTWARE.
<!-- https://docs.spring.io/spring-security/site/docs/5.5.4/reference/html5/#getting-maven-no-boot -->
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-bom</artifactId>
<version>5.8.5</version>
<version>5.8.6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down Expand Up @@ -189,7 +189,7 @@ THE SOFTWARE.
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.13</version>
<version>1.10.14</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
import java.io.DataInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.lang.StringEscapeUtils;

/**
* Filters out console notes.
Expand All @@ -36,6 +40,8 @@
*/
public class PlainTextConsoleOutputStream extends LineTransformationOutputStream.Delegating {

private static final Logger LOGGER = Logger.getLogger(PlainTextConsoleOutputStream.class.getName());

/**
*
*/
Expand Down Expand Up @@ -64,7 +70,11 @@ protected void eol(byte[] in, int sz) throws IOException {
int rest = sz - next;
ByteArrayInputStream b = new ByteArrayInputStream(in, next, rest);

ConsoleNote.skip(new DataInputStream(b));
try {
ConsoleNote.skip(new DataInputStream(b));
} catch (IOException x) {
LOGGER.log(Level.FINE, "Failed to skip annotation from \"" + StringEscapeUtils.escapeJava(new String(in, next, rest, Charset.defaultCharset())) + "\"", x);
}

int bytesUsed = rest - b.available(); // bytes consumed by annotations
written += bytesUsed;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import hudson.Extension;
import hudson.diagnosis.ReverseProxySetupMonitor;
import hudson.model.AdministrativeMonitor;
import hudson.model.ManageJenkinsAction;
import hudson.model.PageDecorator;
import hudson.util.HudsonIsLoading;
import hudson.util.HudsonIsRestarting;
Expand All @@ -53,9 +54,6 @@ public class AdministrativeMonitorsDecorator extends PageDecorator {
private final Collection<String> ignoredJenkinsRestOfUrls = new ArrayList<>();

public AdministrativeMonitorsDecorator() {
// redundant
ignoredJenkinsRestOfUrls.add("manage");

// otherwise this would be added to every internal context menu building request
ignoredJenkinsRestOfUrls.add("contextMenu");

Expand Down Expand Up @@ -165,6 +163,11 @@ public Collection<AdministrativeMonitor> getMonitorsToDisplay() {
return null;
}

// Don't show on Manage Jenkins
if (o instanceof ManageJenkinsAction) {
return null;
}

// don't show for some URLs served directly by Jenkins
if (o instanceof Jenkins) {
String url = a.getRestOfUrl();
Expand Down
2 changes: 2 additions & 0 deletions core/src/main/resources/hudson/Messages_fr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ Util.day ={0} j
Util.month ={0} mo.
Util.year ={0} an.

UpdateCenter.DownloadButNotActivated=La mise à jour a été téléchargée avec succès. Elle sera activée lors du prochain démarrage

FilePath.TildaDoesntWork=''~'' n''est supporté que sur les shells Unix.

PluginManager.PortNotANumber=Le port n''est pas un nombre
Expand Down
4 changes: 1 addition & 3 deletions core/src/main/resources/hudson/PluginManager/_installed.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,7 @@
function updateMsg() {
// has anything changed since its original state?
let e = Array.from(
document
.getElementById("plugins")
.querySelectorAll("input[type='checkbox']"),
document.querySelectorAll("#plugins input[type='checkbox']"),
).find(function (e) {
return String(e.checked) !== e.getAttribute("original");
});
Expand Down
2 changes: 0 additions & 2 deletions core/src/main/resources/hudson/PluginManager/available.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ THE SOFTWARE.
<!-- no need for additional breadcrumb here as the side panel offers enough functionality to browse between different pages -->

<l:main-panel>
<l:app-bar title="${%Plugins}" />

<div class="jenkins-app-bar jenkins-app-bar--sticky">
<div class="jenkins-app-bar__content">
<l:search-bar clazz="jenkins-search--app-bar"
Expand Down
47 changes: 20 additions & 27 deletions core/src/main/resources/hudson/PluginManager/installed.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,17 @@ THE SOFTWARE.
<!-- no need for additional breadcrumb here as the side panel offers enough functionality to browse between different pages -->

<l:main-panel>
<l:app-bar title="${%Plugins}" />
<j:set var="noPlugins"
value="${empty(app.pluginManager.plugins) and empty(app.pluginManager.failedPlugins)}" />

<div class="jenkins-app-bar jenkins-app-bar--sticky">
<div class="jenkins-app-bar__content">
<l:search-bar clazz="jenkins-search--app-bar"
placeholder="${%Search installed plugins}"
id="filter-box"
autofocus="true"
value="${request.getParameter('filter')}" />
value="${request.getParameter('filter')}"
enabled="${!noPlugins}" />
</div>
</div>

Expand All @@ -67,29 +69,20 @@ THE SOFTWARE.
data-detached-possible-dependents="${%detached-possible-dependents}"
data-uninstall-description="${%uninstall-description}" />

<table id="plugins" class="jenkins-table sortable">
<j:choose>
<j:when test="${empty(app.pluginManager.plugins) and empty(app.pluginManager.failedPlugins)}">
<j:choose>
<j:when test="${noPlugins}">
<l:notice icon="symbol-plugins" text="${%No plugins installed}" />
</j:when>
<j:otherwise>
<table id="plugins" class="jenkins-table sortable">
<thead>
<tr>
<th>${%Installed plugins}</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">${%No plugins installed.}</td>
</tr>
</tbody>
</j:when>
<j:otherwise>
<thead>
<tr>
<th initialSortDir="down">${%Name}</th>
<th class="jenkins-table__cell--tight">${%Enabled}</th>
<l:isAdmin>
<th data-sort-disable="true"/>
</l:isAdmin>
</tr>
<tr>
<th initialSortDir="down">${%Name}</th>
<th class="jenkins-table__cell--tight">${%Enabled}</th>
<l:isAdmin>
<th data-sort-disable="true"/>
</l:isAdmin>
</tr>
</thead>
<tbody>
<j:forEach var="p" items="${app.pluginManager.plugins}">
Expand Down Expand Up @@ -274,9 +267,9 @@ THE SOFTWARE.
</tr>
</j:forEach>
</tbody>
</j:otherwise>
</j:choose>
</table>
</table>
</j:otherwise>
</j:choose>

<div class="warning" id="needRestart" style="display:none; margin: 1em; height: 1em">
<form method="post" action="${rootURL}/safeRestart">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ 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" xmlns:i="jelly:fmt">
<l:side-panel>
<l:app-bar title="${%Plugins}" />
<l:tasks>
<l:task href="${rootURL}/manage/pluginManager/" icon="symbol-download" title="${%Updates}" badge="${app.updateCenter.badge}"/>
<l:task href="${rootURL}/manage/pluginManager/available" icon="symbol-shopping-bag" title="${%Available plugins}"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# The MIT License
#
# Copyright (c) 2023, Damian Szczepanik
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

Updates=Mises à jour
Available\ plugins=Plugins disponibles
Installed\ plugins=Plugins installés
Advanced\ settings=Paramètres avancés
Download\ progress=Progression des téléchargements
Loading

0 comments on commit a00e983

Please sign in to comment.