2

Eclipse プロジェクトをセットアップする gradle スクリプトがあります。私のプロジェクトでは、デフォルトのファセットに加えて追加のプロジェクト ファセットを追加する必要があります。ドキュメントには次の例があります

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

与えられた例を使用して独自のファセットを追加しようとしましたが、ファセットが既存のファセットに追加される代わりに、実際には他のすべてのファセットが置き換えられたため、設定内の唯一のファセットになりました。明らかに、これは私が意図したものではありません。質問は、デフォルトのファセットに追加のファセットを追加するにはどうすればよいですか?

編集:

Eclipse プロジェクトのプロジェクト構造のみを含み、構成ファイル (.classpath、.project、.settings/) を含まないフォルダーに Eclipse プロジェクトを構成するスクリプトを作成したいと考えています。Eclipse ファセット用の 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>

言ったように、私は設定にあるすべての面です:)

4

1 に答える 1

4

デフォルトを (上書きするのではなく) 変更するのは難しい場合があります (Gradle で解決するのは簡単ではありません) が、次のことを試すことができます。

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

または、カスタム ファセットと共にデフォルト ファセットを明示的に宣言することもできます。

于 2013-03-15T19:44:46.450 に答える