[
https://issues.apache.org/jira/browse/LUCENE-7830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16011616#comment-16011616
]
Ishan Chattopadhyaya commented on LUCENE-7830:
----------------------------------------------
Indeed, I had copied the working tree from another machine which caused the
stale symlinks.
> "ant clean-jars" doesn't remove symlinks that point to non existent files
> -------------------------------------------------------------------------
>
> Key: LUCENE-7830
> URL: https://issues.apache.org/jira/browse/LUCENE-7830
> Project: Lucene - Core
> Issue Type: Bug
> Reporter: Hoss Man
>
> Discovered this helping ishan troubleshoot weird failures he was getting on
> his machine today.
> Steps to reproduce...
> {code}
> $ touch /tmp/foo.jar
> $ touch /tmp/bar.jar
> $ ln -s /tmp/foo.jar solr/core/lib/
> $ ln -s /tmp/bar.jar solr/core/lib/
> $ ls solr/core/lib/
> $ ls -l solr/core/lib/
> 18:10 bar.jar -> /tmp/bar.jar
> 18:10 foo.jar -> /tmp/foo.jar
> $ rm /tmp/bar.jar
> $ ant clean-jars
> Buildfile: /home/hossman/lucene/dev/build.xml
> clean-jars:
> BUILD SUCCESSFUL
> Total time: 0 seconds
> $ ls -l solr/core/lib/
> total 0
> lrwxrwxrwx 1 hossman hossman 12 May 15 18:10 bar.jar -> /tmp/bar.jar
> {code}
> The situation that (i speculate) led to ishan's problems was (smething like)
> ...
> # at some point does a build that resolves all jars, ivy creates symlinks to
> it's cache
> # at some later point, either the ivy cache (or a subset of jars in it) gets
> blown away (possibly intentionally to save disk space) or the working dir is
> copied from one machine to another
> # the version of the dependency gets updated and/or the branch is changed so
> a diff version of some jar is needed - so "ant resolve" & all compilation and
> testing are happy even though there is a symlink to a file that isn't in the
> ivy cache anymore.
> # check-licenses will fail however, because when it attempts to resolve the
> list of all jar resources found by ant, the underlying file doesn't actaully
> exist, so the build fails with an error about an "old" jar that you don't
> expect to be used anyway...{code}
> // from LicenseCheckTask.java
> if (!r.isExists()) {
> throw new BuildException("JAR resource does not exist: " +
> r.getName());
> }
> {code}
> # {{ant clean-jars}} does nothing to fix the underlying problem
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]