Groovy Documentation

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
         }
       }
     }
   }
 }
 
@author: Szczepan Faber, created at: 4/20/11


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.0