This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 115156 - maven support on 6.0 BETA1 and dev AU
Summary: maven support on 6.0 BETA1 and dev AU
Status: VERIFIED FIXED
Alias: None
Product: updatecenters
Classification: Unclassified
Component: Stable (show other bugs)
Version: 6.x
Hardware: All All
: P1 blocker (vote)
Assignee: rnovak
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-10 13:43 UTC by Milos Kleint
Modified: 2007-10-04 15:01 UTC (History)
2 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
Screenshot attached... (26.59 KB, image/png)
2007-09-13 13:35 UTC, Jaromir Uhrik
Details
Screenshot attached... (82.91 KB, image/png)
2007-09-13 14:36 UTC, Jaromir Uhrik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Milos Kleint 2007-09-10 13:43:07 UTC
AUC request:
============
Module: Maven Support
AUC Type: BETA1 + Dev
AUC Version: 6.0
AUC Category: Maven
Contact: mkleint@netbeans.org
Reason: module update
NetBeans signature: Yes

URL:
http://deadlock.netbeans.org/hudson/job/mevenide/177/artifact/mevenide-AU-SNAPSHOT.zip

The nbm binaries at designated URL are to be deployed both on beta1 and dev update center. I didn't include any
"feature" umbrella module, I assume the same process as in milestone 10: In the UI the maven modules shall look as one
module and the aggregating was done on the update center side only.
Please advice on changes in case the process has been updated.
Comment 1 Antonin Nebuzelsky 2007-09-10 16:17:36 UTC
> Please advice on changes in case the process has been updated.

Milosi, unfortunatelly the mechanism changed. One module must be the visible one and the other modules must be marked as
hidden (Jirka will point you to the way of doing this). The visible module's installation must induce installation of
the other modules, through dependencies.
Comment 2 Milos Kleint 2007-09-10 18:46:07 UTC
done in the next build:
The correct URL is this now:
http://deadlock.netbeans.org/hudson/job/mevenide/178/artifact/mevenide-AU-SNAPSHOT.zip

There is one more module that envelopes the basic set of maven modules. j2ee/apisupport modules are kept separate as
autoload as the maven module itself shall be usable without enterprise or apisupport installed.
Comment 3 rnovak 2007-09-11 10:20:16 UTC
I uploaded maven modules to both - Dev UC for trunk and Beta UC for NB 6.0 beta1.
Please, double check.
Comment 4 Milos Kleint 2007-09-11 15:16:01 UTC
the hidden modules ar enot hidden. That's a problem of the maven integration binaries, I will investigate and regenerate
those.
Comment 5 Milos Kleint 2007-09-11 19:08:39 UTC
Reberte, please use these binaries:
http://deadlock.netbeans.org/hudson/job/mevenide/182/artifact/mevenide-AU-SNAPSHOT.zip

These nbms should already have the correct manifest entries included in Info.xml file in order to make them hidden in
UI. I've tested locally with generated UpdateCenter site.xml file.

post mortem: The problem was in the fact that maven support nbm binaries are created by maven-nbm-plugin which uses
netbeans ant tasks from 5.5. However these tasks don't copy the manifest entry  for module hiding from manifest.mf of
the module into the appripriate info.xml of the nbm file. Therefore the update site xml didn't include the "hiding" bits
either.
I've done a respin of the nbm-maven-plugin that allows to use the 6.0 beta1 ant tasks for building.
Comment 6 rnovak 2007-09-11 23:31:59 UTC
I uploaded the NBMs provided by Milos. I did a quick download test and it looks good.
Please, double check.
Comment 7 Milos Kleint 2007-09-12 08:14:52 UTC
yup. Looks good to me.
Comment 8 Jaromir Uhrik 2007-09-13 11:00:57 UTC
It doesn't work well. There are following problems that must be fixed before Beta is released:
1/Maven plugin shows in Java category
2/Other Maven plugins should not be visible in Plugin Manager to avoid availability of installing them separately
Comment 9 Milos Kleint 2007-09-13 12:13:42 UTC
re 1: that's correct. I've modelled it after Ant which is also in Java.
re 2: what other maven plugins are you talking about? the j2ee/apisupport/persistence ones?
these need to be separate, as they are bridges to functionality that spans multiple clusters. So if the enterprise
cluster is not available, we still should be able to use basic maven support. And vice versa. Usign the maven support
shall not require installing enterprise modules.
Comment 10 Antonin Nebuzelsky 2007-09-13 12:26:01 UTC
Milosi, if these are really only bridges, I think user does not need to know about them.

Bridges, if designed as eager modules, should be hidden and Plugin Manager installs them automatically when their
dependencies are satisfied.
Comment 11 Milos Kleint 2007-09-13 12:40:12 UTC
yes, but in order to include them in the Maven kit, the Maven kit needs to depend on these bridges. Only then they can
be hidden. Then the whole Maven kit depends on the enterprise modules and cannot be installed without it.
Comment 12 Antonin Nebuzelsky 2007-09-13 12:46:28 UTC
No, eager modules are handled specially. Nothing has to depend on them and PM will install them if _their_ dependencies
would be satisfied after their installation.

Jirko, this must be documented somewhere. Can you create a how-to for module developers, or maybe a FAQ?
Comment 13 Milos Kleint 2007-09-13 12:49:05 UTC
anebuzelsky: no, I'm not talking about installing bridges, I know how these work. Are you suggesting that every
bridge/eager module found on any update center will get automatically downloaded and installed?
Comment 14 Antonin Nebuzelsky 2007-09-13 12:54:01 UTC
> Are you suggesting that every bridge/eager module found on any update center
> will get automatically downloaded and installed?

Yes, as soon as the bridge's dependencies are satisified.
(after user satisifies the bridge's dependencies by installing A and B, where A <- X -> B and X is the bridge)
Comment 15 Milos Kleint 2007-09-13 13:09:16 UTC
That's not how it works in the current AU!

Check for yourself. Install "Maven" and watch what happens to the bridge maven modules. None of them gets automatically
installed.

Comment 16 Jaromir Uhrik 2007-09-13 13:33:37 UTC
Well when I install single plugin "Maven2 project type - J2EE bridge" from Maven category I have it installed as "Maven2
project type - J2EE bridge" in Maven category. But the red icon tells me that it is not allright. Then I restart IDE and
suddenly the "Maven2 project type - J2EE bridge" is in Bridges category. This behavior sounds strange to me.
Comment 17 Jaromir Uhrik 2007-09-13 13:35:07 UTC
Created attachment 48744 [details]
Screenshot attached...
Comment 18 Milos Kleint 2007-09-13 14:04:27 UTC
juhrik: I've tried the same.  The yellow/red icon seems to appear somewhat random. I didn't get it for the maven-j2ee
module, nor the maven-persistence module, but it appeared for maven-apisupport. My workaround was not restart of IDE,
but triggering "Reload catalog" button in the plugin manager. After that the icon changed to green and the category
changed from Maven to Bridges.
That leads me to believe that this is a problem in module manager ui. feel free to file it as such.

I've discovered there is indeed an issue when checking the maven-j2ee module only. the j2ee module doesn't depend on the
maven kit module and therefore the underlying modules that are part of the kit gets downloaded and installed but the kit
itself is not being installed. But since no real functionality of the maven project type is hindered by this, I consider
it non-blocker for beta1 update center. We'll fix it for beta 2 of course.
Comment 19 Jaromir Uhrik 2007-09-13 14:35:23 UTC
I have to admit that it is not clear to me what is the user supposed to install when she wants to use Maven. I expect
that Maven in Java category. But when I install it then new Maven update center is registered and in the Available
Plugins tab of th Plugin Manager I see some Maven plugins in version 3.0.6, some in 3.0.7 (see attached screenshot).
Comment 20 Jaromir Uhrik 2007-09-13 14:36:15 UTC
Created attachment 48746 [details]
Screenshot attached...
Comment 21 Milos Kleint 2007-09-13 14:45:36 UTC
these are additional experimental modules that are placed on 3rd party AU (therefore the hand icon, instead of the beta
or netbeans icon). These didn't change a bit since 3.0.6, so that version is ok.
We might put them under one umbrella kit "Maven-Experimental" or something like that in the future, however i'm not in
favor of that.

If you want to use Maven support, you primarily install Maven kit module. The rest are optional, additional features.
Comment 22 Jaromir Uhrik 2007-09-13 15:42:48 UTC
OK, all mentioned problems seem to be edge case. Maven plugins are at Beta UC so that I admit it is not necessary to
resolve it right now. Some details are out of my understanding and I prefer to discuss it later then file and fix
related issues to Beta2.
Comment 23 Jaromir Uhrik 2007-10-04 15:01:49 UTC
Verified.