> It is included in an artifact. Check out hivemind-lib. It uses it.
>
> On Mon, May 19, 2008 at 8:50 AM, Raffael Herzog <
herzog@...> wrote:
>> Am Freitag, 16. Mai 2008 17.23:36 schrieb James Carman:
>>> I just checked in some changes to the pom.xml files and moved the
>>> HiveMindTestCase into src/test. Let me know how it looks for you.
>>> All test cases passed for me. I might try to move stuff around into
>>> the "normal" maven directories, too (src/main/java, etc.)
>> Well, an open question about this is: How is a user supposed to use that
>> class now? Right, having it in HiveMind's core framework isn't a nice
>> solution. On the other hand, moving it to src/test makes this class
>> unusable for other projects, as it won't ever be included in any artifact.
>>
>> To avoid dependencies on JUnit/EasyMock, it should actually be a separate
>> project producing a separate artifact, something like hivemind-test, which
>> users can include as dependency scoped test. Then again, a whole
>> sub-project for a single class file seems a bit ridiculous. Also, this
>> would introduce a circular dependency: HiveMind's test cases need
>> HiveMindTestCase, so hivemind-test would have to be built before
>> hivemind-framework. However, HiveMindTestCase won't compile if
>> hivemind-framework isn't built.
>>
>> I think, keeping HiveMindTestCase in src/main and declaring the dependencies
>> on JUnit and EasyMock in the scope "test" is the better solution, if users
>> should be able to use that class in their own tests.
>>
>> If JUnit and EasyMock are scoped "test", this scope will be included in the
>> test scope of projects that depend on hivemind-framework with scope "test"
>> and "runtime". Unfortunately, in 99% of the cases, my hivemind dependency
>> is scoped "provided", so I still would have to include them manually (if
>> I'd like to use HiveMindTestCase). I use TestNG anyway, however, and in my
>> case, unit tests *never* need HiveMind (maybe a few interfaces like Module
>> from it, but never a running registry), and assuming, that HiveMind works,
>> this is what EasyMock is for ... ;)
>>
>> This throws us back at the question: Is there any need to provide
>> HiveMindTestCase to the user at all? Tests that need a running HiveMind
>> registry are integration tests, not unit tests, so users should have no
>> need for that class.
>>
>> For a table of which scope translates to which scope in transitive
>> dependencies, see here:
>>
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope>>
>> Cheers,
>> Raffi
>>
>> --
>> The difference between theory and practice is that in theory, there is
>> no difference, but in practice, there is.
>>
>>
herzog@... · Jabber:
herzog@...
>> PGP Key 0x5FFDB5DB5D1FF5F4 ·
http://keyserver.pgp.com>>
>
>