Bind Ant target to "Build Project" in Netbeans? - netbeans

I just started using Netbeans for my PHP projects. I'm using Netbeans mostly for the xdebug functionality. I have a script that I run through the PHP CLI to "build" cached files.
Currently the "Build Project" and "Clean and Build Project" options are grayed out. I would like to make these actions run different scripts.
I figured the Ant plugin would be the best way to go, but I can't seem to figure out how to bind the target to this action.
Anyone know how to do this? If there is another way I'm not tied to Ant, I just want to attach shell scripts to those actions.

This seems to be a limitation with the PHP plugin. There is a bug report here that provides a patch to add this functionality. I'm not sure how to apply the patch though. There is a comment on this bug report that suggests an optional plugin may be created. If you want this functionality vote for it on the bug report.

Related

New to Aptana, two questions on deployment

I've moved to Aptana from DW (mainly to get better Phonegap/Android integration). I'm using Aptana integrated into Eclipse (i.e. installed Eclipse and then added Aptana).
I have two questions.
How can I configure Aptana/Eclipse to copy files to my local development server when I want to test? I can clearly do this in the filesystem outside the IDE, but would like it inside on a button or menu.
How can I configure the process to use, for example, the Google closure tools for js and css as part of my build/deployment process? I'd like to automatically minify the js and/or be able to use the css extensions offered (variables).
I get the feeling that all this should be possible since Eclipse is so configurable, but I don't know where to start. Would Ant do this for me? How?
Would appreciate some pointers.
Thanks
Abo
I can answer your first question.
If you have the Aptana plug-in installed, you will have an option on your right-click menu titled "Deploy". Expanding the deploy setting will reveal the option to "Run Web Deployment Wizard...". From here, if you are using a web server as mentioned, you will probably want to choose the FTP/SFTP/FTPS option. Fill in the form with your servers information and be sure to run a test to make sure things are working properly.
I always check the "Automatically sync my changes with the remote site" box and then select the "Automatically sync in both directions" radio button. This will automatically deploy my current file to my web-server upon a save.
You may also want to only select the "Automatically sync from my machine to remote site", the reason I choose both ways is because I sometimes work from different machines and it helps me keep things in sync. A little tweaking and it should save you a lot of time and effort!
[Using Indigo Release 1, and Aptana Studio 3]
Aptana don't include support for "Google Closure", you can instead use "Eclipse" or "WebStorm".
I hope below links will help -
http://www.daveoncode.com/2009/11/23/automatically-compile-javascript-applications-using-google-closure-and-ant/
and this stack exchange thread -
Google closure compiler usage WebStorm

Importing Eclipse Plugin source in Eclipse

I have the source code for the VersionOne plugin. I am wanting to modify the code because I am getting a NullPointerException when I click a specific button on the plugin which crashes eclipse. I was wondering what steps I need to take in eclipse to import the source code, modify it, and get it to run. I have read over how to create a new plugin project, but I have never tried importing a plugin before. Plugin Source
Once you have imported the project and that seems to work fine, just run it like any other plugin.
I.e:
Set the breakpoints you want in the code
Click the "Run as..."
In the run dialog start up a new Eclipse instance
On the tab "plugins" make sure your imported plugin is selected
If you are using the plugin at the same time, make sure that the non-workspace is not selected
In the new Eclipse instance, set up a situation that will provoke the bug
You need the following things to do that:
From Eclipse download a distro with PDE (Plugin Development) included.
The source pages
Some configuration management tool like Git or Subversion.
You do then the following steps:
Unzip your sources locally somewhere and add them to the CM system.
Create an eclipse plugin project from that source location (depending on Git or SVN different steps).
Create a run configuration for Eclipse that includes that plugin. That is similar to creating a run configuration for Java, but your Java application is then eclipse (see the Help on Eclipse Application Launcher). You have to ensure that in the "Plug-ins Tab", your new plugin is included. After you have started it, you should see the new feature implemented in the new running eclipse. To debug it, you just have to press the debug button instead of the run button. You may then add breakpoints to the source code of your plugin to see how it is working.
You are then able to start a new eclipse application which includes the plugin and make your tests there. You are able to set breakpoints, debug the code and so on. If you find the error, you can change the code, test it, and as a result have a difference to the source you had initially. The best would be then to make a patch and send it back to the originator.
To deploy it then to others is a different story, and is well documented.

Eclipse adding your own build command

I am new to eclipse and wanted to do the following:
Use my custom build commands with eclipse. Until now I only saw make all. I use a shell script for building my project; how can I use that in an Eclipse environment?
When I create a new project with the existing source code, it doesn't add the files, without building the code and if code fails to build (because I generally don't have make all).
How do I resolve this issue?
You can add a custom builder in the "Builders" category of the project properties.
project->properties->builders->new
there you can also deactivate the default eclipse builders..
hope that helped
In addition to what smeg4brains said and assuming that you are using the CDT plugin you can go to:
project -> properties -> C/C++ Build
Uncheck Use default build command on the Builder Settings tab and replace make with e.g. scons.
On the Behaviour tab you can then specify the target to call for the Build and Clean phase.
To resolve your second issue open the Project menu and uncheck Build automatically.
This will prevent Eclipse from building the project when it thinks it is necessary.
If you want to add other your own commands then the easiest way is to write Ant file for your project so by clicking once you can execute all your commands.To see how to write Ant file click here
I was able to do something similar to have protoc run on my .proto files. I did it by adding a "Make Target" to the project.
A lot of stuff in Eclipse you can get around using Ant, which are XML scripts, and there is also a ANT project builder which uses those. If you don't like to mess with frankly quite touchy GUI options, just write a build.xml and use ANT build as the project builder.

Can NetBeans auto-build java free-form (Ant) projects?

After every save I need to right-click on the project in the project browser and click on build.
Is there a way to configure NetBeans to auto-build the project when I save a file?
See Compile on Save FAQ: http://wiki.netbeans.org/FaqCompileOnSave
I don't use CoS myself, I highly recommend Jenkins for your auto-build needs (and so much more): http://jenkins-ci.org/
The compile on save option is not available for free-form projects as of NetBeans version 8.0. And I don't think it will be made available in future too. The very idea of free-form is that that IDE does not know anything about your project and completely relies on the ant-scripts and the mappings you provide.
If you don't want to build an entire project every time you make changes to a file, create a target in ant to compile a single file and map it to the IDE command compile.single. You could add a context menu for that if required, although the existing keyboard shortcut F9 should suffice.
You can read more on the advance free-form configuration here - Advanced Free-Form Project Configuration

Ant build consoles get clobbered by dependent projects in Eclipse

I have a set of dependent projects in Eclipse, each with its own Ant build script. If I make a change in multiple projects, then select "Build All" (Ctrl+B), each Ant build is invoked in the correct order. But if there is an error in one project, Eclipse still tries to build the other projects also, and in the process clobbers the Ant console so that the build errors are no longer visible. This wouldn't be quite so annoying if I could open up the offending project and select "Build Project", but Eclipse out-smarts me: it won't rebuild until I open some file in the project, edit it, and save (typically I add and remove a space character wherever my cursor happens to be). An answer to any of the following questions would be welcome.
How can I configure Eclipse to (in preference order):
terminate a "Build All" as soon as any project's Ant build fails?
save all console output for "Build All" instead of resetting the console for each project?
spawn a separate console for each new instance of Ant?
allow me to force a "Build Project" even if it doesn't think anything has changed?
[UPDATE] Bonus Question:
How can I configure Eclipse so that fixing any build errors in a depended-on project counts as a "change" for the purposes of "Build Project"?
Have you tried redirecting standard out to file via a run configuration? A few screen shots to help if not... (you may try 'append' this is not in my screen shot :) )
One alternative is to have each Ant build log itself, e.g., using the following in build.xml
<record name="build.log"
loglevel="verbose"
append="false" />
Oddly, Eclipse seems to disable this logging somehow when running an Ant build.
I am not too big on ant, but can't you make the builds dependent on one another?