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 203519

Summary: Integrate the profiler execution related actions into the generic project infrastructure
Product: projects Reporter: J Bachorik <yardus>
Component: Generic InfrastructureAssignee: J Bachorik <yardus>
Status: RESOLVED FIXED    
Severity: normal CC: dkonecny, jglick, mkleint, phejl, tzezula
Priority: P1 Keywords: API, API_REVIEW_FAST, PLAN
Version: 7.1   
Hardware: All   
OS: All   
Issue Type: TASK Exception Reporter:
Bug Depends on: 51571, 206196, 207227, 210524, 210850, 210854    
Bug Blocks: 109072, 203199, 62592, 105545, 111933, 159643, 175159, 183578, 204074, 205823, 213580    
Attachments: patch
The actual API change patch
Various patches containing the implementation of the proposed API change
The actual API change patch
Various patches containing the implementation of the proposed API change
The actual API change patch
Various patches containing the implementation of the proposed API change
The actual API change patch

Description J Bachorik 2011-10-11 14:16:20 UTC
Currently, all the profiler execution related actions (profile project, profile file and profile test) are side-stepping the standard IDE way of registering and using such actions. This is a relic from times when the profiler was a separate pack rather than an integral part of the IDE.

Finishing this task will make it possible to resolve several other user issues and enhacements, mostly in the area of freeform project.
Comment 1 J Bachorik 2012-03-16 18:22:08 UTC
I am submitting this change to API review as in order to get the profiler actions integrated into the generic project infrastructure an API addition is needed for constants representing those actions in the ActionProvider SPI.

Please, review.
Comment 2 J Bachorik 2012-03-16 18:25:25 UTC
Created attachment 116818 [details]
patch

The actual API change is pretty small (just few string constants in the ActionProvider SPI). The rest of the patch is related to the actual API usage and may contain some more substantial changes I would like to get feedback on.
Comment 3 Quality Engineering 2012-03-17 10:37:35 UTC
Integrated into 'main-golden', will be available in build *201203170400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/b2bca86cdb7c
User: Jaroslav Bachorik <yardus@netbeans.org>
Log: #203519: Updating profiler actions to utilize declarative annotation registration as much as possible; the launcher related actions are not included yet
Comment 4 Jesse Glick 2012-03-20 03:49:50 UTC
Too long for me to review in real detail, and some apichanges/@since would be needed e.g. in JavaRunner, but some initial comments:


Please do not include random code reformattings in a patch for review, e.g. Actions.java:196 or SingleMethod.java but other places as well. You should be prereviewing changes before showing them to others.


[JG01] Was the move of setRunArgsIde in ModuleActions intentional?


[JG02] Why is profileOsgi commented out?


[JG03] Why casesensitive="false" when checking for JVM arguments? You cannot pass -JavaAgent:something!


[JG04] http://www.netbeans.org/kb/articles/<freeform-config.html#debugj2se> does not look like a real URL.


[JG05] Check if autoproject.profiler can be simplified and folded into autoproject.java. For that matter, check if maven.profiler can be simplified and folded into maven (and maven.j2ee and maven.apisupport).
Comment 5 J Bachorik 2012-03-20 11:18:39 UTC
Created attachment 116911 [details]
The actual API change patch
Comment 6 J Bachorik 2012-03-20 11:19:38 UTC
Created attachment 116913 [details]
Various patches containing the implementation of the proposed API change
Comment 7 J Bachorik 2012-03-20 11:35:25 UTC
(In reply to comment #4)
> Too long for me to review in real detail, and some apichanges/@since would be
> needed e.g. in JavaRunner, but some initial comments:

I've cleaned up the patch and divided it into the actual API change patch and the patches related to various project types dealing with incorporating profiler actions into them. I hope the size of those patches is more suitable for review now.

> 
> 
> Please do not include random code reformattings in a patch for review, e.g.
> Actions.java:196 or SingleMethod.java but other places as well. You should be
> prereviewing changes before showing them to others.

Cleaned up. No code reformattings should be found in the patches now.

> 
> 
> [JG01] Was the move of setRunArgsIde in ModuleActions intentional?
Yes. If you check the original code the arguments from startup extenders were not collected single file actions. I believe the startup extenders should be called for single file actions too.

> 
> 
> [JG02] Why is profileOsgi commented out?
The action registration is performed in org.netbeans.modules.profiler.nbimpl.actions.AntActions#profileOsgi() instead.

> 
> 
> [JG03] Why casesensitive="false" when checking for JVM arguments? You cannot
> pass -JavaAgent:something!
A mistake multiplied by copy-pasting :( Fixed.

> 
> 
> [JG04] http://www.netbeans.org/kb/articles/<freeform-config.html#debugj2se>
> does not look like a real URL.
A placeholder for now. Looking for a proper URL linking an article about configuring the profiler for freeform project. Is it ok to just remove the link if there is none?

> 
> 
> [JG05] Check if autoproject.profiler can be simplified and folded into
> autoproject.java. For that matter, check if maven.profiler can be simplified
> and folded into maven (and maven.j2ee and maven.apisupport).
I will check the autoproject since it will definitely need some changes in order to work with modified profiler. Regarding the folding *.profiler modules into maven/autoproject modules - this would introduce an inter-cluster dependency and require a proper public API from the profiler. There is no such API planned for 7.2
Comment 8 J Bachorik 2012-03-20 12:27:36 UTC
Created attachment 116916 [details]
The actual API change patch
Comment 9 J Bachorik 2012-03-20 14:42:25 UTC
Created attachment 116933 [details]
Various patches containing the implementation of the proposed API change

Updated the freeform profiling FAQ url in the generated profile action skeleton.
Comment 10 J Bachorik 2012-03-26 09:08:07 UTC
Created attachment 117229 [details]
The actual API change patch

Accommodating for #71515
Comment 11 J Bachorik 2012-03-26 09:08:55 UTC
Created attachment 117230 [details]
Various patches containing the implementation of the proposed API change

Accommodating for #71515 + support for auto projects
Comment 12 J Bachorik 2012-03-26 09:12:31 UTC
Created attachment 117231 [details]
The actual API change patch

Updating the date in apichanges.xml
Comment 13 J Bachorik 2012-03-26 09:12:53 UTC
I've just uploaded the last bunch of patches accommodating the changes introduced by #71515.

If there are no more comments/objections I would like to integrate today.
Comment 14 J Bachorik 2012-03-27 10:08:35 UTC
Changes implemented in 
http://hg.netbeans.org/profiler-main/rev/cf681524d222
Comment 15 Jesse Glick 2012-03-28 19:43:03 UTC
BTW you pushed changes to contrib/autoproject.* while this is still not in main-silver, so nbms-and-javadoc reports a build failure for these modules which I suppose will resolve itself as soon as someone runs push-profiler-main.
Comment 16 J Bachorik 2012-04-02 11:32:15 UTC
actually fixed in http://hg.netbeans.org/profiler-main/rev/cf681524d222
Comment 17 Quality Engineering 2012-04-02 15:56:34 UTC
Integrated into 'main-golden', will be available in build *201204021038* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/cf681524d222
User: Jaroslav Bachorik <yardus@netbeans.org>
Log: #203519: Integrating the execution related profiler actions
Comment 18 David Konecny 2012-09-18 20:48:36 UTC
I noticed in IDE log warnings saying:

Compiler warnings:
  jar:file:/home/dev/main2/nbbuild/netbeans/enterprise/modules/org-netbeans-modules-web-project.jar!/org/netbeans/modules/web/project/resources/build-impl.xsl: line 1552: Attribute 'if' outside of element.

It's a good idea after changing build-impl.xsl files to test validity of your changes using "Check XML" and "Validate XML" actions from editor's toolbar. I'm fixing these warnings for EE/Web projects: web-main#1b52392f4b37
Comment 19 Quality Engineering 2012-09-20 02:24:57 UTC
Integrated into 'main-golden', will be available in build *201209200001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/1b52392f4b37
User: David Konecny <dkonecny@netbeans.org>
Log: #203519 - fixing XSL warnings