Each folder in the Plugins SDK contains scripts for creating new plugins of that type. Here is the directory structure of the Plugins SDK:
liferay-plugins-<version>/- Plugins SDK root directory.
clients/- client applications directory.
dist/- archived plugins for distribution and deployment.
ext/- Ext plugins directory. See Chapter 8 on Ext plugins.
hooks/- hook plugins directory. See Chapter 7 on hooks.
layouttpl/- layout templates directory. See Chapter 6 on creating Liferay Layout Templates.
lib/- commonly referenced libraries.
misc/- development configuration files. Example, a source code formatting specification file.
portlets/- portlet plugins directory. See Chapter 3 on portlet development.
themes/- themes plugins directory. See Chapter 5 on creating Liferay themes.
tools/- plugin templates and utilities.
webs/- web plugins directory.
build.properties- default SDK properties.
build.<username>.properties- (optional) override SDK properties.
build.xml- contains targets to invoke in the SDK.
build-common.xml- contains common targets and properties referenced throughout the SDK.
build-common-plugin.xml- contains common targets and properties referenced by each plugin.
build-common-plugins.xml- contains common targets and properties referenced by each plugin type.
New plugins are placed in their own subdirectory of the appropriate plugin type. For instance, a new portlet called “greeting-portlet” would reside in
There’s an Ant build file (
build.xml) in each of the plugins directories. Here are some Ant targets you’ll commonly use in developing your plugins:
build-service- builds the service layer for a plugin, using Liferay Service Builder.
clean- cleans the residual files created by the invocations of the compilation, archiving, and deployment targets.
compile- compiles the plugin source code.
deploy- builds and deploys the plugin to your application server.
format-source- formats the source code per Liferay’s source code guidelines, informing you of violations that must be addressed. See the Development Style community wiki page for details.
format-javadoc- formats the Javadoc per Liferay’s Javadoc guidelines. See the Javadoc Guidelines community wiki page for details.
Next, let’s consider some best practices for developing plugins using the SDK.