[jboss-dev] building the documentation for JBoss public and private API...

Emmanuel Bernard emmanuel.bernard at jboss.com
Wed Jun 3 18:28:43 EDT 2009


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




More information about the jboss-development mailing list