Movatterモバイル変換


[0]ホーム

URL:


EclipseProject

Table of Contents

Properties
Methods
Script blocks
Property details
Method details
Script block details
API Documentation:EclipseProject

Enables fine-tuning project details (.project file) of the Eclipse plugin

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

plugins {    id'java'    id'eclipse'}eclipse {  project {//if you don't like the name Gradle has chosen    name ='someBetterName'//if you want to specify the Eclipse project's comment    comment ='Very interesting top secret project'//if you want to append some extra referenced projects in a declarative fashion:    referencedProjects'someProject','someOtherProject'//if you want to assign referenced projects    referencedProjects = ['someProject'] as Set//if you want to append some extra natures in a declarative fashion:    natures'some.extra.eclipse.nature','some.another.interesting.nature'//if you want to assign natures in a groovy fashion:    natures = ['some.extra.eclipse.nature','some.another.interesting.nature']//if you want to append some extra build command:    buildCommand'buildThisLovelyProject'//if you want to append a build command with parameters:    buildCommand'buildItWithTheArguments', argumentOne:"I'm first", argumentTwo:"I'm second"//if you want to create an extra link in the eclipse project,//by location uri:    linkedResource name:'someLinkByLocationUri', type:'someLinkType', locationUri:'file://someUri'//by location:    linkedResource name:'someLinkByLocation', type:'someLinkType', location:'/some/location'//if you don't want any node_modules folder to appear in Eclipse, you can filter it out:    resourceFilter {      appliesTo ='FOLDERS'      type ='EXCLUDE_ALL'      matcher {        id ='org.eclipse.ui.ide.multiFilter'        arguments ='1.0-name-matches-false-false-node_modules'      }    }  }}

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 configurationvia beforeMerged and whenMerged closures.

beforeMerged and whenMerged closures receiveProject object

Examples of advanced configuration:

plugins {    id'java'    id'eclipse'}eclipse {  project {    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 .project content is loaded from existing file//but before gradle build information is merged      beforeMerged { project ->//if you want skip merging natures... (a very abstract example)        project.natures.clear()      }//closure executed after .project content is loaded from existing file//and after gradle build information is merged      whenMerged { project ->//you can tinker with the Project here      }    }  }}

Properties

PropertyDescription
buildCommands

The build commands to be added to this Eclipse project.

comment

A comment used for the eclipse project. By default it will be configured toproject.description

file

SeeEclipseProject.file(org.gradle.api.Action)

linkedResources

The linked resources to be added to this Eclipse project.

name

Configures eclipse project name. It isoptional because the task should configure it correctly for you.By default it will try to use theproject.name or prefix it with a part of aproject.pathto make sure the moduleName is unique in the scope of a multi-module build.The 'uniqueness' of a module name is required for correct importinto Eclipse and the task will make sure the name is unique.

natures

The natures to be added to this Eclipse project.

referencedProjects

The referenced projects of this Eclipse project (*not*: java build path project references).

resourceFilters

The resource filters of the eclipse project.

Methods

MethodDescription
buildCommand(buildCommand)

Adds a build command to the eclipse project.

buildCommand(args, buildCommand)

Adds a build command with arguments to the eclipse project.

file(action)

Enables advanced configuration like tinkering with the output XML or affecting the way existing .project content is merged with gradle build information.For example see docs forEclipseProject

linkedResource(args)

Adds a resource link (aka 'source link') to the eclipse project.

natures(natures)

Appends natures entries to the eclipse project.

referencedProjects(referencedProjects)

The referenced projects of this Eclipse project (*not*: java build path project references).

resourceFilter(configureClosure)

Adds a resource filter to the eclipse project.

resourceFilter(configureAction)

Adds a resource filter to the eclipse project.

Script blocks

BlockDescription
file

Enables advanced configuration like tinkering with the output XML or affecting the way existing .project content is merged with gradle build information

Property details

List<BuildCommand>buildCommands

The build commands to be added to this Eclipse project.

For example see docs forEclipseProject

Default witheclipse andjava plugins:
Java builder, plus Scala and Web builders as appropriate.

Stringcomment

A comment used for the eclipse project. By default it will be configured toproject.description

For example see docs forEclipseProject

Default witheclipse andjava plugins:
project.description

XmlFileContentMergerfile (read-only)

SeeEclipseProject.file(org.gradle.api.Action)

Set<Link>linkedResources

The linked resources to be added to this Eclipse project.

For example see docs forEclipseProject

Default witheclipse andjava plugins:
[]

Stringname

Configures eclipse project name. It isoptional because the task should configure it correctly for you.By default it will try to use theproject.name or prefix it with a part of aproject.pathto make sure the moduleName is unique in the scope of a multi-module build.The 'uniqueness' of a module name is required for correct importinto Eclipse and the task will make sure the name is unique.

The logic that makes sure project names are unique is availablesince 1.0-milestone-2

If your project has problems with unique names it is recommended to always run gradle eclipse from the root, e.g. for all subprojects, including generation of .classpath.If you run the generation of the eclipse project only for a single subproject then you may have different resultsbecause the unique names are calculated based on eclipse projects that are involved in the specific build run.

If you update the project names then make sure you run gradle eclipse from the root, e.g. for all subprojects.The reason is that there may be subprojects that depend on the subproject with amended eclipse project name.So you want them to be generated as well because the project dependencies in .classpath need to refer to the amended project name.Basically, for non-trivial projects it is recommended to always run gradle eclipse from the root.

For example see docs forEclipseProject

Default witheclipse andjava plugins:
${project.name} (sometimes prefixed with parts of${project.path} to guarantee uniqueness)

List<String>natures

The natures to be added to this Eclipse project.

For example see docs forEclipseProject

Default witheclipse andjava plugins:
Java nature, plus Groovy, Scala and Web natures as appropriate.

Set<String>referencedProjects

The referenced projects of this Eclipse project (*not*: java build path project references).

Referencing projects does not mean adding a build path dependencies between them!If you need to configure a build path dependency use Gradle's dependencies section oreclipse.classpath.whenMerged { classpath -> ... to manipulate the classpath entries

For example see docs forEclipseProject

Default witheclipse andjava plugins:
[]

Set<ResourceFilter>resourceFilters (read-only)

The resource filters of the eclipse project.

Default witheclipse andjava plugins:
[]

Method details

voidbuildCommand(String buildCommand)

Adds a build command to the eclipse project.

For example see docs forEclipseProject

voidbuildCommand(Map<String,String> args,String buildCommand)

Adds a build command with arguments to the eclipse project.

For example see docs forEclipseProject

voidfile(Action<? superXmlFileContentMerger> action)

Enables advanced configuration like tinkering with the output XML or affecting the way existing .project content is merged with gradle build information.For example see docs forEclipseProject

voidlinkedResource(Map<String,String> args)

Adds a resource link (aka 'source link') to the eclipse project.

For example see docs forEclipseProject

voidnatures(String... natures)

Appends natures entries to the eclipse project.

For example see docs forEclipseProject

voidreferencedProjects(String... referencedProjects)

The referenced projects of this Eclipse project (*not*: java build path project references).

Referencing projects does not mean adding a build path dependencies between them! If you need toconfigure a build path dependency use Gradle's dependencies section or eclipse.classpath.whenMerged { classpath -> ... to manipulate the classpath entries

ResourceFilterresourceFilter(Closure configureClosure)

Adds a resource filter to the eclipse project.

For examples, see docs forResourceFilter

ResourceFilterresourceFilter(Action<? superResourceFilter> configureAction)

Adds a resource filter to the eclipse project.

For examples, see docs forResourceFilter

Script block details

file { }

Enables advanced configuration like tinkering with the output XML or affecting the way existing .project content is merged with gradle build information

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

For example see docs forEclipseProject

Delegates to:
XmlFileContentMerger fromfile

[8]ページ先頭

©2009-2025 Movatter.jp