java.level extracted as MANIFEST's metadata with
+ * this addition on the plugins' parent pom.
+ *
+ * @see maven-hpi-plugin#PR-75.
+ *
+ * @since TODO
+ */
+ @Exported
+ public @CheckForNull String getMinimumJavaVersion() {
+ return manifest.getMainAttributes().getValue("Minimum-Java-Version");
+ }
+
/**
* Returns the version number of this plugin
*/
@@ -745,6 +760,14 @@ public class PluginWrapper implements Comparable
- * See {@link #WAIT_BETWEEN_DELETION_RETRIES} for details of
- * the pause duration.
* While an implementation might store its actual configuration data in various ways,
diff --git a/core/src/main/java/jenkins/model/SimplePageDecorator.java b/core/src/main/java/jenkins/model/SimplePageDecorator.java
index 89e6fe3a8e..f655ff271b 100644
--- a/core/src/main/java/jenkins/model/SimplePageDecorator.java
+++ b/core/src/main/java/jenkins/model/SimplePageDecorator.java
@@ -60,7 +60,7 @@ public class SimplePageDecorator extends Descriptor
- * See {@link #GC_AFTER_FAILED_DELETE} for when {@link System#gc()} is called.
- *
- * @return false if it is ok to continue trying to delete things, true if
- * we were interrupted (and should stop now).
- */
- @SuppressFBWarnings(value = "DM_GC", justification = "Garbage collection happens only when "
- + "GC_AFTER_FAILED_DELETE is true. It's an experimental feature in Jenkins.")
- private static boolean pauseBetweenDeletes(int numberOfAttemptsSoFar) {
- long delayInMs;
- if( numberOfAttemptsSoFar>=DELETION_MAX ) return false;
- /* If the Jenkins process had the file open earlier, and it has not
- * closed it then Windows won't let us delete it until the Java object
- * with the open stream is Garbage Collected, which can result in builds
- * failing due to "file in use" on Windows despite working perfectly
- * well on other OSs. */
- if (GC_AFTER_FAILED_DELETE) {
- System.gc();
- }
- if (WAIT_BETWEEN_DELETION_RETRIES>=0) {
- delayInMs = WAIT_BETWEEN_DELETION_RETRIES;
- } else {
- delayInMs = -numberOfAttemptsSoFar*WAIT_BETWEEN_DELETION_RETRIES;
- }
- if (delayInMs<=0)
- return Thread.interrupted();
- try {
- Thread.sleep(delayInMs);
- return false;
- } catch (InterruptedException e) {
- return true;
- }
- }
-
- /**
- * Creates a "couldn't delete file" message that explains how hard we tried.
- * See {@link #DELETION_MAX}, {@link #WAIT_BETWEEN_DELETION_RETRIES}
- * and {@link #GC_AFTER_FAILED_DELETE} for more details.
- */
- private static String deleteFailExceptionMessage(File whatWeWereTryingToRemove, int retryCount, boolean wasInterrupted) {
- StringBuilder sb = new StringBuilder();
- sb.append("Unable to delete '");
- sb.append(whatWeWereTryingToRemove);
- sb.append("'. Tried ");
- sb.append(retryCount);
- sb.append(" time");
- if( retryCount!=1 ) sb.append('s');
- if( DELETION_MAX>1 ) {
- sb.append(" (of a maximum of ");
- sb.append(DELETION_MAX);
- sb.append(')');
- if( GC_AFTER_FAILED_DELETE )
- sb.append(" garbage-collecting");
- if( WAIT_BETWEEN_DELETION_RETRIES!=0 && GC_AFTER_FAILED_DELETE )
- sb.append(" and");
- if( WAIT_BETWEEN_DELETION_RETRIES!=0 ) {
- sb.append(" waiting ");
- sb.append(getTimeSpanString(Math.abs(WAIT_BETWEEN_DELETION_RETRIES)));
- if( WAIT_BETWEEN_DELETION_RETRIES<0 ) {
- sb.append("-");
- sb.append(getTimeSpanString(Math.abs(WAIT_BETWEEN_DELETION_RETRIES)*DELETION_MAX));
- }
- }
- if( WAIT_BETWEEN_DELETION_RETRIES!=0 || GC_AFTER_FAILED_DELETE)
- sb.append(" between attempts");
- }
- if( wasInterrupted )
- sb.append(". The delete operation was interrupted before it completed successfully");
- sb.append('.');
- return sb.toString();
+ newPathRemover().forceRemoveRecursive(fileToPath(dir));
}
/*
@@ -511,36 +285,25 @@ public class Util {
* limitations under the License.
*/
/**
- * Checks if the given file represents a symlink.
+ * Checks if the given file represents a symlink. Unlike {@link Files#isSymbolicLink(Path)}, this method also
+ * considers NTFS junction points as symbolic
+ * links.
*/
public static boolean isSymlink(@Nonnull File file) throws IOException {
+ return isSymlink(fileToPath(file));
+ }
+
+ @Restricted(NoExternalUse.class)
+ public static boolean isSymlink(@Nonnull Path path) {
+ if (Files.isSymbolicLink(path)) return true;
/*
- * Windows Directory Junctions are effectively the same as Linux symlinks to directories.
- * Unfortunately, the Java 7 NIO2 API function isSymbolicLink does not treat them as such.
- * It thinks of them as normal directories. To use the NIO2 API & treat it like a symlink,
- * you have to go through BasicFileAttributes and do the following check:
- * isSymbolicLink() || isOther()
- * The isOther() call will include Windows reparse points, of which a directory junction is.
- * It also includes includes devices, but reading the attributes of a device with NIO fails
- * or returns false for isOther(). (i.e. named pipes such as \\.\pipe\JenkinsTestPipe return
- * false for isOther(), and drives such as \\.\PhysicalDrive0 throw an exception when
- * calling readAttributes.
+ In Windows, a directory junction is not considered a symbolic link despite being nearly the same feature.
+ To avoid relying directly on Windows-specific filesystem API calls, we can instead determine if a path is
+ logically a symbolic link by comparing its absolute path to its real path.
*/
try {
- Path path = fileToPath(file);
- BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS);
- if (attrs.isSymbolicLink()) {
- return true;
- } else if (attrs instanceof DosFileAttributes) {
- /* Returns true for non-symbolic link reparse points and devices. We could call
- * WindowsFileAttributes#isReparsePoint with reflection instead to exclude devices,
- * but as mentioned in the above comment this does not appear to be an issue.
- */
- return attrs.isOther();
- } else {
- return false;
- }
- } catch (NoSuchFileException e) {
+ return path.toAbsolutePath().compareTo(path.toRealPath()) != 0;
+ } catch (IOException ignored) {
return false;
}
}
@@ -1203,7 +966,7 @@ public class Util {
/**
* Convert {@code null} to a default value.
* @param defaultValue Default value. It may be immutable or not, depending on the implementation.
- * @since TODO
+ * @since 2.144
*/
@Nonnull
public static
+ *
diff --git a/core/src/main/resources/hudson/PluginManager/table.properties b/core/src/main/resources/hudson/PluginManager/table.properties
index 63c161534c..0849059887 100644
--- a/core/src/main/resources/hudson/PluginManager/table.properties
+++ b/core/src/main/resources/hudson/PluginManager/table.properties
@@ -26,6 +26,9 @@ compatWarning=\
coreWarning=\
Warning: This plugin is built for Jenkins {0} or newer. \
Jenkins will refuse to load this plugin if installed.
+javaWarning=\
+ Warning: This plugin requires Java {0} or newer. \
+ Jenkins will refuse to load this plugin if installed.
depCompatWarning=\
Warning: This plugin requires dependent plugins be upgraded and at least one of these dependent plugins claims to use a different settings format than the installed version. \
Jobs using that plugin may need to be reconfigured, and/or you may not be able to cleanly revert to the prior version without manually restoring old settings. \
@@ -34,6 +37,10 @@ depCoreWarning=\
Warning: This plugin requires dependent plugins that require Jenkins {0} or newer. \
Jenkins will refuse to load the dependent plugins requiring a newer version of Jenkins, \
and in turn loading this plugin will fail.
+depJavaWarning=\
+ Warning: this plugin requires other plugins which in turn require Java {0} or newer. \
+ Jenkins will refuse to load the dependent plugins requiring a newer version of Jenkins, \
+ and in turn loading this plugin will fail.
securityWarning=\
Warning: This plugin version may not be safe to use. Please review the following security notices:
diff --git a/core/src/main/resources/hudson/model/AllView/noJob_pl.properties b/core/src/main/resources/hudson/model/AllView/noJob_pl.properties
index 15c9ac098f..bd7723f8a8 100644
--- a/core/src/main/resources/hudson/model/AllView/noJob_pl.properties
+++ b/core/src/main/resources/hudson/model/AllView/noJob_pl.properties
@@ -1,6 +1,6 @@
# The MIT License
#
-# Copyright (c) 2004-2017, Sun Microsystems, Inc., Damian Szczepanik
+# Copyright (c) 2004-2019, Sun Microsystems, Inc., 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
@@ -20,6 +20,6 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Welcome\ to\ Jenkins!=Witamy w Jenkinsie!
-newJob=Utw\u00F3rz nowe zadanie, aby rozpocz\u0105\u0107 prac\u0119.
+newJob=Utw\u00F3rz nowy projekt, aby rozpocz\u0105\u0107 prac\u0119.
login=Zaloguj si\u0119, aby utworzy\u0107 nowe zadanie.
signup=Je\u015Bli nie masz jeszcze konta, mo\u017Cesz si\u0119 zarejestrowa\u0107 teraz.
diff --git a/core/src/main/resources/hudson/model/Messages_pl.properties b/core/src/main/resources/hudson/model/Messages_pl.properties
index 5baa85e5ee..988d71ab09 100644
--- a/core/src/main/resources/hudson/model/Messages_pl.properties
+++ b/core/src/main/resources/hudson/model/Messages_pl.properties
@@ -1,6 +1,6 @@
# The MIT License
#
-# Copyright (c) 2004-2017, Sun Microsystems, Damian Szczepanik
+# Copyright (c) 2004-2019, Sun Microsystems, 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
@@ -79,3 +79,4 @@ Node.Mode.EXCLUSIVE=Uruchamiaj te projekty, kt\u00F3re maj\u0105 etykiet\u0119 p
Hudson.ViewName=Wszystkie
RunParameterDefinition.DisplayName=Parametr uruchomienia# SCM check out aborted
Hudson.JobAlreadyExists=Projekt o nazwie \u2018{0}\u2019 ju\u017C istnieje
+AbstractProject.CustomWorkspaceEmpty=Nie wprowadzono dedykowanego katalogu projektu.
diff --git a/core/src/main/resources/hudson/model/MyView/noJob_pl.properties b/core/src/main/resources/hudson/model/MyView/noJob_pl.properties
new file mode 100644
index 0000000000..5a9808d319
--- /dev/null
+++ b/core/src/main/resources/hudson/model/MyView/noJob_pl.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2009, 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.
+
+blurb=Ten widok nie ma jeszcze \u017Cadnych projekt\u00F3w.
diff --git a/core/src/main/resources/hudson/model/User/index_pl.properties b/core/src/main/resources/hudson/model/User/index_pl.properties
index b349e3a89f..8ceaf119dc 100644
--- a/core/src/main/resources/hudson/model/User/index_pl.properties
+++ b/core/src/main/resources/hudson/model/User/index_pl.properties
@@ -1,3 +1,23 @@
-# This file is under the MIT License by authors
-
-Jenkins\ User\ Id=Identyfikator u\u017Cytkownika
+# The MIT License
+#
+# Copyright (c) 2013-2019, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributors
+#
+# 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.
+Groups=Grupy
+Jenkins\ User\ ID=Identyfikator u\u017Cytkownika Jenkins
diff --git a/core/src/main/resources/hudson/model/View/newJobButtonBar_pl.properties b/core/src/main/resources/hudson/model/View/newJobButtonBar_pl.properties
new file mode 100644
index 0000000000..c9c7b7b218
--- /dev/null
+++ b/core/src/main/resources/hudson/model/View/newJobButtonBar_pl.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2019, 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.
+
+OK=OK
diff --git a/core/src/main/resources/hudson/tasks/Messages_pl.properties b/core/src/main/resources/hudson/tasks/Messages_pl.properties
index 649fb965a1..b0c36ea446 100644
--- a/core/src/main/resources/hudson/tasks/Messages_pl.properties
+++ b/core/src/main/resources/hudson/tasks/Messages_pl.properties
@@ -1,6 +1,6 @@
# The MIT License
#
-# Copyright (c) 2016-2017, Damian Szczepanik
+# Copyright (c) 2016-2019, 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
@@ -28,3 +28,4 @@ Ant.GlobalConfigNeeded=By\u0107 mo\u017Ce musisz skonfigurowa\u0107, gdzie jest
Ant.NotADirectory={0} nie jest katalogiem
Ant.NotAntDirectory={0} nie wygl\u0105da, aby by\u0142 katalogiem Ant'a
Ant.ProjectConfigNeeded=By\u0107 mo\u017Ce musisz skonfigurowa\u0107 projekt, aby wybra\u0107 jedn\u0105 z instalacji Ant'a?
+Shell.DisplayName=Uruchom pow\u0142ok\u0119
diff --git a/core/src/main/resources/hudson/util/HudsonIsLoading/index.jelly b/core/src/main/resources/hudson/util/HudsonIsLoading/index.jelly
index 75157ee49a..2ed44ba863 100644
--- a/core/src/main/resources/hudson/util/HudsonIsLoading/index.jelly
+++ b/core/src/main/resources/hudson/util/HudsonIsLoading/index.jelly
@@ -25,12 +25,14 @@ THE SOFTWARE.
BUILD_URL.
+urlIsInvalid=Bazowy adres Jenkinsa wydaje si\u0119 by\u0107 niepoprawny. Jest niezb\u0119dny dla poprawno\u015Bci dzia\u0142ania wielu funkcjonalno\u015Bci Jenkinsa, takich jak powiadomienia email, \
+statusy zmian oraz zmienne \u015Brodowiskowe, takie jak BUILD_URL
+actionToTake=Wprowad\u017A odpowiednie dane na stronie {0}.
+actionUrlContent=Konfiguracja Jenkinsa
diff --git a/core/src/main/resources/jenkins/install/SetupWizard/setupWizardConfigureInstance_pl.properties b/core/src/main/resources/jenkins/install/SetupWizard/setupWizardConfigureInstance_pl.properties
new file mode 100644
index 0000000000..a12767f701
--- /dev/null
+++ b/core/src/main/resources/jenkins/install/SetupWizard/setupWizardConfigureInstance_pl.properties
@@ -0,0 +1,24 @@
+# The MIT License
+#
+# Copyright (c) 2018, 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.
+
+Jenkins\ URL=URL Jenkinsa
+Instance\ Configuration=Konfiguracja instancji
\ No newline at end of file
diff --git a/core/src/main/resources/jenkins/install/pluginSetupWizard.properties b/core/src/main/resources/jenkins/install/pluginSetupWizard.properties
index 1a682d15d6..6dc6e00099 100644
--- a/core/src/main/resources/jenkins/install/pluginSetupWizard.properties
+++ b/core/src/main/resources/jenkins/install/pluginSetupWizard.properties
@@ -1,3 +1,25 @@
+# The MIT License
+#
+# Copyright (c) 2016-2018, Sun Microsystems, Inc., Kohsuke Kawaguchi
+#
+# 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.
+#
installWizard_welcomePanel_title=Getting Started
installWizard_welcomePanel_banner=Customize Jenkins
installWizard_welcomePanel_message=Plugins extend Jenkins with additional features to support many different needs.
@@ -13,6 +35,7 @@ For information about installing Jenkins without an internet connection, see the
Offline Jenkins Installation Documentation.
\
You may choose to continue by configuring a proxy or skipping plugin installation. \
+installWizard_error_title=Error
installWizard_error_header=An error occurred
installWizard_error_message=An error occurred during installation:
installWizard_error_connection=Unable to connect to Jenkins
diff --git a/core/src/main/resources/jenkins/install/pluginSetupWizard_pl.properties b/core/src/main/resources/jenkins/install/pluginSetupWizard_pl.properties
index e94da4e1c8..193e53ff13 100644
--- a/core/src/main/resources/jenkins/install/pluginSetupWizard_pl.properties
+++ b/core/src/main/resources/jenkins/install/pluginSetupWizard_pl.properties
@@ -1,6 +1,6 @@
# The MIT License
#
-# Copyright (c) 2017, Damian Szczepanik
+# Copyright (c) 2017-2019, 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
@@ -46,6 +46,7 @@ installWizard_installCustom_pluginListDesc=Zauwa\u017C, \u017Ce poni\u017Cej nie
installWizard_goBack=Wr\u00F3\u0107
installWizard_goInstall=Instaluj
installWizard_error_connection=Nie uda\u0142o si\u0119 po\u0142\u0105czy\u0107 z Jenkinsem
+installWizard_error_title=B\u0142\u0105d
installWizard_error_header=Wyst\u0105pi\u0142 b\u0142\u0105d
installWizard_installingConsole_dependencyIndicatorNote=** - zale\u017Cno\u015Bci wymagane
installWizard_retry=Pon\u00F3w
@@ -60,6 +61,9 @@ Aby uzyska\u0107 wi\u0119cej informacji o instalowaniu Jenkinsa bez dost\u0119pu
Offline Jenkins Installation Documentation.
\
Mo\u017Cesz kontynuowa\u0107 konfiguruj\u0105c proxy lub pomin\u0105\u0107 instalacje wtyczek.\
+installWizard_configureInstance_title=Konfiguracja instancji
+installWizard_saveConfigureInstance=Zapisz i zako\u0144cz
+installWizard_skipConfigureInstance=Nie teraz
installWizard_configureProxy_label=Konfiguruj proxy
installWizard_skipPluginInstallations=Pomi\u0144 instalacje wtyczek
installWizard_configureProxy_save=Zapisz i kontynuuj
@@ -76,3 +80,7 @@ installWizard_installComplete_installComplete_restartRequiredNotSupportedMessage
installWizard_gettingStarted_title=Zaczynamy
installWizard_saveSecurity=Zapisz i kontynuuj
installWizard_installIncomplete_dependenciesLabel=Zale\u017Cno\u015Bci
+installWizard_configureInstanceSkippedMessage=
\
+Aby go skonfigurowa\u0107, przejd\u017A do strony "Zarz\u0105dzaj Jenkinsem".\
+
", Util.escape("\n"));
@@ -764,12 +473,8 @@ public class UtilTest {
assertEquals("Non-permission bits should be ignored", PosixFilePermissions.fromString("r-xr-----"), Util.modeToPermissions(0100540));
- try {
- Util.modeToPermissions(01777);
- fail("Did not detect invalid mode");
- } catch (IOException e) {
- assertThat(e.getMessage(), startsWith("Invalid mode"));
- }
+ expectedException.expectMessage(startsWith("Invalid mode"));
+ Util.modeToPermissions(01777);
}
@Test
diff --git a/core/src/test/java/hudson/scheduler/CronTabTest.java b/core/src/test/java/hudson/scheduler/CronTabTest.java
index 66894c3546..65115091a7 100644
--- a/core/src/test/java/hudson/scheduler/CronTabTest.java
+++ b/core/src/test/java/hudson/scheduler/CronTabTest.java
@@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;
+import java.util.TimeZone;
import static org.junit.Assert.*;
import org.junit.Test;
@@ -199,7 +200,7 @@ public class CronTabTest {
}
/**
- * Humans can't easily see difference in two {@link Calendar}s, do help the diagnosis by using {@link DateFormat}.
+ * Humans can't easily see difference in two {@link Calendar}s, do help the diagnosis by using {@link DateFormat}.
*/
private void compare(Calendar expected, Calendar actual) {
DateFormat f = DateFormat.getDateTimeInstance();
@@ -307,7 +308,9 @@ public class CronTabTest {
CronTabList tabs = CronTabList.create("TZ=Australia/Sydney\nH * * * *\nH * * * *", Hash.from("seed"));
List