John Plocher wrote:
> Jim Walker wrote:
>> We also understand the problem where several open source projects depend
>> on older versions of Junit and don't plan to update their code to use
>> the newer version. We felt it was best to start by porting the current
>> version and revise it as new releases are made available. Then, look at
>> adding additional older versions that are frequently used/requested.
> 
> There needs to be something about how you intend to handle these
> newer versions.  The canonical choices are:
> 
> 1) overwrite the old version with the new, thus only having one
>    installed at any given time, or

This is (was) what we are (were) planning for this integration.

> 2) have some directory structure/pkg architecture to support the
>    unambiguous installation and use of multiple versions on a
>    single system simultaneously

If you like, we can expand the scope of this case to include
multiple Junit versions.

Blastwave uses the jar file name to communicate the
version information, which is one approach and the
way we have it organized in this case:
http://www.blastwave.org/filesearch.php/junit

/opt/csw/share/java/junit.jar
/opt/csw/share/java/junit-4.jar
/opt/csw/share/java/junit-4.2.jar

dbunit and abbot both depend on junit 3.8.2. So, we could
include it to establish how we handle multiple versions.
dbunit and abbot are viable open source packages for us
to port.

We could update the spec interfaces to look like this,
with the man page and documentation focused on the most
recent version.

/usr/share/lib/java/junit.jar  (link to latest version)
/usr/share/lib/java/junit-4.5.jar
/usr/share/lib/java/junit-4.5-src.jar
/usr/share/lib/java/junit-3.8.2.jar
/usr/share/lib/java/junit-3.8.2-src.jar
/usr/share/man/man3/junit.3
/usr/share/doc/junit

The goal here is to avoid having every tool that needs junit have
to include it separately. It's much more efficient to just change
the CLASSPATH.

> If 1, why are you doing something that isn't well aligned with
> the known use-case for the component, and if 2, how will you
> actually do it?

Is Maven the "known use-case"?

Junit is more general than that. It's designed to test any
Java code. It's clear, people are looking for it "as-is",
and it's important to have a standalone IPS package for it.

BTW.
Regarding: "Maven build system expects to find junit in a specific
place". That seems flawed to me. Maybe we should push a Maven
change upstream.

Cheers,
Jim

-- 
Jim Walker, http://blogs.sun.com/jwalker
Sun Microsystems, Software, Solaris QE
x77744, 500 Eldorado Blvd, Broomfield CO 80021

Reply via email to