我们正在开发一个由多个插件组成的Eclipse产品,其中一些是由我们开发的。我们的每个插件都被定义为工作区中的Eclipse插件项目,并有两个文件夹,source和test。最近我注意到我们正在向用户提供测试类,就像我们的源类一样。现在我想从我们产品的结果中删除测试类。我应该从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>
答案 0 :(得分:1)
这是您的部署过程/脚本的问题。你在用Eclipse构建jar吗? 它不应该与构建路径有关,如果使用Eclipse对它们进行编码,则应将测试源保留在构建路径中。 通常,使用Ant或Maven的部署过程将从结果中排除测试类(jar,war,...)。建议在创建jar之前自动运行测试。
答案 1 :(得分:0)
要在使用pde ant脚本构建pde项目时从代码中删除测试文件(如果为每个插件项目定义源文件夹和测试文件夹),则应从该项目的build.properties中删除测试文件夹。 build.properties是plugin.xml的一部分