1616
1717import groovy .util .XmlSlurper ;
1818import groovy .util .slurpersupport .GPathResult ;
19-
20- import java .io .File ;
21- import java .io .IOException ;
22- import java .net .URL ;
23- import java .util .Date ;
24- import java .util .List ;
25-
26- import javax .xml .parsers .ParserConfigurationException ;
27-
2819import org .apache .ivy .core .module .descriptor .Artifact ;
2920import org .apache .ivy .core .module .id .ModuleRevisionId ;
3021import org .apache .ivy .plugins .repository .Repository ;
3122import org .apache .ivy .plugins .repository .Resource ;
3223import org .apache .ivy .plugins .resolver .URLResolver ;
3324import org .apache .ivy .plugins .resolver .util .ResolvedResource ;
3425import org .apache .ivy .plugins .resolver .util .ResourceMDParser ;
26+ import org .apache .ivy .util .url .IvyAuthenticator ;
3527import org .xml .sax .SAXException ;
3628
29+ import javax .xml .parsers .ParserConfigurationException ;
30+ import java .io .File ;
31+ import java .io .IOException ;
32+ import java .net .URL ;
33+ import java .util .Date ;
34+ import java .util .List ;
35+
3736/**
3837 * Overrides the default Ivy resolver to substitute the release tag in Grails'
3938 * repository format prior to a resolve
@@ -56,10 +55,15 @@ public URL getRepositoryRoot() {
5655
5756 @ Override
5857 protected ResolvedResource findResourceUsingPattern (ModuleRevisionId mrid , String pattern , Artifact artifact , ResourceMDParser rmdparser , Date date ) {
58+ installIvyAuth ();
5959 pattern = transformGrailsRepositoryPattern (mrid , pattern );
6060 return super .findResourceUsingPattern (mrid , pattern , artifact , rmdparser , date );
6161 }
6262
63+ private void installIvyAuth () {
64+ java .net .Authenticator .setDefault (IvyAuthenticator .INSTANCE );
65+ }
66+
6367 public String transformGrailsRepositoryPattern (ModuleRevisionId mrid , String pattern ) {
6468 final String revision = mrid .getRevision ();
6569 String versionTag ;
@@ -80,6 +84,7 @@ public String transformGrailsRepositoryPattern(ModuleRevisionId mrid, String pat
8084 */
8185 @ SuppressWarnings ("unchecked" )
8286 public GPathResult getPluginList (File localFile ) {
87+ installIvyAuth ();
8388 try {
8489 final Repository repo = getRepository ();
8590 List list = repo .list (repositoryRoot .toString ());
0 commit comments