I'm just referring to the ephemeral files---being able to generate interfaces and plumbing files (Base*, Remote*, Stub*, ValueFactory*) as separate compiler steps (I thought the INTF what compiler option would do this, but it doesn't).
Motivations (these are very java specific, but I'm sure there are analogies in other languages): 1) Many projects provide separate reference API (interfaces) and implementation (stub* et al) packages to provide flexibility in implementation details or to hide the implementation detail (forcing people to program to interfaces). 2) Assuming you should program to interfaces, they serve as the public API, and are useful independently for testing by creating mock objects through libraries like EasyMock or Mockito. 3) My specific case, I have a service consisting of a number of mixin services, and each is in their own package. For testing, I was considering a separate package to launch the listener for each module. Obviously, that launcher needs the entire binding for the service and mixins. So I ended up with a cycle .... mixins require launcher (for testing) requires service (for full binding api) requires mixins (for implementation). One way to break the cycle is to split the binding as a separate package, which leads back to motivation (1) above. So, this isn't a road blocker (thus minor priority), but I foresee developers wanting this flexibility. > -----Original Message----- > From: Scott Comer (sccomer) > Sent: Monday, February 09, 2009 8:06 AM > To: [email protected] > Subject: Re: [jira] Created: (ETCH-60) Would be useful for an extra > what option that splits apart generating interfaces and their > supporting classes > > not entirely sure what you mean. please explain perhaps with an > example. > > etch compiler will already target generated ephemeral files to one > directory while user editable files go to another. > > Richard Bolkey (JIRA) wrote: > > Would be useful for an extra what option that splits apart generating > interfaces and their supporting classes > > --------------------------------------------------------------------- > ---------------------------------------- > > > > Key: ETCH-60 > > URL: https://issues.apache.org/jira/browse/ETCH-60 > > Project: Etch > > Issue Type: Improvement > > Components: compiler > > Affects Versions: 1.0.1, 1.0.0, 1.0.2 > > Reporter: Richard Bolkey > > Priority: Minor > > > > > > A what option on the compiler that could tell languages that support > interfaces to only generate the interface files or only the > implementation files would be helpful for separating those files into > different packages or creating mocks from the interfaces. > > > >
