【发布时间】:2013-04-10 17:45:30
【问题描述】:
我在 Sonar 中定义了一个多模块项目(包含 许多 个子模块),它运行良好,直到我将声纳升级到新版本。
我之前的设置是:
- 一个单亲
build.xml包含所有通用项目属性,如jdbc 连接等。它还包含运行声纳的<sonar:sonar />任务。此父项目不包含任何源代码/二进制文件,仅包含构建子模块的说明。 - 许多子模块
build.xml文件仅包含子模块特定属性,如sonar.projectKey、sonar.sources和sonar.binaries
现在在新的 Sonar ant 任务中,我需要在父级 buid.xml 中定义所有内容。我已经通过以下方式定义了它(我在这里只展示了一个子模块,我假设如果我以后添加更多模块它应该可以工作):
<target name="sonar">
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<classpath path="build-utils/lib/sonar-ant-task-2.0.jar" />
</taskdef>
<!-- list of Sonar database related properties -->
<property name="sonar.jdbc.url" value="jdbc:oracle:thin:@localhost/DB11g" />
<property name="sonar.jdbc.driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<!-- for security reasons, pass these parameters from outside -->
<property name="sonar.jdbc.username" value="" />
<property name="sonar.jdbc.password" value="" />
<property name="sonar.host.url" value="http://localhost:9000" />
<!-- list of Sonar project related properties -->
<property name="sonar.projectName" value="My Project" />
<property name="sonar.projectKey" value="com.my.project" />
<property name="sonar.projectVersion" value="7.3" />
<property name="sonar.language" value="java" />
<property name="sonar.libraries" value="server/third-party-jars"/>
<property name="sonar.modules" value="admin-api" />
<!-- all of the sub-modules -->
<property name="admin-api.sonar.projectName" value="admin-api" />
<property name="admin-api.sonar.projectBaseDir" location="server/admin/admin-api"/>
<property name="admin-api.sonar.sources" value="src" />
<property name="admin-api.sonar.binaries" value="build" />
<sonar:sonar xmlns:sonar="antlib:org.sonar.ant" />
</target>
当我运行目标时,出现以下错误:
You must define the following mandatory properties for 'com.orca.rightv': sonar.sources
还有一个问题,有没有办法像我在之前的版本中那样,在每个模块的build.xml 中保留子模块的具体定义?这会为我节省很多工作。
谢谢
【问题讨论】:
标签: sonarqube