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 145198 - Cannot build profiler cluster without j2ee
Summary: Cannot build profiler cluster without j2ee
Status: RESOLVED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: J Bachorik
URL:
Keywords: ARCH
: 158195 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-08-26 18:35 UTC by Jesse Glick
Modified: 2009-02-19 22:56 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Possible patch (untested by me) (2.53 KB, patch)
2008-08-26 18:39 UTC, Jesse Glick
Details | Diff
Proposed patch (tested - creates intercluster depndency) (51.72 KB, patch)
2009-02-11 13:42 UTC, J Bachorik
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2008-08-26 18:35:04 UTC
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.
Comment 1 Jesse Glick 2008-08-26 18:39:17 UTC
Created attachment 68360 [details]
Possible patch (untested by me)
Comment 2 Jaroslav Tulach 2008-08-28 08:08:44 UTC
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.
Comment 3 Jesse Glick 2008-08-28 15:55:36 UTC
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.
Comment 4 Jesse Glick 2008-12-10 22:18:59 UTC
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.
Comment 5 Jesse Glick 2009-02-10 23:37:10 UTC
*** Issue 158195 has been marked as a duplicate of this issue. ***
Comment 6 Jesse Glick 2009-02-10 23:39:54 UTC
Should be fixed ASAP, see duplicate. Should be trivial. I can refresh my suggested patch if needed (might no longer
apply cleanly).
Comment 7 J Bachorik 2009-02-11 13:41:27 UTC
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.
Comment 8 J Bachorik 2009-02-11 13:42:17 UTC
Created attachment 76855 [details]
Proposed patch (tested - creates intercluster depndency)
Comment 9 Jesse Glick 2009-02-11 15:09:30 UTC
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.
Comment 10 J Bachorik 2009-02-11 15:27:35 UTC
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.
Comment 11 Jesse Glick 2009-02-11 15:35:31 UTC
I see, that makes more sense.
Comment 12 J Bachorik 2009-02-12 12:50:54 UTC
This one is fixed in http://hg.netbeans.org/profiler-main/rev/e1e2eea0caf6
Comment 13 J Bachorik 2009-02-12 12:53:26 UTC
Adjusting the milestone
Comment 14 Quality Engineering 2009-02-13 21:48:21 UTC
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