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]