[webbeans-dev] jsr299-utils
Pete Muir
pmuir at redhat.com
Tue May 26 08:13:46 EDT 2009
On 25 May 2009, at 16:18, David Allen wrote:
> On Sun, 2009-05-24 at 10:21 -0500, Clint Popetz wrote:
>> Great, I'll get started on it Tuesday.
>>
>> I haven't done work on the core before, only on extensions, and I
>> haven't dealt with the TCK at all. So I have a few questions with
>> regard to the webbeans development process:
>>
>> (1) I'm going to start by focusing on javax.enterprise.inject.spi.
>> This means some pretty heavy refactoring, including repackaging
>> javax.inject.* and changing Bean and Decorator to be interfaces,
>> which
>> is going to ripple through the whole source base. Is it preferred
>> that this is committed in small chunks, even if that means the
>> resulting source base is not buildable in between commits, or
>> should I
>> commit them in the smallest chunks that allows the core to build,
>> which in this case might be rather large?
>
> In general, it is best to pick a small part of functionality to add,
> write the tests, complete the implementation, and check that in.
>
> In this case, the moving of existing interfaces (and
> renamings/extraction) has wide-spread implications. If you do not
> mind,
> I am going to complete that part today. So by Tuesday, you should be
> able to work on the SPI itself and add the new functionality without
> having to worry about breaking things other than the RI and perhaps
> any
> extensions that might already be dependent on the RI (there
> shouldn't be
> any yet that I know of).
Agreed, someone (David has volunteered I think) should do a full
update to the jsr299-api, rather than it being done piecemeal.
>
>
>>
>> (2) Is it acceptable to cause test failures in webbeans-core-test
>> during the early stages of this work, or should I be fixing all tests
>> as I go.
>
> Usually not a good idea to break tests. The tests are always a good
> way
> to make sure your implementation is sound and that you did not break
> any
> existing functionality. These tests do depend a bit more on the RI,
> but
> if you use an IDE that can help with the refactoring between RI and
> the
> JSR-299 API, problems should be minimal.
>
>>
>> (3) Given that the work involves repackaging/renaming, a lot of
>> things
>> are going to break in dependent modules. Should I be
>> checking/building/testing these other modules, and in particular the
>> webbeans extensions, as I'm making these changes, or can they be
>> corrected at a later date?
>
> I think it might be OK to work on webbeans extensions afterwards.
> As I
> stated above, though, I should have all the repackaging/renaming done,
> and the rest of the work should just be "new" SPI interfaces extracted
> from the RI. That should not have any impact on dependent modules.
> We
> do not usually write code in other modules dependent directly on the
> RI.
>
>>
>> (4) What is the timetable for reaching the next release milestone
>> with
>> these changes, i.e. will the next webbeans release target this draft
>> of the spec, and if so, what is its target date? Is there an
>> internal
>> stabilization/qa process on that release?
>
> Yes, the next release needs to target the latest version of the spec.
> This needs to be done before the end of June, but Pete should have a
> more exact date for you.
As David says, by the end of June, but really ASAP.
>
>
>>
>> (5) With regard to the TCK, should I be adding TCK tests as I'm
>> implementing the SPI? If so, does the TCK target a specific revision
>> of the spec? (It's not clear to me if the spec itself is even
>> versioned during the draft process.) For example, right now the
>> contents of tck-audit.xml and many of the @SpecAssertions don't match
>> the current spec, as it just came out. So is it ok to add tests to
>> tck-impl that target things in the new spec (for example, 11.2 to
>> test
>> the BeanManager SPI), given that these new @SpecAssertions will
>> overlap with existing assertions for similar numbers in the older
>> spec, and given that the audit tool will report garbage for the new
>> assertions?
>
> Another team member is working on tck-audit.xml and should be done
> soon.
> I would not write any new TCK tests right now without knowing what the
> assertion numbers are going to be. Check back later after you have
> more
> of the SPI done and the TCK is more in-line with the current spec.
Shane has started on this, and we should see the updates starting to
come. Shane, can you let the list know as you go?
>
>
>>
>> Thanks,
>> -Clint
>>
>> On Sun, May 24, 2009 at 7:21 AM, David Allen <drallendc at gmail.com>
>> wrote:
>> On Sat, 2009-05-23 at 16:51 -0500, Clint Popetz wrote:
>>> I'm happy to start work on it, but I don't want to step on
>> someone
>>> else's work. Has any work on the SPI changes been
>> allocated?
>>>
>>
>> As of Thursday evening, nobody claimed the SPI changes yet, so
>> I think
>> it would be OK for you to do that, if you are still
>> interested.
>>
>>
>>> -Clint
>>>
>>> On Sat, May 23, 2009 at 12:32 PM, Gavin King
>> <gavin.king at gmail.com> wrote:
>>>> We need an impl of the SPI as soon as possible, since we
>> need to know
>>>> if there's any bugs in it :-)
>>>>
>>>> On Sat, May 23, 2009 at 5:07 AM, Clint Popetz
>> <cpopetz at gmail.com> wrote:
>>>>> Matt,
>>>>>
>>>>> Thanks, 11.4 in the spec
>> (BeanManager.createInjectionTarget and
>>>>> InjectionTarget.inject) is exactly what I need.
>>>>>
>>>>> So, who's implementing that, and what's the time frame
>> for it? I can
>>>>> do that, if no one's scheduled it do it.
>>>>>
>>>>> -Clint
>>>>>
>>>>> On Fri, May 22, 2009 at 11:03 PM, Matt Drees
>> <matt.drees at gmail.com> wrote:
>>>>>> Oops, meant to send that to the list, not just Clint.
>>>>>> Sorry for the dup, Clint.
>>>>>>
>>>>>> -Matt
>>>>>>
>>>>>> On Fri, May 22, 2009 at 11:58 PM, Matt Drees
>> <matt.drees at gmail.com> wrote:
>>>>>>>
>>>>>>> Before you go too far down this road, you might want to
>> get a new draft of
>>>>>>> the spec from Gavin. Recently an SPI was added
>> specifically for injection
>>>>>>> into third-party objects, so I don't think the project
>> you're proposing
>>>>>>> needs to exist.
>>>>>>>
>>>>>>> -Matt
>>>>>>>
>>>>>>>
>>>>>>> On Fri, May 22, 2009 at 6:34 PM, Clint Popetz
>> <cpopetz at gmail.com> wrote:
>>>>>>>>
>>>>>>>> I'm investigating how to best move non-contextual
>> injection into a
>>>>>>>> webbeans extension that's jsr299-impl independent.
>> While I could
>>>>>>>> rewrite a stripped down version of the reflection
>> scanning/caching
>>>>>>>> code that is already used by the existing
>> webbeans-specific
>>>>>>>> non-contextual-injector, but it wouldn't be as
>> performant or compliant
>>>>>>>> as the code that's already in the core, and I'm
>> wondering if it's
>>>>>>>> reasonable to try to break out this chunk of the core
>> into a library
>>>>>>>> which my extension (and possibly others in
>> webbeans-extensions) uses.
>>>>>>>>
>>>>>>>> These would be some coherent self-contained subset of
>>>>>>>> org.jboss.webbeans.{injection, introspector,
>> introspector.jlr,bean,
>>>>>>>> metadata, util}. I think of this as the part of the
>> core that
>>>>>>>> examines classes and builds a metamodel about the
>> beans they
>>>>>>>> represent, and knows how to inject them, but doesn't
>> deal with
>>>>>>>> contexts, bootstrapping, and the zillion other things
>> the core does.
>>>>>>>> I think it could probably be made
>> implementation-independent based on
>>>>>>>> the jsr299-api. It would have to be made independent
>> of ManagerImpl,
>>>>>>>> mainly.
>>>>>>>>
>>>>>>>> It couldn't live in webbeans-extensions obviously,
>> since the core
>>>>>>>> would depend upon it. But if it lived in
>> webbeans-model, then
>>>>>>>> webbeans-core could depend on it, as could
>> jsr299-utils.
>>>>>>>>
>>>>>>>> Thoughts? This is not terribly well investigated
>> yet, so those with
>>>>>>>> more experience with the source base, feel free to
>> wave me off. I
>>>>>>>> just hate duplicating code.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> -Clint
>>>>>>>>
>>>>>>>> --
>>>>>>>> Clint Popetz
>>>>>>>> http://42lines.net
>>>>>>>> Scalable Web Application Development
>>>>>>>> _______________________________________________
>>>>>>>> webbeans-dev mailing list
>>>>>>>> webbeans-dev at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/webbeans-dev
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> webbeans-dev mailing list
>>>>>> webbeans-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/webbeans-dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Clint Popetz
>>>>> http://42lines.net
>>>>> Scalable Web Application Development
>>>>>
>>>>> _______________________________________________
>>>>> webbeans-dev mailing list
>>>>> webbeans-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/webbeans-dev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Gavin King
>>>> gavin.king at gmail.com
>>>> http://in.relation.to/Bloggers/Gavin
>>>> http://hibernate.org
>>>> http://seamframework.org
>>>>
>>>
>>>
>>>
>> --
>>
>> David Allen <drallendc at gmail.com>
>>
>>
>>
>>
>>
>> --
>> Clint Popetz
>> http://42lines.net
>> Scalable Web Application Development
>> _______________________________________________
>> webbeans-dev mailing list
>> webbeans-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/webbeans-dev
>
> _______________________________________________
> webbeans-dev mailing list
> webbeans-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/webbeans-dev
More information about the weld-dev
mailing list