繁体   English   中英

用gradle添加eclipse项目facet

[英]Adding eclipse project facet with gradle

我有一个gradle脚本,为我设置了一个eclipse项目。 除了默认项目之外,我的项目还需要添加额外的项目方面。 该文档具有以下示例

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

我尝试使用给定的示例添加我自己的facet,但不是将facet 添加到现有facet,它实际上替换了所有其他facet,因此是设置中唯一的facet。 显然,这不是我的意图。 问题是,如何在默认方面添加额外方面?

编辑:

我想创建一个脚本,将eclipse项目配置到一个文件夹,该文件夹只包含eclipse项目的项目结构,但没有配置文件(.classpath,.project,.settings /)。 我正在尝试将Eclipse facet的Vaadin插件添加到Vaadin项目中。 这就是我的脚本的样子

subprojects {
    apply plugin: 'war'  
    apply plugin: 'eclipse-wtp'

    sourceCompatibility = 1.6  
    targetCompatibility = 1.6  
    webAppDirName = 'WebContent'  
    vaadinDir = webAppDirName+'/VAADIN'  

    eclipse {

        wtp {
            facet {         
              facet name: 'com.vaadin.integration.eclipse.core', version: '7.0'
            }
        }

    }

    // Source directories  
    sourceSets{  
        main{  
            java{  
                srcDir 'src'  
            }  
        }  
    }  


}

defaultTasks 'eclipse'

这是生成的构面设置

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
    <installed facet="com.vaadin.integration.eclipse.core" version="7.0"/>
</faceted-project>

在没有定义任何自定义构面的情况下,得到的配置是

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
    <fixed facet="jst.java"/>
    <fixed facet="jst.web"/>
    <installed facet="jst.web" version="2.4"/>
    <installed facet="jst.java" version="6.0"/>
</faceted-project>

如上所述,我是设置中的所有方面:)

修改默认值(而不是覆盖它们)有时会很棘手(对于Gradle来说,这不是一个容易解决的问题),但您可以尝试以下方法:

facet {
    facets = facets
    facet name: 'com.vaadin.integration.eclipse.core', version: '7.0'
}

或者,您可以显式声明默认构面以及自定义构面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM