Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-1192

support only explicit declaration of components in libraries

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 4.1.2
    • 4.1.5
    • Framework
    • None

    Description

      I tried to begin to write specificationless components, ie. components without a .jwc file, and I like it
      (To tell the truth, first I felt uncomfortable with the @Component annotation, but now I see it's great

      But I realized the following problem: a specless component cannot be explicitly declared in the .library/.application file. This means that - in the extreme case - I have library files without any <component-type> elements!
      This has the following drawbacks:

      • looking at the library I cannot see which components belong to it
      • when I generate component docs using tapdoc, I have to provide additional information about the contained components. (Because when the components of the library are enumerated, specless components are not listed... this means that this info should be provided to tapdoc and similar tools by hand...)

      I would propose adding a new attribute to the <component-type> element:

      <component-type type="SomeComponent" class="com.example.SomeComponent" />

      This would mean that the given class (which should be a specless component class, annotated with @ComponentClass) is part of the library.
      I think it would be a cleaner, more natural and more uniform extension of the "old" functionality than the current "component-class-packages" configuration option (which I think is a wrong solution for such usage).

      I would recommend this new "class" attribute as the only way for adding specless components to a library.

      Regards:
      Norbi

      Attachments

        Activity

          People

            Unassigned Unassigned
            snorbi Norbert Sándor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: