Well, we are now hitting the wall - so we need a resolution asap.

For the core module we would have

for core-api:

org.apache.deltaspike.core. ....?

for core-impl:

org.apache.deltaspike.core.impl. ....?


The problem is that by omitting the .api. package, we don't have any good 
handle to include/exclude all the classes from core.api, jsf.api, etc in the 
maven-shade-plugin or any other include/exclude mechanism. That could hurt a 
bit.

Matze, you have not been fond of the api package, what do you suggest as an 
alternative option?

LieGrue,
strub


----- Original Message -----
> From: Jason Porter <lightguard...@gmail.com>
> To: deltaspike-dev@incubator.apache.org
> Cc: 
> Sent: Monday, December 12, 2011 7:21 PM
> Subject: Re: basic decisions - package and class naming
> 
> I'm good for the package naming, include the JSF split, if we're going 
> to
> be cutting artifacts via the shade plugin (and we only get one repo so
> everything has to be done in one place) that will make it much easier. Also
> it will help users know what they're using when the send in bug reports. If
> they're JSF2 stuff in a JSF12 project that'll be much easier to spot.
> 
> If we don't have an api package then I certainly want to see 
> "internal" (I
> like seeing that in the package better than impl, imo it means more and it
> certainly signifies to me that those classes are off limits for usage by
> the user). I'd like to see SPI though, I think we'll need that and it 
> more
> clearly demarcates for extension writers what they should be using.
> Anything we can do to make things easier for users w/o having to explicitly
> write globs of documentation to explain something (in other words making
> things self documented) is a huge plus in my book.
> 
> On Mon, Dec 12, 2011 at 05:47, Jakob Korherr 
> <jakob.korh...@gmail.com>wrote:
> 
>>  Hi,
>> 
>>  +1 for the package names.
>> 
>>  IMO we can drop the api package, but we really should keep the impl
>>  (or internal) package. Otherwise - as Gerhard stated - users will
>>  start to use implementation classes without even noticing (remember:
>>  not everyone uses impl-dependencies with scope=runtime).
>> 
>>  Regards,
>>  Jakob
>> 
>>  2011/12/12 Gerhard Petracek <gpetra...@apache.org>:
>>  > @package names:
>>  > +1
>>  > @shane: currently we don't have issues with it (see what we are 
> doing in
>>  > codi with the shade plugin)
>>  >
>>  > to skip 'api' as package would mean that it >might< be 
> harder to use our
>>  > bundles (e.g. extval doesn't have api/impl packages and users 
> started to
>>  > use impl classes, utils,... >at least< until we marked them as 
> internal).
>>  > +/- 0
>>  >
>>  > @other rules:
>>  > no names which start with an underscore
>>  >
>>  > regards,
>>  > gerhard
>>  >
>>  >
>>  >
>>  > 2011/12/12 Shane Bryzak <sbry...@gmail.com>
>>  >
>>  >> On Mon, Dec 12, 2011 at 9:24 PM, Mark Struberg 
> <strub...@yahoo.de>
>>  wrote:
>>  >>
>>  >> > Hi folks!
>>  >> >
>>  >> > Back to work after being sick for a week. I think it's 
> time to start
>>  >> > hacking on DeltaSpike!
>>  >> >
>>  >> > But before we do so, I'd like to clarify a few basic 
> things
>>  >> >
>>  >> > a.) package names
>>  >> >
>>  >> > I'd suggest
>>  >> >
>>  >> > > org.apache.deltaspike.core.*
>>  >> >
>>  >> > for our core stuff
>>  >> >
>>  >> > > org.apache.deltaspike.jpa.*
>>  >> >
>>  >> > for JPA
>>  >> >
>>  >>
>>  >>
>>  >> +1 for the org.apache.deltaspike package prefix, followed by the 
> module
>>  >> name.
>>  >>
>>  >>
>>  >>
>>  >> >
>>  >> >
>>  >> > > org.apache.deltaspike.jsf.jsf12.*
>>  >> >
>>  >> > for JSF-1.2
>>  >> >
>>  >> > > org.apache.deltaspike.jsf.jsf20.*
>>  >> >
>>  >> > for JSF-2.0, etc
>>  >> >
>>  >> >
>>  >> -1 for the separation of JSF packages, I think this may cause 
> problems
>>  >> longer term, especially when we get JSF3, JSF4 etc.  The way I 
> would
>>  handle
>>  >> this is to have a separate module for each JSF version, but re-use 
> the
>>  >> org.apache.deltaspike.jsf package name.
>>  >>
>>  >>
>>  >> >
>>  >> >
>>  >> > In general most of our project parts will contain the 
> following 3 sub-
>>  >> > parts
>>  >> >
>>  >> > *) api - the parts meant to be imported in customer projects 
> with
>>  Maven
>>  >> > <scope>compile
>>  >> >
>>  >> > *) impl - does the actual work, not intended to be used in 
> customer
>>  >> > projects diretly. Thus Maven <scope>runtime only.
>>  >> >
>>  >> > *) spi - parts meant to be used for extending the default
>>  functionality.
>>  >> > Up for discussion, not sure if we really need it! This might 
> also be
>>  done
>>  >> > directly in impl, users can still
>>  >> >
>>  >> >
>>  >> > Matze mentioned that he doesn't like to have 
> 'api' in the package
>>  name.
>>  >> > What do you like to use instead to distinguish between those? 
> Having
>>  an
>>  >> own
>>  >> > package name probably makes it easier to use the 
> maven-shade-plugin.
>>  Any
>>  >> > opinions?
>>  >> >
>>  >>
>>  >> I would prefer not to have 'api' or 'impl' in the 
> package name either.
>>   We
>>  >> never had them in any of the Seam modules that I'm aware of, 
> and there
>>  was
>>  >> no problem with this.
>>  >>
>>  >>
>>  >> >
>>  >> >
>>  >> > Are there any Class naming conventions/rules you like to 
> introduce?
>>  Pros,
>>  >> > cons?
>>  >> >
>>  >>
>>  >> I think standard Java naming conventions should be fine.
>>  >>
>>  >>
>>  >> >
>>  >> >
>>  >> > LieGrue,
>>  >> > strub
>>  >> >
>>  >> >
>>  >>
>> 
>> 
>> 
>>  --
>>  Jakob Korherr
>> 
>>  blog: http://www.jakobk.com
>>  twitter: http://twitter.com/jakobkorherr
>>  work: http://www.irian.at
>> 
> 
> 
> 
> -- 
> Jason Porter
> http://lightguard-jp.blogspot.com
> http://twitter.com/lightguardjp
> 
> Software Engineer
> Open Source Advocate
> Author of Seam Catch - Next Generation Java Exception Handling
> 
> PGP key id: 926CCFF5
> PGP key available at: keyserver.net, pgp.mit.edu
>

Reply via email to