Re: Is ArchetypeProvider in mavenide/nb6.0 public api?

2008-02-28 Thread Srinivasan Chikkala


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  ? 
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]



Re: Is ArchetypeProvider in mavenide/nb6.0 public api?

2008-02-28 Thread mkleint

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.
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)


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?


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]



Re: Is ArchetypeProvider in mavenide/nb6.0 public api?

2008-02-28 Thread Srinivasan Chikkala

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.


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]



Re: Is ArchetypeProvider in mavenide/nb6.0 public api?

2008-02-27 Thread mkleint

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]



Is ArchetypeProvider in mavenide/nb6.0 public api?

2008-02-27 Thread Srinivasan Chikkala
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,

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


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