[jboss-dev] building the documentation for JBoss public and private API...
David M. Lloyd
david.lloyd at redhat.com
Wed Jun 3 18:41:05 EDT 2009
Theoretically, it would be completely transparent for regular JavaEE-style
deployment types at least. For plain JAR deployments I guess it would
depend on how we decide to implement it - would dependencies be explicitly
listed? Would we have a base classpath that is supplemented by
user-specified dependencies? Etc.
Right now it appears that nobody is pursuing modularization. Hopefully we
can find a way to get this prioritized.
- DML
On 06/03/2009 05:28 PM, Emmanuel Bernard wrote:
> Naive question, wouldn't it be impractical/annoying to enforce that?
>
> On Jun 3, 2009, at 08:43, David M. Lloyd wrote:
>
>> But of course in AS 6, private APIs won't be accessible to customer
>> deployments anyway, since we'll have nice API/impl separation and
>> we'll be fully modularized.
>>
>> Right guys?
>>
>> RIGHT?!?
>>
>> - DML
>>
>> On 06/02/2009 09:36 PM, Scott Marlow wrote:
>>> One illegal usage might be detecting that a private (JBoss internal)
>>> API was used by a customer application. This would be useful for our
>>> customers to know as private API can change unexpectedly from release
>>> to release.
>>> Applications that use private APIs will need more refactoring during
>>> migration to a new AS release.
>>> Perhaps we could also have a usage check for unsupported APIs (some
>>> projects have contributions that may be considered experimental).
>>> David M. Lloyd wrote:
>>>> Illegal usages such as what?
>>>>
>>>> - DML
>>>>
>>>> On 06/01/2009 04:04 PM, Emmanuel Bernard wrote:
>>>>> +1 for annotations as we could also flag illegal usages at compile
>>>>> time via an annotations compiler.
>>>>>
>>>>> On Jun 1, 2009, at 17:00, David M. Lloyd wrote:
>>>>>
>>>>>> On 06/01/2009 03:19 PM, Scott Marlow wrote:
>>>>>>> We were just talking about building a list of all JBoss AS public
>>>>>>> API calls. This will be used to document the public API versus
>>>>>>> what is considered private (we will include only the public API
>>>>>>> in this "public api" documentation).
>>>>>>> One idea mentioned already is that we could use an annotation
>>>>>>> (e.g. something like @publicAPI mentioned elsewhere
>>>>>>> http://www.opends.org/promoted-builds/2.0.0-RC1/javadoc/org/opends/server/types/PublicAPI.html).
>>>>>>> We would then build the "public API" documentation based on the
>>>>>>> @publicAPI annotations (the how to be determined).
>>>>>>> We might want to also include a @privateAPI tag, for source files
>>>>>>> that contain a mix of public and private API (or maybe we should
>>>>>>> move anything private into separate modules).
>>>>>>
>>>>>> The way I traditionally tackle this is by using package-private
>>>>>> access for non-API stuff in the API package. Otherwise, a taglet
>>>>>> would be a great way to do this (annotations are probably
>>>>>> overkill). Javadoc may be an old technology but it's still decent.
>>>>>>
>>>>>> One thing I also have for Remoting 3 is a set of javadoc tags that
>>>>>> I can stick on a class or interface which causes a generic
>>>>>> explanation to be appended to the javadoc (like "This interface is
>>>>>> intended to be implemented by the end user" or "This interface is
>>>>>> intended for service providers, so new methods may be added
>>>>>> without notice", etc). I can provide a link as soon as I get
>>>>>> around to getting the javadoc published for 3.1.
>>>>>>
>>>>>> - DML
>>>>>> _______________________________________________
>>>>>> jboss-development mailing list
>>>>>> jboss-development at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>>
>>>>> _______________________________________________
>>>>> jboss-development mailing list
>>>>> jboss-development at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>> _______________________________________________
>>>> jboss-development mailing list
>>>> jboss-development at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>> _______________________________________________
>>> jboss-development mailing list
>>> jboss-development at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-development
>
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
More information about the jboss-development
mailing list