Bug 54899

Summary: Initial support for netbeans ide
Product: Tomcat 8 Reporter: Brian Burch <Brian>
Component: PackagingAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: P2    
Version: 8.0.x-trunk   
Target Milestone: ----   
Hardware: PC   
OS: Linux   
Attachments: svn diff: changes to build.xml
New file: res/ide-support/netbeans/README
New file: res/ide-support/netbeans/project.xml
New file: res/ide-support/netbeans/nb-tomcat.xml
New file: res/ide-support/netbeans/nb-tomcat-project.properties
New file: res/ide-support/netbeans/nb-tomcat-build.properties

Description Brian Burch 2013-04-28 14:17:47 UTC
Created attachment 30229 [details]
svn diff: changes to build.xml

I started work on this task at the late in 2011, with some
discussion on the dev list, i.e.

http://mail-archives.apache.org/mod_mbox/tomcat-dev/201112.mbox/%3C4EFD25B0.6050204@pingtoo.com%3E

Every now and then I've improved the support on my own netbeans system, but
finally decided to try packaging the local changes so they would be
appropriate for other users. It has been a frustrating task, and I have
not yet achieved my objective. However, I have produced a fairly large
change that works - subject to some limitations. Further improvements are
quite difficult for me because there isn't anything in the repository
for me to revert to!

I would like to have my current set of changes committed to the repository.
They are intended to be transparent to anyone who doesn't use netbeans,
and are optional for netbeans users.

The change comprises several parts:

0. Netbeans reserves the subdirectory ${basedir}/nbproject for its
   local files. A svn ignore for this directory was committed more than
   a year ago, and is a pre-requisite for my change.

1. In line with Konstantin's suggestions, I need a new directory
   added to the source tree, called ${basedir}/res/ide-support/netbeans

2. I need to make two neutral changes to build.xml:
2.1. A new property that defines the invariant nbproject directory path.
2.2. A set of netbeans-specific tasks to install the new res templates
     into the local nbproject directory for an individual user.
     (Analogous to the existing ide-eclipse target).

3. A new collection of five template files to be committed to the
   res/ide-support/netbeans directory. These files will be installed by
   the new ide-netbeans build target.
3.1. One of these files is a README which explains how to use the new
     support, and its current limitations. I expect to replicate this
     information into the appropriate section of the wiki.
3.2. Project.xml "wires" the tomcat Free-Form project, associating
     ide actions to ant targets, and also providing classpaths for
     syntax checking and code completion.
3.3. nb-tomcat.xml defines additional ant targets that are only applicable
     to the netbeans workbench, such as debugging a single unit test
     class.
3.4. Two properties files, one relevant to both syntax-checking and ide
     targets, and the other only relevant to the ide targets.

4. Checkstyle passes all my changes, although I am not convinced that my
   copyright notices are appropriate. However, checkstyle does not like
   a file called nbproject/private/private.xml. This is created and
   maintained by netbeans. I think there should be an exclusion rule for
   checkstyle to ignore either the whole of nbproject, or at least
   nbproject/private/*.

I hope this proposed change is not too controversial.
Comment 1 Brian Burch 2013-04-28 14:19:54 UTC
Created attachment 30230 [details]
New file: res/ide-support/netbeans/README
Comment 2 Brian Burch 2013-04-28 14:20:37 UTC
Created attachment 30231 [details]
New file: res/ide-support/netbeans/project.xml
Comment 3 Brian Burch 2013-04-28 14:21:10 UTC
Created attachment 30232 [details]
New file: res/ide-support/netbeans/nb-tomcat.xml
Comment 4 Brian Burch 2013-04-28 14:22:05 UTC
Created attachment 30233 [details]
New file: res/ide-support/netbeans/nb-tomcat-project.properties
Comment 5 Brian Burch 2013-04-28 14:22:31 UTC
Created attachment 30234 [details]
New file: res/ide-support/netbeans/nb-tomcat-build.properties
Comment 6 Mark Thomas 2013-05-20 09:22:02 UTC
Comment on attachment 30229 [details]
svn diff: changes to build.xml

Correct MIME type
Comment 7 Mark Thomas 2013-05-20 09:24:41 UTC
Comment on attachment 30230 [details]
New file: res/ide-support/netbeans/README

Fix MIME type
Comment 8 Mark Thomas 2013-05-20 09:53:32 UTC
Thanks for the patch. Applied to trunk.