~~ Licensed to the Apache Software Foundation (ASF) under one or more | |
~~ contributor license agreements. See the NOTICE file distributed with | |
~~ this work for additional information regarding copyright ownership. | |
~~ The ASF licenses this file to You under the Apache License, Version 2.0 | |
~~ (the "License"); you may not use this file except in compliance with | |
~~ the License. You may obtain a copy of the License at | |
~~ | |
~~ http://www.apache.org/licenses/LICENSE-2.0 | |
~~ | |
~~ Unless required by applicable law or agreed to in writing, software | |
~~ distributed under the License is distributed on an "AS IS" BASIS, | |
~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
~~ See the License for the specific language governing permissions and | |
~~ limitations under the License. | |
------ | |
Setting up your project | |
------ | |
Setting up your project | |
* Configuring your pom.xml | |
According to your jsf version you will need to set the required | |
dependencies. | |
In jsf 1.1 (use doclets). | |
------------------------------------------------------ | |
<dependency> | |
<groupId>org.apache.myfaces.core</groupId> | |
<artifactId>myfaces-api</artifactId> | |
<version>1.1.6</version> | |
<scope>provided</scope> | |
</dependency> | |
------------------------------------------------------ | |
In jsf 1.2 (use annotations). | |
------------------------------------------------------ | |
<dependency> | |
<groupId>org.apache.myfaces.core</groupId> | |
<artifactId>myfaces-api</artifactId> | |
<version>1.2.6</version> | |
<scope>provided</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.myfaces.buildtools</groupId> | |
<artifactId>myfaces-builder-annotations</artifactId> | |
<version>1.0.2</version> | |
<scope>provided</scope> | |
</dependency> | |
------------------------------------------------------ | |
If you are working with converters and validators, you should use | |
myfaces commons dependencies as base for it: | |
----------------------------------------------------------- | |
<dependency> | |
<groupId>org.apache.myfaces.commons</groupId> | |
<artifactId>myfaces-validators12</artifactId> | |
<version>1.0.0</version> | |
<scope>compile</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.myfaces.commons</groupId> | |
<artifactId>myfaces-converters12</artifactId> | |
<version>1.0.0</version> | |
<scope>compile</scope> | |
</dependency> | |
----------------------------------------------------------- | |
Then you need to define the plugin configuration in your projects | |
pom.xml like this: | |
------------------- | |
<build> | |
<resources> | |
<resource> | |
<directory>src/main/resources</directory> | |
<excludes> | |
<exclude>**/*.vm</exclude> | |
</excludes> | |
</resource> | |
</resources> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.myfaces.buildtools</groupId> | |
<artifactId>myfaces-builder-plugin</artifactId> | |
<version>1.0.2</version> | |
<executions> | |
<execution> | |
<id>buildmetadata</id> | |
<goals> | |
<goal>build-metadata</goal> | |
<!-- when use components --> | |
<goal>make-components</goal> | |
<goal>make-tags</goal> | |
<!-- when use validators --> | |
<goal>make-validators</goal> | |
<goal>make-validator-tags</goal> | |
<!-- when use converters --> | |
<goal>make-converter-tags</goal> | |
</goals> | |
<configuration> | |
<!-- Use 1.1 or 1.2 according to your jsf version --> | |
<jsfVersion>1.2</jsfVersion> | |
</configuration> | |
</execution> | |
<execution> | |
<id>makefacesconfig</id> | |
<configuration> | |
<xmlFile>META-INF/faces-config.xml</xmlFile> | |
</configuration> | |
<goals> | |
<goal>make-config</goal> | |
</goals> | |
</execution> | |
<execution> | |
<id>maketld</id> | |
<configuration> | |
<xmlFile>META-INF/mycomponents.tld</xmlFile> | |
<!-- as templateFile you can use tomahawk.vm or tomahawk12.vm --> | |
<templateFile>mycomponents.tld.vm</templateFile> | |
<params> | |
<shortname>mycomponents</shortname> | |
<uri>http://www.myorganitzation.org/mycomponents</uri> | |
<displayname>Custom tag library.</displayname> | |
<description>Enhanced standard JSP actions and custom MyFaces actions.</description> | |
</params> | |
</configuration> | |
<goals> | |
<goal>make-config</goal> | |
</goals> | |
</execution> | |
<execution> | |
<id>makefaceletstaglib</id> | |
<configuration> | |
<xmlFile>META-INF/mycomponents.taglib.xml</xmlFile> | |
<xmlBaseFile>src/main/conf/META-INF/facelets-taglib-base.xml</xmlBaseFile> | |
<templateFile>facelets-taglib.vm</templateFile> | |
<params> | |
<shortname>mycomponents</shortname> | |
<uri>http://www.myorganitzation.org/mycomponents</uri> | |
</params> | |
</configuration> | |
<goals> | |
<goal>make-config</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
------------------- | |
* Customizing your templates | |
The plugin uses velocity templates to generate files, and on its jar | |
there are some already defined. If you need some file (like a template | |
for tld) you can find the most up to date template on tomahawk core | |
or core12. | |
More detailed information can be found {{{templates.html}here}}. |