You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Peter Donald (JIRA)" <ji...@apache.org> on 2014/07/03 12:36:25 UTC

[jira] [Commented] (BUILDR-700) Buildr truncates some jar files in my local repo if they are set to download from a specific URL

    [ https://issues.apache.org/jira/browse/BUILDR-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14051306#comment-14051306 ] 

Peter Donald commented on BUILDR-700:
-------------------------------------

Add for future reference the actual bug was that buildr was truncating SNAPSHOT dependencies that had not updated since the last update and the HTTP server was returning a "HTTP Not modified" status

> Buildr truncates some jar files in my local repo if they are set to download from a specific URL
> ------------------------------------------------------------------------------------------------
>
>                 Key: BUILDR-700
>                 URL: https://issues.apache.org/jira/browse/BUILDR-700
>             Project: Buildr
>          Issue Type: Bug
>          Components: Core features
>    Affects Versions: 1.4.18
>         Environment: Mac OS X 10.9.3
> Java 8u5
> ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin13.0.0]
>            Reporter: Trejkaz
>            Assignee: Peter Donald
>             Fix For: 1.4.19
>
>
> I have SwingX in my project specified to download from my own copy of it (purely because I didn't have a better place at the time.)
> {code:ruby}
> SWINGX                = [ artifact('org.swinglabs.swingx:swingx-action:jar:1.6.6-SNAPSHOT'),
>                           artifact('org.swinglabs.swingx:swingx-common:jar:1.6.6-SNAPSHOT'),
>                           artifact('org.swinglabs.swingx:swingx-core:jar:1.6.6-SNAPSHOT'),
>                           artifact('org.swinglabs.swingx:swingx-painters:jar:1.6.6-SNAPSHOT'),
>                           artifact('org.swinglabs.swingx:swingx-plaf:jar:1.6.6-SNAPSHOT') ]
> download artifact('org.swinglabs.swingx:swingx-action:jar:1.6.6-SNAPSHOT') =>
>   'https://github.com/trejkaz/swingx/releases/download/v1.6.6-SNAPSHOT.2014.06.15/swingx-action-1.6.6-SNAPSHOT.jar'
> download artifact('org.swinglabs.swingx:swingx-common:jar:1.6.6-SNAPSHOT') =>
>   'https://github.com/trejkaz/swingx/releases/download/v1.6.6-SNAPSHOT.2014.06.15/swingx-common-1.6.6-SNAPSHOT.jar'
> download artifact('org.swinglabs.swingx:swingx-core:jar:1.6.6-SNAPSHOT') =>
>   'https://github.com/trejkaz/swingx/releases/download/v1.6.6-SNAPSHOT.2014.06.15/swingx-core-1.6.6-SNAPSHOT.jar'
> download artifact('org.swinglabs.swingx:swingx-painters:jar:1.6.6-SNAPSHOT') =>
>   'https://github.com/trejkaz/swingx/releases/download/v1.6.6-SNAPSHOT.2014.06.15/swingx-painters-1.6.6-SNAPSHOT.jar'
> download artifact('org.swinglabs.swingx:swingx-plaf:jar:1.6.6-SNAPSHOT') =>
>   'https://github.com/trejkaz/swingx/releases/download/v1.6.6-SNAPSHOT.2014.06.15/swingx-plaf-1.6.6-SNAPSHOT.jar'
> {code}
> Every day for the past few weeks, when I first run my build for the day, I get an error like this:
> {noformat}
> Compiling hex:main into /Users/trejkaz/Documents/hex/main/target/classes
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT/swingx-action-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-common/1.6.6-SNAPSHOT/swingx-common-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-core/1.6.6-SNAPSHOT/swingx-core-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-painters/1.6.6-SNAPSHOT/swingx-painters-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-plaf/1.6.6-SNAPSHOT/swingx-plaf-1.6.6-SNAPSHOT.jar; zip file is empty
> 5 errors
> Buildr aborted!
> {noformat}
> At this point, I look at the files and they are indeed zero size!
> {noformat}
> Rika:hex trejkaz$ ls -la ~/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT/swingx-action-1.6.6-SNAPSHOT.jar
> -rw-------  1 trejkaz  staff  0 28 Jun 22:30 /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT/swingx-action-1.6.6-SNAPSHOT.jar
> {noformat}
> So it seems like buildr is truncating the file daily.
> Deleting the files and re-running buildr puts the correct files back. Any subsequent builds for that day will continue to work as per usual, then the next day, buildr will truncate the file again.
> Interestingly, I use the same approach for icu4j-charsets.jar:
> {code:ruby}
> ICU4J                 = [ artifact('com.ibm.icu:icu4j:jar:53.1'),
>                           artifact('com.ibm.icu:icu4j-charsets:jar:53.1') ]
> download artifact('com.ibm.icu:icu4j-charsets:jar:53.1') =>
>   'http://download.icu-project.org/files/icu4j/53.1/icu4j-charset-53_1.jar'
> {code}
> But the issue has *never* occurred for this jar. Fiddling the timestamps on the files makes for a reliable reproduction for SwingX, though:
> {noformat}
> Rika:hex trejkaz$ buildr
> (this build works)
> Rika:hex trejkaz$ find /Users/trejkaz/.m2/repository/org/swinglabs/swingx  -exec touch -t 201406270000 {} \;
> Rika:hex trejkaz$ buildr
> (in /Users/trejkaz/Documents/hex, development)
> Building hex
> Compiling hex:main into /Users/trejkaz/Documents/hex/main/target/classes
> DL is deprecated, please use Fiddle
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT/swingx-action-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-common/1.6.6-SNAPSHOT/swingx-common-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-core/1.6.6-SNAPSHOT/swingx-core-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-painters/1.6.6-SNAPSHOT/swingx-painters-1.6.6-SNAPSHOT.jar; zip file is empty
> error: error reading /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-plaf/1.6.6-SNAPSHOT/swingx-plaf-1.6.6-SNAPSHOT.jar; zip file is empty
> 5 errors
> Buildr aborted!
> RuntimeError : Failed to compile, see errors above
> (See full trace by running task with --trace)
> {noformat}
> And again, with trace turned on, turns up this:
> {noformat}
> ** Invoke /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT/swingx-action-1.6.6-SNAPSHOT.jar (first_time)
> ** Execute /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT/swingx-action-1.6.6-SNAPSHOT.jar
> Requesting https://github.com/trejkaz/swingx/releases/download/v1.6.6-SNAPSHOT.2014.06.15/swingx-action-1.6.6-SNAPSHOT.jar
> Redirected to https://s3.amazonaws.com/github-cloud/releases/20121830/adc8bb5a-f480-11e3-8ffa-6f15927a60c1.jar?response-content-disposition=attachment%3B%20filename%3Dswingx-action-1.6.6-SNAPSHOT.jar&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1403959849&Signature=udzDpEwy97nMKArUVNil7K6JdqY%3D
> Requesting https://s3.amazonaws.com/github-cloud/releases/20121830/adc8bb5a-f480-11e3-8ffa-6f15927a60c1.jar?response-content-disposition=attachment%3B%20filename%3Dswingx-action-1.6.6-SNAPSHOT.jar&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1403959849&Signature=udzDpEwy97nMKArUVNil7K6JdqY%3D
> Not modified since last download
> mkdir -p /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT
> mv /var/folders/xl/b3tjcxt56zb113jzpzyt001w0000gp/T/swingx-action-1.6.6-SNAPSHOT.jar20140628-8988-4ws1ki /Users/trejkaz/.m2/repository/org/swinglabs/swingx/swingx-action/1.6.6-SNAPSHOT/swingx-action-1.6.6-SNAPSHOT.jar
> {noformat}
> So it looks like when the file has not been modified since the last download, buildr replaces the local file with a zero-length file which it was presumably using to do an atomic file download.



--
This message was sent by Atlassian JIRA
(v6.2#6252)