3

私たちはいくつかのプラグインで作られた Eclipse 製品を開発しています。そのうちのいくつかは私たちが開発したものです。各プラグインはワークスペースで Eclipse プラグイン プロジェクトとして定義されており、source と test の 2 つのフォルダーがあります。最近、ソース クラスと同様にテスト クラスをユーザーに配信していることに気付きました。ここで、製品の結果からテスト クラスを削除します。テスト フォルダを Java ビルド パスから削除しますか (添付ファイルを参照)。また、テストをエンドユーザーにデプロイしないために他に何をすべきでしょうか?

ここに画像の説明を入力

プロジェクトをビルドするために、Eclipse 標準の ant スクリプトを使用して zip ファイルを作成します。テスト ファイルを除外できる場所がわかりません。Ant スクリプトは次のとおりです。

<property name="allElementsFile" value="${eclipse.pdebuild.scripts}/productBuild/allElements.xml"/>
<import file="${eclipse.pdebuild.scripts}/build.xml"/>
<property name="pluginPath" value=""/>
<property name="pluginList" value=""/>
<property name="featureList" value=""/>
<property name="includeLaunchers" value="true"/>
<property name="generatedBuildProperties" value=""/>
<condition property="nestedInclusions" value="true">
    <istrue value="${p2.gathering}" />
</condition>

<!-- ===================================================================== -->
<!-- main entry point to setup, fetch, generate, build etc. Use -->
<!-- the customTargets.xml to modify the build behaviour. -->
<!-- ===================================================================== -->
<target name="main" description="the main build target">    
    <antcall target="preBuild" />
    <antcall target="processRepos"/>
    <antcall target="generateFeature"> <!-- Generate the feature to drive the fetch -->
        <param name="verify" value="false"/>
    </antcall>
    <antcall target="fetch" />
    <antcall target="generateFeature"> <!-- We are calling generate feature a second time so that we can get the pack / unpack clause fixed -->
        <param name="verify" value="true"/>
    </antcall> 
    <antcall target="generate" /> 
    <antcall target="process" /> 
    <antcall target="assemble" />
    <antcall target="package" />
    <antcall target="postBuild" />
</target>

<!-- ===================================================================== -->
<!-- Generate a container feature based on the product file                -->
<!-- The plugin or feature containing the .product file will need to exist -->
<!-- already, use preSetup or postSetup to fetch it if necessary           -->
<!-- ===================================================================== -->
<target name="generateFeature">
    <eclipse.generateFeature
        featureId="org.eclipse.pde.build.container.feature"
        buildDirectory="${buildDirectory}"
        baseLocation="${baseLocation}"
        productFile="${product}"
        verify="${verify}"
        pluginPath="${transformedRepoLocation}${path.separator}${pluginPath}"
        configInfo="${configs}"
        pluginList="${pluginList}"
        featureList="${featureList}"
        includeLaunchers="${includeLaunchers}"
        buildPropertiesFile="${generatedBuildProperties}"
        nestedInclusions="${nestedInclusions}"
        filterP2Base="${filterP2Base}"
    />
</target>


</project>
4

2 に答える 2

1

これは、展開手順/スクリプトの問題です。Eclipse を使用して jar をビルドしていますか? ビルド パスとは関係ありません。Eclipse を使用してコーディングする場合は、テスト ソースをビルド パスに保持する必要があります。通常、Ant または Maven を使用した展開手順では、テスト クラス (jar、war など) が結果から除外されます。また、jar が作成される前にテストを自動的に実行することをお勧めします。

于 2013-02-06T14:29:17.093 に答える
0

テスト ファイル (すべてのプラグイン プロジェクトに対してソース フォルダーとテスト フォルダーを定義した場合) をコードから削除するには、pde ant スクリプトを使用して pde プロジェクトをビルドするときに、そのプロジェクトの build.properties からテスト フォルダーを削除する必要があります。build.properties は plugin.xml の一部です

于 2013-02-08T08:21:47.533 に答える