-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Also check out the discussion of how this came about here [1]

Cheers,

Johan

[1] https://issues.apache.org/jira/browse/HIVEMIND-173

James Carman wrote:
> It is included in an artifact.  Check out hivemind-lib.  It uses it.
> 
> On Mon, May 19, 2008 at 8:50 AM, Raffael Herzog <[EMAIL PROTECTED]> 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.
>>
>> [EMAIL PROTECTED] · Jabber: [EMAIL PROTECTED]
>> PGP Key 0x5FFDB5DB5D1FF5F4 · http://keyserver.pgp.com
>>
> 
> 

- --
you too?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIMXtLpHYnED7evioRAsykAKCRuGxs+Bq9oBX637Ri2ztm5yockACcC7ku
k0+OzeDLX3yoQ0BqwKV9M+A=
=ples
-----END PGP SIGNATURE-----

Reply via email to