我正在使用 Gradle sonarqube插件,我需要从声纳分析中排除所有测试源(主要目标是从问题/代码气味报告中过滤掉单元测试类)
为此,我使用了如下专用属性,从分析中sonar.test.exclusions排除整个目录src/test
sonarqube {
properties {
property("sonar.exclusions" , "")
property("sonar.test.exclusions" , "src/test/**/*.java")
// other sonar properties, omitted
}
}
Run Code Online (Sandbox Code Playgroud)
这按预期工作(测试源被过滤掉)但是:设置此属性时,声纳无法正确计算/报告单元测试的数量。
请参阅一个非常基本的项目的简单示例:2 个主要源文件,1 个包含 2 个 Junit 测试的测试源文件(还包含一些我不想在报告中看到的问题)
Sonar 正确报告了我的 2 个单元测试,但它还包括单元测试类中的代码味道
现在,单元测试中的代码气味已被正确过滤,但我丢失了单元测试计数信息

笔记:
Community EditionVersion 8.4.2sonar.exclusions:同样的问题sonar.tests是sonar.java.test.binaries,,,,sonar.junit.reportPathssonar.jacoco.reportPath知道如何配置 sonarqube 插件,以排除正确的测试源,同时保持单元测试信息可用吗?
我正在使用15.0.1Firebase和Google Play服务的版本.今天的构建已经开始打破.我该如何解决?以下是Gradle日志以供参考.
[org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
[org.gradle.internal.buildevents.BuildExceptionReporter]
[org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
[org.gradle.internal.buildevents.BuildExceptionReporter] A problem occurred configuring project ':demo'.
[org.gradle.internal.buildevents.BuildExceptionReporter] > Failed to notify project evaluation listener.
[org.gradle.internal.buildevents.BuildExceptionReporter] > java.lang.reflect.InvocationTargetException (no error message)
[org.gradle.internal.buildevents.BuildExceptionReporter]
[org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
[org.gradle.internal.buildevents.BuildExceptionReporter] Run with --scan to get full insights.
[org.gradle.internal.buildevents.BuildExceptionReporter]
[org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
[org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':demo'.
[org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
[org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:89)
[org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70)
[org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
[org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
[org.gradle.internal.buildevents.BuildExceptionReporter] at …Run Code Online (Sandbox Code Playgroud) android google-play-services android-studio android-gradle-plugin jcenter
尝试将Firebase连接到android gradle应用。一旦添加了Firebase依赖项,我将收到以下构建错误。
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find support-media-compat.aar (com.android.support:support-media-compat:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-media-compat/26.1.0/support-media-compat-26.1.0.aar
> Could not find support-core-utils.aar (com.android.support:support-core-utils:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-core-utils/26.1.0/support-core-utils-26.1.0.aar
> Could not find support-compat.aar (com.android.support:support-compat:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-compat/26.1.0/support-compat-26.1.0.aar
> Could not find support-compat.aar (com.android.support:support-compat:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-compat/26.1.0/support-compat-26.1.0.aar
Run Code Online (Sandbox Code Playgroud)
看起来它只是在搜索jcenter。但是jcenter的每个引用都列出了要搜索的其他存储库。
buildscript {
repositories {
jcenter()
google()
}
dependencies { …Run Code Online (Sandbox Code Playgroud) 我task wrapper在Gradle是4.x时使用但是当我更改gradleVersion为5.0时,gradle包装器声明它无法添加具有相同名称的任务.当它是4.x时,我可以从4.8变为4.9而没有问题,这不会发生.Gradle改变了如何task wrapper运作?
我不明白问题出在哪里
存储库类:
@Repository
public interface PhotoRepository extends JpaRepository<Photo, UUID> {
Page<Photo> findByCityId( UUID cityId, Pageable pageable);
Run Code Online (Sandbox Code Playgroud)
实体类:
@Entity
@Table (name="photos")
public class Photo {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private UUID idPhoto;
private String name;
private double longitude;
private double latitude;
private byte[] image;
private byte[] thumbnail;
@ManyToOne(fetch= FetchType.LAZY)
@JoinColumn(name="cityId",referencedColumnName = "cityId")
private City city;
@Entity
@Table (name="cities")
public class City {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private UUID cityId;
private String name;
private double longitude;
private double latitude;
private int photoCount;
@RestController
public …Run Code Online (Sandbox Code Playgroud) android ×2
gradle ×2
jcenter ×2
build.gradle ×1
firebase ×1
java ×1
sonarqube ×1
spring-boot ×1