Hello, Maven experts.
Here is additional information about my troubles with building offline.
To recap: a build which completed successfully has failed when re-run
offline
immediately afterward, using the same local repository. The failure
was due to
missing artifacts related to surefire-booter. I'm trying to figure
out whether
there is a bug that needs to be fixed, and if so where. Also, am
trying to
figure out a way to work around the problem, perhaps by simply creating
a static
internal remote repository.
As suggested, I have done runs with -X and -e, but the trace showed
nothing that
I could identify as significant, except that the logic for dependency
resolution
when running offline seemed to be different from the logic when running
online.
A few things seemed to happen in a different order.
I've done additional runs, with these results:
1. Starting with an empty local repository, do a build online. Capture
stderr
and stdout in a log file. Looking at the log file, I see that these
jars
are "selected for runtime", but do not get downloaded:
org.plexus.plexus:plexus-container-default:jar:1.0-alpha-8
org.codehaus.plexus:plexus-utils:jar:1.1
classworlds:classworlds:jar:1.1-alpha-2
I also see that various versions of plexus-utils get selected and
then "removed",
but no version of its jar file gets downloaded.
Save the contents of the resulting local repository.
2. Empty the build area (it's ClearCase, so I just remove view-private
elements)
and run again offline using the local repository contents from run
1. The
build fails because the above three jar files are not in the local
repository.
3. Empty the build area again. Run online using the repository
contents from
run 1 (NOT run 2). The build is successful again. This time the
log file shows that
the three jar files do get downloaded.
Save the new contents of the resulting local repository.
4. Empty the build area, and run again offline using the content of the
local
repository from run 3. This time the offline build is successful.
I observed that the three missing jar files are all dependencies (direct
or transitive)
of org.apache.maven.surefire:surefire-booter:jar:2.3-SNAPSHOT.
I am really concerned about this. We originally thought that a way to
guarantee
repeatable builds would be to save the contents of the local repository,
the environment,
and the source code configuration. Now it seems the contents of the
local repository
cannot be relied upon.
Thoughts, anyone? Do I have enough data to file a JIRA report? Would
that be in
order? If so, would it be against maven core, against surefire, or
against the reactor?
Or would it be more appropriate to find a version of surefire-booter
that is not
a SNAPSHOT?
thanks,
--Marilyn Sander
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]