Return-Path: X-Original-To: apmail-incubator-deltaspike-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-deltaspike-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DDEF496AC for ; Fri, 30 Dec 2011 10:47:42 +0000 (UTC) Received: (qmail 16226 invoked by uid 500); 30 Dec 2011 10:47:42 -0000 Delivered-To: apmail-incubator-deltaspike-dev-archive@incubator.apache.org Received: (qmail 16196 invoked by uid 500); 30 Dec 2011 10:47:42 -0000 Mailing-List: contact deltaspike-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: deltaspike-dev@incubator.apache.org Delivered-To: mailing list deltaspike-dev@incubator.apache.org Received: (qmail 16188 invoked by uid 99); 30 Dec 2011 10:47:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Dec 2011 10:47:42 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mwessendorf@gmail.com designates 209.85.161.175 as permitted sender) Received: from [209.85.161.175] (HELO mail-gx0-f175.google.com) (209.85.161.175) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Dec 2011 10:47:38 +0000 Received: by ggnh1 with SMTP id h1so8864388ggn.6 for ; Fri, 30 Dec 2011 02:47:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; bh=dCqaupWAJDJl1RnTe0vvcD7X8bPTB1jiwGmum6XZjLk=; b=ED42mCNTzWiups4Z2/qHeUdmy6kRoxynroG7j2JNHdOwHI4DynIjwdnD8vBDJdaT83 6c4u1KIGoOE3JWHLaCixOQM+5RblVA6++JEgu5KWfLG3nHpMYQseq/2xl7WwieWfgDeG puBhncVwqqEpa2hdMeMAisI8imrUuuZX+ZhWE= MIME-Version: 1.0 Received: by 10.100.249.2 with SMTP id w2mr15548375anh.0.1325242037350; Fri, 30 Dec 2011 02:47:17 -0800 (PST) Sender: mwessendorf@gmail.com Received: by 10.101.67.6 with HTTP; Fri, 30 Dec 2011 02:47:17 -0800 (PST) In-Reply-To: <1325020817.38269.YahooMailNeo@web27808.mail.ukl.yahoo.com> References: <1323689042.53857.YahooMailNeo@web27807.mail.ukl.yahoo.com> <1323959464.10946.YahooMailNeo@web27806.mail.ukl.yahoo.com> <1324465230.57862.YahooMailNeo@web27803.mail.ukl.yahoo.com> <1325020817.38269.YahooMailNeo@web27808.mail.ukl.yahoo.com> Date: Fri, 30 Dec 2011 11:47:17 +0100 X-Google-Sender-Auth: 3OhtmVY2HR1RG7WP-7T55Y0moeY Message-ID: Subject: Re: basic decisions - package and class naming From: Matthias Wessendorf To: deltaspike-dev@incubator.apache.org, Mark Struberg Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Dec 27, 2011 at 10:20 PM, Mark Struberg wrote: > > Hi Matze! > > Arquillian and shading both work with filters. > > With Arquillian you create your test @Deployment by adding classes to it.= You can do this by saying .addAsPackage("blabla"); > but if the package blabla also contains the impl then you would need to e= ither include or exclude all this stuff manually! > > It's much easier if you can just type addAsPackage("blabla.api"); and you= 're done. awesome... :-) > > Same is true for shading. much easier to just include the blabla.api pack= age than to have to explicitly list class names... I see, too bad, but hey! > > > LieGrue, > strub > > ----- Original Message ----- >> From: Matthias Wessendorf >> To: deltaspike-dev@incubator.apache.org; Mark Struberg >> Cc: >> Sent: Wednesday, December 21, 2011 2:29 PM >> Subject: Re: basic decisions - package and class naming >> >> On Wed, Dec 21, 2011 at 12:00 PM, Mark Struberg wrot= e: >>>=A0 As I see it we have 3 different options: >>> >>>=A0 1.) .api.* + .impl.*=A0 because it's more easy to 'grab' any api >> package in e.g. an Arquillian test. If we don't have the modulename.api >> package name, then we cannot do something like this in Arquillian: >>>=A0 =A0 Shrinkwrap.createArchive(JavaArchive.class).addPackages(true, >> "...modulename.api"); >>> >>>=A0 Without the explicit .api package name we would not be able to add j= ust the >> api module without also adding all the impl stuff as well. (This is need= ed if we >> e.g. like to test single features of the impl module). >> >> Ok, I don't get the _why_; >> Do you mind to explain it to me (I know nothing about Arquillian and >> the shade plugin:-)) >> >> -M >> >> >>> >>> >>>=A0 The very same will hit us with the maven-shade-plugin where we would= not be >> able to explicitely shade all classes of the api modules. >>> >>> >>> >>>=A0 thus a +1 for this. >>> >>> >>>=A0 2.) noting + '.internal' >>> >>>=A0 possible, but with the downsides as noted above. >>>=A0 -0.5 thus. >>> >>>=A0 LieGrue, >>>=A0 strub >>> >>> >>> >>>=A0 ----- Original Message ----- >>>>=A0 From: Antoine Sabot-Durand >>>>=A0 To: deltaspike-dev@incubator.apache.org >>>>=A0 Cc: >>>>=A0 Sent: Tuesday, December 20, 2011 11:55 AM >>>>=A0 Subject: Re: basic decisions - package and class naming >>>> >>>>=A0 Social API: >>>>=A0 org.apache.deltaspike.social.*=A0 =A0+1 >>>> >>>>=A0 the implementation >>>>=A0 org.apache.deltaspike.social.impl.*=A0 +0 (we don't have this in Se= am >> and have >>>>=A0 the distinction in module name, but it's not a big deal for me) >>>> >>>>=A0 @SPI =3D> +0 I'm not sure to use it but why not. >>>> >>>> >>>>=A0 Antoine SABOT-DURAND >>>> >>>>=A0 Le 15 d=E9c. 2011 =E0 18:43, Matthias Wessendorf a =E9crit : >>>> >>>>>=A0 =A0On Thu, Dec 15, 2011 at 3:31 PM, Mark Struberg >> >>>>=A0 wrote: >>>>>>=A0 =A0Well, we are now hitting the wall - so we need a resolution >> asap. >>>>>> >>>>>>=A0 =A0For the core module we would have >>>>>> >>>>>>=A0 =A0for core-api: >>>>>> >>>>>>=A0 =A0org.apache.deltaspike.core. ....? >>>>>> >>>>>>=A0 =A0for core-impl: >>>>>> >>>>>>=A0 =A0org.apache.deltaspike.core.impl. ....? >>>>> >>>>> >>>>>=A0 =A0yes! >>>>>=A0 =A0And/or >>>>> >>>>>=A0 =A0JPA API: >>>>>=A0 =A0org.apache.deltaspike.jpa.* >>>>> >>>>>=A0 =A0the implementation >>>>>=A0 =A0org.apache.deltaspike.jpa.impl.* >>>>> >>>>>=A0 =A0@SPI =3D> fine for me! >>>>> >>>>>=A0 =A0But please NO 'api' inside of the pkg names; (impl is a >> must, IMO >>>>>=A0 =A0(fine in naming it 'internal', but I guess impl is more >>>>=A0 'standard') >>>>> >>>>>=A0 =A0-M >>>>> >>>>>> >>>>>> >>>>>>=A0 =A0The problem is that by omitting the .api. package, we >> don't have >>>>=A0 any good handle to include/exclude all the classes from core.api, >> jsf.api, etc >>>>=A0 in the maven-shade-plugin or any other include/exclude mechanism. T= hat >> could >>>>=A0 hurt a bit. >>>>>> >>>>>>=A0 =A0Matze, you have not been fond of the api package, what do you >> suggest >>>>=A0 as an alternative option? >>>>>> >>>>>>=A0 =A0LieGrue, >>>>>>=A0 =A0strub >> >> >> >> -- >> Matthias Wessendorf >> >> blog: http://matthiaswessendorf.wordpress.com/ >> sessions: http://www.slideshare.net/mwessendorf >> twitter: http://twitter.com/mwessendorf >> > --=20 Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf