Srinivasan Chikkala
Open ESB Community (http://open-esb.org)



mkleint wrote:
Srinivasan Chikkala wrote:
Hi Milos,

In order to make org.codehaus.mevenide.netbeans.api.**/* as public api in netbeans, you need to declare them in the module manifest file using some netbeans specific manifest entries. The current module is missing those entries and hence netbeans can not share these apis between modules unless you define a implementation dependency on this module which gives access to all classes in the module and using the implementation dependency is not the correct way to access apis between the nb modules.
Well, that's not entirely true. You are encouraged to mark the public packages in the manifest, however if you don't, then all packages in that module are considered public. You get a warning in the log file though :) I'm referencing this module from all my other modules using the specification dependency, not implementation dependency and it works fine.
You may be fine with using specification version during compile time as you are using a different tool (nbm maven plugin) which may be working differently from the IDE build harness , but I was surprised to hear that the runtime (ide) is not restricting it without the implementation dependency <http://wiki.netbeans.org/DevFaqImplementationDependency> ? Are you sure that maven plugin is not adding this implementation dependency automatically in your other modules?
Is the IDE itself prohibiting access to adding a specification dependency at design time? (I wouldn't know as I'm using maven and maven projects support to build mevenide, not the default ant-based project type for developing netbeans modules)

Yes. the IDE is not able to resolve the apis (you get errors in editor as well as at compilation) if I just define a specification dependency as these packages are not defines public. When I selected the implementation dependency every thing works.
I guess I can still put an entry in the manifest that makes all packages public. What version do to need that to appear? 3.0.11 (which I plan to release at 6.1 M2 times) or is subversion trunk with 3.1 version (release date not specified yet) ok? I suppose the former, right?

I don't recommend adding every package in the module to be public, but your are the one who known better about what in this package is useful to other modules, so it is up to you. Yes. It would be nice to have the public apis defined in the version that works with IDE 6.0 or 6.1 which I guess is the 3.0.11
Milos



Please add these packages as module public apis in the module manifest file.

regards,

Srinivasan Chikkala
Open ESB Community (http://open-esb.org)



mkleint wrote:
Srinivasan Chikkala wrote:
I am trying to add list of archetypes to the maven ide new project wizard ( New Project -> Maven-> Maven Project [Maven Archetypes] ) from my netbeans module, but the api org.codehaus.mevenide.netbeans.api.archetype.ArchetypeProvider is not a public api to include it in my module dependency. When is this api becomes public? Is there any other way I can add my archetype info to the new project? like adding that info in the layer.xml etc.

regards,

As far as I'm concerned it's public api and i'm trying to keep the classes in api.* packages backward compatible. Are you having problems developing against the module?

Regards

Milos

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to