1. 23 11月, 2017 1 次提交
    • B
      Add an if to avoid crashing on symlinks to dirs · 1396c7f7
      Baptiste Mathus 提交于
      Files.createDirectories(dir) is said to not fail if directory already
      exists.
      *But* this will still fail if `dir` is actually a symlink to a
      directory...
      This is documented in the Javadoc indeed, even if probably not really
      one would expect...
      
      See https://bugs.openjdk.java.net/browse/JDK-8130464
      
      Without this fix:
      ```
      [INFO] Running hudson.util.SecretRewriterTest
      Cycle detected: /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/symlink
      Scanning /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/foo.xml
      Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/foo.xml
      Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/d/foo.xml
      Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/c/d/e/foo.xml
      ERROR: Failed to rewrite /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/symlink/foo.xml
      java.nio.file.FileAlreadyExistsException: /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/symlink
              at sun.nio.fs.UnixException.translateToIOException(UnixException.java:88)
              at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
              at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
              at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
              at java.nio.file.Files.createDirectory(Files.java:674)
              at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
              at java.nio.file.Files.createDirectories(Files.java:727)
              at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:103)
      Caused: java.io.IOException: Failed to create a temporary file in /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/symlink
              at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:106)
              at hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:73)
              at hudson.util.SecretRewriter.rewrite(SecretRewriter.java:85)
              at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:166)
              at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:176)
              at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:176)
              at hudson.util.SecretRewriter.rewriteRecursive(SecretRewriter.java:141)
              at hudson.util.SecretRewriter$rewriteRecursive$0.call(Unknown Source)
              at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
              at hudson.util.SecretRewriterTest.recursionDetection(SecretRewriterTest.groovy:110)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
              at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
              at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
              at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
              at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
              at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
              at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
              at org.junit.rules.RunRules.evaluate(RunRules.java:20)
              at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
              at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
              at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
              at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
              at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
              at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
              at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
              at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
              at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
              at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
              at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
              at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
              at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
      Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/a/foo.xml
      Cycle detected: /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/b/symlink
      Rewritten /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t/b/foo.xml
      [ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.097 s <<< FAILURE! - in hudson.util.SecretRewriterTest
      [ERROR] recursionDetection(hudson.util.SecretRewriterTest)  Time elapsed: 0.176 s  <<< FAILURE!
      Assertion failed:
      
      assert 6==sw.rewriteRecursive(t, st)
              | |  |                |  |
              | |  5                |  hudson.util.StreamTaskListener@34a2d6e0
              | |                   /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t
              | hudson.util.SecretRewriter@2525a5b8
              false
      
              at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:404)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:650)
              at hudson.util.SecretRewriterTest.recursionDetection(SecretRewriterTest.groovy:110)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
              at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
              at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
              at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
              at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
              at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
              at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
              at org.junit.rules.RunRules.evaluate(RunRules.java:20)
              at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
              at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
              at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
              at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
              at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
              at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
              at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
              at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
              at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
              at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
              at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
              at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
              at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
      
      [INFO]
      [INFO] Results:
      [INFO]
      [ERROR] Failures:
      [ERROR]   SecretRewriterTest.recursionDetection:110 assert 6==sw.rewriteRecursive(t, st)
              | |  |                |  |
              | |  5                |  hudson.util.StreamTaskListener@34a2d6e0
              | |                   /home/tiste/dev/JENKINS/jenkins/core/target/junit7537647214741745549/t
              | hudson.util.SecretRewriter@2525a5b8
              false
      [INFO]
      [ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0
      ```
      1396c7f7
  2. 21 11月, 2017 12 次提交
  3. 20 11月, 2017 6 次提交
  4. 19 11月, 2017 2 次提交
    • O
      Merge pull request #3122 from jglick/TaskListener · 5b9ad647
      Oleg Nenashev 提交于
      Implement default methods in TaskListener and BuildListener
      5b9ad647
    • O
      [JENKINS-47718] - Deprecate User#getUser(String) (#3114) · 8cb33513
      Oleg Nenashev 提交于
      * [JENKINS-47718] - Deprecate User#getUser(String)
      
      `User#getUser(String)` method causes lots of confusion for plugin developers. It implicitly creates a user if it cannot be found, and in many cases this is actually a not-expected behavior. This change deprecates the method and to creates a new `User#getOrCreate()` which is more explicit
      
      * [JENKINS-47718] - Address comments from @jglick
      8cb33513
  5. 17 11月, 2017 3 次提交
    • J
      Simplifying naming of publish stages. · 9e8c772c
      Jesse Glick 提交于
      9e8c772c
    • T
      [JENKINS-34138] Fix maven installs from stepping on each other (#3042) · d688c154
      t-hall 提交于
      * [JENKINS-34138] Adding equals/hashCode methods so that installs don't step on each other
      
      * [JENKINS-34138] Added issue reference to unit tests
      
      * [JENKINS-34138] - changed the order of equals / hashcode
      d688c154
    • D
      [JENKINS-39179] [JENKINS-36088] Always use NIO to create and detect symbolic... · 52fa4d90
      Devin Nusbaum 提交于
      [JENKINS-39179] [JENKINS-36088] Always use NIO to create and detect symbolic links and Windows junctions (#3133)
      
      * Always use NIO to detect symlinks
      
      * Make assertion failure message consistent
      
      * Catch NoSuchFileException to keep tests passing
      
      * Make method name more specific and simlify assumption
      
      * Remove obsolete comment and reword the main comment in isSymlink
      
      * Deprecate Kernel32Util#isJunctionOrSymlink
      
      * Use assumptions for junction creation and add messages to assumptions
      
      * Replace deprecated code with recommended alternative
      
      * Add comment explaining call to DosFileAttributes#isOther
      
      * Do not fall back to native code when creating symlinks
      
      * Log FileSystemExceptions when creating symbolic links
      
      * Catch InvalidPathException and rethrow as IOException
      
      * Deprecate Kernel32Utils#createSymbolicLink and #getWin32FileAttributes
      
      * Preserve original logging behavior on Windows and remove useless call to Util#displayIOException
      52fa4d90
  6. 13 11月, 2017 2 次提交
  7. 12 11月, 2017 7 次提交
  8. 11 11月, 2017 7 次提交