As of php maven 2.1 we will focus on project types and frameworks support. One of the most important questions is: How do we configure a framework in POM and what does a framework mean? Where does a framework influence the maven build?
The answer we found is described in the pdf.
Those that want to use frameworks should be able to configure them as easy as possible. This leads us to the simple build plugin that simply is taking 1 to many framework names. For example you could choose to enable framework "zend-framework" as well as "smarty" and "jsunit".
The frameworks lead to conventions in directory layout inside src/main/php etc. You all may know the standard directory layout of a zend framework web application. And a framework may install validators to prove you are using the correct layout.
For example smarty can introduce a smarty template folder containing the typical *.tpl files. Smarty coudl introduce a validator that will abort the maven built if any of the smarty templates cannot be parsed.
The jsunit can intrduce a test folder src/test/jsunit. This test folder contains jsunit test cases that will be executed during testing.
Those that need more deeper control about the validations and file types or folder types can influence them by overwriting the defaults.
We will be fully compatible meaning that not configuring any project type will lead to a simple PHP-Maven 2.0 project.