git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Junit Task warning about multiple versions of Ant


On 2018-04-12, Nicolas Lalevée wrote:

> The Junit task is printing a warning if it finds multiple versions of
> Ant in the classpath of the unit tests. It seems it doesn’t do
> correctly the job if the ant runtime is explicitly removed from the
> classpath.

Quite possible.

> Here the function which checks the classpath:
> https://github.com/apache/ant/blob/master/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java#L1362 <https://github.com/apache/ant/blob/master/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java#L1362>

this is in the forked case.

> And here is the one which build the classloader during the actual forked run:
> https://github.com/apache/ant/blob/master/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java#L1952 <https://github.com/apache/ant/blob/master/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java#L1952>

AFAICT createClassloader is not invoked for forked VMs, only in the
non-forked case.

> Shouldn’t the classloader be built the same way in both function?

In the forked case, the classloader is not built by the task, the
CommandLineJava instance collects the classpath and sets it as
-classpath command line argument.

> trying to release Ivy, finding bugs in Ant :p

:-)

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xxxxxxxxxxxxxx
For additional commands, e-mail: dev-help@xxxxxxxxxxxxxx