EclipseWtpFacet (Gradle API 2.14.1)
Date: 2016-07-18

org.gradle.plugins.ide.eclipse.model

## Class EclipseWtpFacet

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - org.gradle.plugins.ide.eclipse.model.EclipseWtpFacet

- All Implemented Interfaces:
    GroovyObject

      public class EclipseWtpFacet
      extends GroovyObjectSupport

  Enables fine-tuning wtp facet details of the Eclipse plugin

  Advanced configuration closures beforeMerged and whenMerged receive `WtpFacet` object as parameter.

       apply plugin: 'java'
       apply plugin: 'war'
       apply plugin: 'eclipse-wtp'

       eclipse {
         wtp {
           facet {
             //you can add some extra wtp facets; mandatory keys: 'name', 'version':
             facet name: 'someCoolFacet', version: '1.3'

             file {
               //if you want to mess with the resulting XML in whatever way you fancy
               withXml {
                 def node = it.asNode()
                 node.appendNode('xml', 'is what I love')
               }

               //beforeMerged and whenMerged closures are the highest voodoo for the tricky edge cases.
               //the type passed to the closures is WtpFacet

               //closure executed after wtp facet file content is loaded from existing file
               //but before gradle build information is merged
               beforeMerged { wtpFacet ->
                 //tinker with WtpFacet here
               }

               //closure executed after wtp facet file content is loaded from existing file
               //and after gradle build information is merged
               whenMerged { wtpFacet ->
                 //you can tinker with the WtpFacet here
               }
             }
           }
         }
       }

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EclipseWtpFacet(XmlFileContentMerger file)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `facet(Map<String,?> args)` Adds a facet.
    `void` | `file(Closure closure)` Enables advanced configuration like tinkering with the output XML or affecting the way existing wtp facet file content is merged with gradle build information
    `List<Facet>` | `getFacets()` The facets to be added as elements.
    `XmlFileContentMerger` | `getFile()` See `file(Closure)`
    `void` | `mergeXmlFacet(WtpFacet xmlFacet)`
    `void` | `setFacets(List<Facet> facets)`

    - ### Methods inherited from class groovy.lang.GroovyObjectSupport

      `getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EclipseWtpFacet

          public EclipseWtpFacet(XmlFileContentMerger file)

  - ### Method Detail

    - #### getFile

          public XmlFileContentMerger getFile()

      See `file(Closure)`

    - #### file

          public void file(Closure closure)

      Enables advanced configuration like tinkering with the output XML or affecting the way existing wtp facet file content is merged with gradle build information

      The object passed to whenMerged{} and beforeMerged{} closures is of type `WtpFacet`

      For example see docs for `EclipseWtpFacet`

    - #### getFacets

          public List<Facet> getFacets()

      The facets to be added as elements.

      For examples see docs for `EclipseWtpFacet`

    - #### setFacets

          public void setFacets(List<Facet> facets)

    - #### facet

          public void facet(Map<String,?> args)

      Adds a facet.

      For examples see docs for `EclipseWtpFacet`

      Parameters:
        `args` - A map that must contain a 'name' and 'version' key with corresponding values.

    - #### mergeXmlFacet

          public void mergeXmlFacet(WtpFacet xmlFacet)