Phing support

Phing is a powerful build tool based on Apache Ant. Apache Ant has an extensive and long-standing support in IDEA. At least, I used it even in IDEA 7. So now I’m glad to introduce Phing support in PhpStorm EAP to you.

First of all, we have implemented Phing Explorer for build files:
Phing Explorer
In this Explorer, you view existing build files, run desired targets, and easily navigate to them with F4 key. To add a build file to the Explorer, choose “Add as Phing Build File” on the context menu of the file.
Another advantageous feature is autocompletion for standard tags. Also PhpStorm automatically completes and checks properties, target names, path attribute values in build files:
Property autocompletion and resolving
These features only make the basic support, and still there is a lot to implement. So your feedback is highly appreciated.

Develop with pleasure!
-JetBrains Web IDE Team

This blog is permanently closed.

For up-to-date information please follow to corresponding WebStorm blog or PhpStorm blog.

 
This entry was posted in Cool Feature, PhpStorm and tagged , , . Bookmark the permalink.

28 Responses to Phing support

  1. OZ says:

    Can somebody give link to video or screenshots, to SEE, how Phing works? Or explaining in words but for dummies.
    Frankly, I don’t know what for this Phing can be used. On official site only explained that it is project build system, based on Ant, but I just want to see, how it works, not how it’s named.
    Thank you.

  2. Shaverdova Elena says:

    Phing automatizes building or deployment process like checkout code, update copyrigth, run tests, then copy code somewhere, etc. These actions can be described in single buildfile and then run. More about it and concrete actions you can find here or in Phing documentation. Examples of build files are provided in both sources.

  3. Jacob says:

    How about plain Ant support? It seems to me that Phing is only for PHP building as it itself is built in PHP. It would be great if PhpStorm (and WebStorm) could build Ant, so you don’t have to do it from external command prompt.

  4. Shaverdova Elena says:

    @Jacob Most actions are irrespective of programming language, and that part of Phing has very much in common with Ant. But any extension of Ant/Phing needs support of Java/PHP respectively. So, it’s much more natural to use Phing in PhpStorm.
    Good Ant support needs java support, so is rather unlike to be ported to PhpStorm or WebStorm. Anyhow, you may vote or comment request for Ant support in PhpStorm.

  5. This is an awesome addition and I’m glad it’s finally added!

  6. Stanislav says:

    How about phing support in webstorm?

  7. Shaverdova Elena says:

    @Stanislav Recent WebStorm EAP comes with bundled Phing plugin.

  8. Eric Bednarz says:

    Opening a project with a build file causes an internal error; submitting the stack trace appears to be broken (Submit button is disabled; edit: I gather from the catcha mechanism below that you guys just don’t like feedback; what else is new). PHPStorm 2.1 on OS X.

  9. Shaverdova Elena says:

    @Eric We do appreciate your feedback. Does this issue describe your problem?

  10. hg says:

    Yes, I also get the error as Eric Bednarz reported when using the phing.

  11. Eric Bednarz says:

    Regarding WI-6403: indeed I can’t select a build target, but after an exception I wouldn’t expect things to work as expected; I have no way of knowing if that is a consequence or coincidence.

    I have refreshed the capture 12 times before I got one I could read, this is ridiculous (I anticipate the common euphemism for broken communication channels, ‘we never had complaints’).

    As I said error reporting from within the IDE is broken. Here you go:

    Original exception: l
    java.lang.NoSuchFieldError: l
    at net.sf.cglib.proxy.AdvancedEnhancer.create(AdvancedEnhancer.java:313)
    at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:112)
    at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:90)
    at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:76)
    at com.intellij.util.xml.impl.DomInvocationHandler.(DomInvocationHandler.java:125)
    at com.intellij.util.xml.impl.DomRootInvocationHandler.(DomRootInvocationHandler.java:32)
    at com.intellij.util.xml.impl.DomFileElementImpl.(DomFileElementImpl.java:126)
    at com.intellij.util.xml.impl.FileDescriptionCachedValueProvider.a(FileDescriptionCachedValueProvider.java:118

  12. Shaverdova Elena says:

    @Eric Error stack trace could be reported from ide from the dialog with that error.
    Thanks for error reporting, I’m currently fixing that bug.

  13. Eric Bednarz says:

    @Shaverdova

    As I said twice, error reporting from within the IDE does *not* work, at least in this case. I haven’t encountered any other exceptions with 2.1 yet, so I don’t know if that’s a general regression or not.

  14. Shaverdova Elena says:

    @Eric Sorry, I didn’t catch that.

  15. hg says:

    the errors is there!

  16. Shaverdova Elena says:

    @hg what errors are you talking about?

  17. hg says:

    windows 7
    While click the Phing button, it will give me some errors:

    Original exception: l
    java.lang.NoSuchFieldError: l
    at net.sf.cglib.proxy.AdvancedEnhancer.create(AdvancedEnhancer.java:313)
    at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:112)
    at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:90)
    at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:76)
    at com.intellij.util.xml.impl.DomInvocationHandler.(DomInvocationHandler.java:125)

  18. hg says:

    Same as Eric report, right?

  19. Shaverdova Elena says:

    Right, same. Please, discuss this reported error in bug tracker. This error is already fixed, fix will be available in PhpStorm 2.1.1

  20. hg says:

    Actually, I am using the PhpStorm 2.1,it’s the error from.

  21. hg says:

    how can it get the version 2.1.1? it’s not release, right?

  22. Shaverdova Elena says:

    @hg sorry, in 2.1.1. This is bugfix release for 2.1 users.

  23. Eric Bednarz says:

    I’m happy to say that phing works fine in the 2.1.1 EAP, and it’s really a valuable addition.

    One thing though: is it somehow possible to specify output filters for the messages window, like for external tools? I’m using a front-end build process that includes pre-linting js files, and any found problems abort the build; not being able to click on the error message to go to the code is a major drawback (that works fine currently with ant as an external tool).

  24. Shaverdova Elena says:

    Great! I’ve created two issues for filtering and for linking, you may vote and comment them.

  25. Volodymyr Iatsyshyn says:

    I’m using Phing support plugin, it’s great to have it in WebStorm!
    Recent I’ve noticed that plugin doesn’t show any tasks in my build file. But runs it smoothly with extenral Phing (stable 2.4.5).

    • Shaverdova Elena says:

      @Volodymyr Please use WebStorm 2.1.1 eap, tasks bug is fixed there. Or wait for 2.1.1 release, it is coming soon.

  26. chrif says:

    I just finished my first Phing build and I used Phing support in PhpStorm. I had to create a complex custom task and would have liked debug support from Phing explorer. Instead I had to create a run configuration for the target I wanted to debug. For everything else I enjoyed working with Phing support in PhpStorm. Than you!

Comments are closed.