Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.4.5, 1.4.6
-
None
-
Duplicated in Mac OS/X and Linux
Description
I have a fully replicable method of installing Buildr, and choosing the latest, I get 1.46.
However if I run my existing buildfile against a nonzero number of source files it tries to download ant libraries from ibiblio and fails.
I then just ran buildr in an empty directory and created the default project generated with 1.46 to see if I could reproduce the error.
If I run Buildr it makes a project fine.
As soon as I drop Java files in src/main/java/ so that it has something to compile I get the error again, so this is something very fundamental.
The error is:
RuntimeError : Failed to download org.apache.ant:ant:jar:1.8.0, tried the following repositories:
http://www.ibiblio.org/maven2//
The .m2 subdirectory is not created.
I have been able to duplicate this on both Mac OS/X and Linux.
I have also been able to find other users with the same problem, here:
http://stackoverflow.com/questions/9253099/buildr-build-aborted-unable-to-download-from-repo
Workaround:
The traditional Maven repo on Ibiblio appears to be missing some or all of the needed Buildr components.
Adding a mirror URL resolves the problem:
Include the mirrors in the buildfile, to get full reliability
- Specify Maven 2.0 remote repositories
repositories.remote << "http://www.ibiblio.org/maven2"
repositories.remote << 'http://mirrors.ibiblio.org/pub/mirrors/maven2/'
This resolves the one-time Maven download problem.
Proposed resolution:
1. For new users, construct the auto-generated project files with the two lines.
2. For backward compatibility, look for the old setup, and catch the error with a meaningful message like
"Older buildfile detected, we recommend you add line repositories.remote << 'http://mirrors.ibiblio.org/pub/mirrors/maven2/'. Would you like us to do it for you? Y/n".
If the user selects Y, insert the line. If they choose n, tell the user, "you will need to add a custom repository to install Buildr libraries"