Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | PROPERTY | CONSTR | METHOD | DETAIL: FIELD | PROPERTY | CONSTR | METHOD

## org.gradle.plugins.ide.eclipse.model
[Groovy] Class EclipseWtpComponent

    java.lang.Object
      org.gradle.plugins.ide.eclipse.model.EclipseWtpComponent

    class EclipseWtpComponent

Enables fine-tuning wtp component details of the Eclipse plugin

Example of use with a blend of all possible properties. Bear in mind that usually you don't have configure them directly because Gradle configures it for free!

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

     configurations {
       someInterestingConfiguration
       anotherConfiguration
     }

     eclipse {

       //if you want parts of paths in resulting file(s) to be replaced by variables (files):
       pathVariables 'GRADLE_HOME': file('/best/software/gradle'), 'TOMCAT_HOME': file('../tomcat')

       wtp {
         component {
           //you can configure the context path:
           contextPath = 'someContextPath'

           //you can configure the deployName:
           deployName = 'killerApp'

           //you can alter the wb-resource elements. sourceDirs is a ConventionProperty.
           //non-existing source dirs won't be added to the component file.
           sourceDirs += file('someExtraFolder')

           //you can alter the files are to be transformed into dependent-module elements:
           plusConfigurations += configurations.someInterestingConfiguration

           //or whose files are to be excluded from dependent-module elements:
           minusConfigurations += configurations.anotherConfiguration

           //you can add a wb-resource elements; mandatory keys: 'sourcePath', 'deployPath':
           //if sourcePath points to non-existing folder it will *not* be added.
           resource sourcePath: 'extra/resource', deployPath: 'deployment/resource'

           //you can add a wb-property elements; mandatory keys: 'name', 'value':
           property name: 'moodOfTheDay', value: ':-D'
         }
       }
     }

For tackling edge cases users can perform advanced configuration on resulting XML file. It is also possible to affect the way eclipse plugin merges the existing configuration via beforeMerged and whenMerged closures.

beforeMerged and whenMerged closures receive WtpComponent object

Examples of advanced configuration:

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

     eclipse {

       wtp {
         component {
           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')
             }

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

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

Property Summary
`String` | `classesDeployPath` The deploy path for classes.
`String` | `contextPath` The context path for the web application
`String` | `deployName` The deploy name to be used.
`XmlFileContentMerger` | `file` See file(Closure)
`Set` | `libConfigurations` The configurations whose files are to be transformed into dependent-module elements with a deploy path of #libDeployPath.
`String` | `libDeployPath` The deploy path for libraries.
`Set` | `minusConfigurations` The configurations whose files are to be excluded from dependent-module elements.
`Map` | `pathVariables` The variables to be used for replacing absolute path in dependent-module elements.
`org` | `project`
`List` | `properties` Additional property elements.
`List` | `resources` ConventionProperty for additional wb-resource elements.
`Set` | `rootConfigurations` The configurations whose files are to be transformed into dependent-module elements with a deploy path of '/'.
`Set` | `sourceDirs` ConventionProperty for the source directories to be transformed into wb-resource elements.

Constructor Summary
`EclipseWtpComponent(Project project, XmlFileContentMerger file)`

Method Summary
`void` | `file(Closure closure)` Enables advanced configuration like tinkering with the output XML or affecting the way existing wtp component file content is merged with gradle build information
`FileReferenceFactory` | `getFileReferenceFactory()`
`Set` | `getPlusConfigurations()` Synonym for libConfigurations.
`void` | `mergeXmlComponent(WtpComponent xmlComponent)`
`void` | `property(Map args)` Adds a property.
`void` | `resource(Map args)` Adds a wb-resource.
`void` | `setPlusConfigurations(Set plusConfigurations)`

Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Property Detail

### classesDeployPath

    String classesDeployPath

  The deploy path for classes.

  For examples see docs for EclipseWtp

### contextPath

    String contextPath

  The context path for the web application

  For examples see docs for EclipseWtp

### deployName

    String deployName

  The deploy name to be used.

  For examples see docs for EclipseWtp

### file

    final XmlFileContentMerger file

  See file(Closure)

### libConfigurations

    Set libConfigurations

  The configurations whose files are to be transformed into dependent-module elements with a deploy path of #libDeployPath.

  For examples see docs for EclipseWtp

### libDeployPath

    String libDeployPath

  The deploy path for libraries.

  For examples see docs for EclipseWtp

### minusConfigurations

    Set minusConfigurations

  The configurations whose files are to be excluded from dependent-module elements.

  For examples see docs for EclipseWtp

### pathVariables

    Map pathVariables

  The variables to be used for replacing absolute path in dependent-module elements.

  For examples see docs for EclipseModel

### project

    final org project

### properties

    List properties

  Additional property elements.

  For examples see docs for EclipseWtp

### resources

    List resources

  ConventionProperty for additional wb-resource elements.

  For examples see docs for EclipseWtp

  Only resources that link to an existing directory (`WbResource#sourcePath`) will be added to the wtp component file. The reason is that non-existing resource directory declarations lead to errors when project is imported into Eclipse.

### rootConfigurations

    Set rootConfigurations

  The configurations whose files are to be transformed into dependent-module elements with a deploy path of '/'.

  For examples see docs for EclipseWtp

### sourceDirs

    Set sourceDirs

  ConventionProperty for the source directories to be transformed into wb-resource elements.

  For examples see docs for EclipseWtp

  Only source dirs that exist will be added to the wtp component file. Non-existing resource directory declarations lead to errors when project is imported into Eclipse.

Constructor Detail

### EclipseWtpComponent

    EclipseWtpComponent(Project project, XmlFileContentMerger file)

Method Detail

### file

    void file(Closure closure)

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

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

  For example see docs for EclipseWtpComponent

### getFileReferenceFactory

    FileReferenceFactory getFileReferenceFactory()

### getPlusConfigurations

    Set getPlusConfigurations()

  Synonym for libConfigurations.

### mergeXmlComponent

    void mergeXmlComponent(WtpComponent xmlComponent)

### property

    void property(Map args)

  Adds a property.

  For examples see docs for EclipseWtp

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

### resource

    void resource(Map args)

  Adds a wb-resource.

  For examples see docs for EclipseWtp

  Parameters:
    `args` - A map that must contain a deployPath and sourcePath key with corresponding values.

### setPlusConfigurations

    void setPlusConfigurations(Set plusConfigurations)

Gradle API 1.10