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.
Currently if you run ant -Dcluster.config=basic (or '...=java') you do not get the Profiler. cluster.properties excludes nb.cluster.profiler from these configs, since it depends on the enterprise cluster (due to profiler.j2ee* modules) which is not built. (The downloaded Basic IDE does contain the Profiler, since the build in this case builds all clusters, then packages some of them up. But this also suffers from the problem that the Basic IDE will contain Java EE-specific modules which cannot be enabled.) Since in the current packaging system the Profiler is more "basic" than Java EE, the cluster dependencies should be reversed.
Created attachment 68360 [details] Possible patch (untested by me)
I agree from the end user point. From architecture one, that however means the profiler creates an inter cluster API and j2ee cluster consumes it. It is desirable to upgrade its friend status to more stable one in the longer term.
1. I hear there are already plans for a more formal API for the Profiler. 2. There are already a number of friend dependencies both from and to the profiler cluster, including j2ee <-> profiler. It is possible that moving profiler.j2ee* to the j2ee cluster would in fact reduce the total number of friend dependencies, though it is hard to give a meaningful measure to this.
Obviously before making any change like this you should try (clean) building some cluster configs. Also run: ant check-module-configs which will report several kinds of common mistakes.
*** Issue 158195 has been marked as a duplicate of this issue. ***
Should be fixed ASAP, see duplicate. Should be trivial. I can refresh my suggested patch if needed (might no longer apply cleanly).
I have a patch ready. This will introduce a new inter-cluster dependency (enterprise will depend on profiler) but there is no intention of upgrading the friend APIs to public APIs. If you have any concerns about this, please, express your opinions.
Created attachment 76855 [details] Proposed patch (tested - creates intercluster depndency)
Please use spaces rather than tabs in cluster.properties. I'm not sure I understand the logic of the change. Why would you leave modules such as profiler.j2ee.weblogic in the profiler cluster, thus in the Java IDE? Seems they belong in the enterprise cluster, so they will be active only when you are actually using Java EE app servers. Not sure I understand what the new profiler.j2ee.generic module is for, but it seems that all the profiler.j2ee* modules should simply be moved to enterprise (as in my older patch) and you would be done.
Alas, the profiler.j2ee.* modules might have been named improperly. They have nothing to do with the J2EE (enterprise) cluster. They don't depend on any modules from that cluster. They are used by the "Attach Profiler" wizard to enable a user to attach to an external (not IDE integrated) server and the possibility to attach to an external app server must be available even if the enterprise cluster is not installed. Because of this they should better stay the way they are. On the other hand, the profiler.j2ee module provides features which directly depend on the enterprise cluster and as such it should be moved to the enterprise cluster (thus creating inter-cluster dependency). In order to be able to move that module to the enterprise cluster and not to loose one of the attachment options ("Generic J2EE/WebApp Server") I needed to extract that implementation into a separate module that will stay in the profiler cluster.
I see, that makes more sense.
This one is fixed in http://hg.netbeans.org/profiler-main/rev/e1e2eea0caf6
Adjusting the milestone
Integrated into 'main-golden', will be available in build *200902131548* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/e1e2eea0caf6 User: Jaroslav Bachorik <yardus@netbeans.org> Log: #145198 - enabling the profiler cluster to be built without the enterprise cluster