Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dsdp-dd-dev] IP-XACT editor package naming.

Hi Anthony,
I think it's an excellent idea to separate the API and internal packages.  Keep in mind though that if one of your plugins uses packages from another of your plugins, that is considered public API.  What this means effectively, is that if for the next release we decide that we want the APIs to remain backward compatible, we will be limited in what kinds of changes we make to the APIs, and we indicate this to the world by issuing a point release (e.g. 1.1).  However if we decide that we don't care if adopters of our technology will be broken by the APIs.  We can issue a major release (2.0).  Some projects are very conservative, e.g. Eclipse Platform and they issue major releases only every few years.  Some projects, such as CDT issue major releases just about every year. 
We (the DD community) can decide how important API compatibility is for us and thus what kind of release we want to have next.

Anthony Berent wrote:
People,
 
Now that IP-XACT 1.4 has been released, I am starting to think about checking in the IP-XACT 1.4 version of the editor.
 
I have just been reading the Eclipse naming conventions (http://wiki.eclipse.org/Naming_Conventions) and I think that, since I don't export any public APIs, I should be renaming all the packages in the IP-XACT editor plugins as internal packages before checking them in. My understanding from this page is that the subproject here is "org.eclipse.dsdp.dd", and that as such the packages should be named "org.eclipse.dsdp.dd.internal...", so, for example, the editor core document package would become "org.eclipse.dsdp.dd.internal.ipxact.editor.core.document". Two questions:
  1. Do I need to do this renaming?
  2. Am I putting the "internal" in the right place in the names?
Actually I do not believe that you need to have "dsdp" in the package names.  "dd" is sufficient so I think the ipxact packages are already compliant.
As far as the "internal", this package name should come after the component, i.e. org.eclipse.dd.ipxact.internal.editor.core.document.  Jus as important as using the "internal" in the package name, is marking the package as internal in the exported packages of the plugin.
- Anthony
 
P.S. I am also starting to think about what APIs the editor could usefully export. It is obviously too late to make any of these official APIs for Ganymede, but there seems to be a convention that preliminary versions of APIs can be exported with a package name including "internal.provisional.". Is this your understanding, and if so would there be any objection to including some such APIs in the editor?
It's definitely not too late.  Technically we have until M6 to make API changes.  In M7 API changes will require PMC approval.  So now is a perfectly good time to do this package reorganization.

Cheers,
Pawel
 
- Anthony
 

--------------------------

Anthony Berent

ARM Ltd

+44 1223 400763

 

--

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.


_______________________________________________ dsdp-dd-dev mailing list dsdp-dd-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/dsdp-dd-dev


Back to the top