On May 8, 2013, at 9:03 PM, "Chen, Pei" <[email protected]> wrote: > I finally got a chance to look into this again, but noticed 2 things: > 1) The various TypeSystem.xml files doesn't/shouldn't need to be in the > resource/models projects. I think that was an oversight on my part last time.
Yeah, I agree that The TypeSystem should be in the main project, not the -res project. > 2) I noticed that some of the projects have drivers or main classes which I > assume a lot of folks are able to and plan to run pipelines directly from > individual projects. If this is true, then I think it is actually easier to > leave it as is and default to have the corresponding -res dependency in the > pom.xml. Since it's maven controlled now, an external app can always add > <exclude ctakes-drug-ner-res/>. This is just based on observation-- > otherwise, each project will need to think about *-res during runtime if it's > not in the pom.xml. I think we absolutely want each project to think about *-res. Isn't that the whole point of the *-res decomposition? My experience with <exclude> is that it usually comes back to bite you. For example, imagine that project A depends on ctakes-lvg, but excludes the -res dependency, and then project B depends on project A but wants ctakes-lvg plus the -res dependency. My experience in the past was that in scenarios like this, the <exclude> messed things up for me. Maybe Maven's gotten better about this (or maybe I know how to handle this better now), but my experience is that <exclude> and transitive dependencies get complicated very quickly. I would argue that instead, anything that actually uses the models should be in the -res project. That way, there's no confusion. Are you just using the code? Then use the regular project. Are you using models? Then use the -res project (which would depend on the regular project). If we assume that most people want the models, then maybe instead of adding "-res" to the projects that contain the models, we should add "-base" (or whatever) to the projects that don't contain the models? Steve > > Updated in r.1480409 > >> -----Original Message----- >> From: Chen, Pei [mailto:[email protected]] >> Sent: Thursday, April 11, 2013 8:59 PM >> To: [email protected] >> Subject: RE: Aren't the *-res dependencies backwards? >> >> Steve, >> I think that would make sense... should be fairly straightforward and >> transparent change. I can take a closer look next week with a clear mind. >> ________________________________________ >> From: Steven Bethard [[email protected]] >> Sent: Thursday, April 11, 2013 10:46 AM >> To: [email protected] >> Subject: Aren't the *-res dependencies backwards? >> >> On Apr 11, 2013, at 8:05 AM, "Masanz, James J." >> <[email protected]> wrote: >>> >>> And ctakes-drug-ner-res is listed within the Maven Dependencies for >> ctakes-drug-ner >> >> Shouldn't it be exactly the opposite of this? Shouldn't ctakes-drug-ner-res >> depend on ctakes-drug-ner? Otherwise, Maven's always going to pull in >> ctakes-drug-ner-res whenever you use ctakes-drug-ner. I.e. with the current >> setup, it's impossible to depend on just the code, not the models. >> >> Steve >
