如何将 maven 插件转换为 gradle 插件(maven-surefire-puglin)?

Posted

技术标签:

【中文标题】如何将 maven 插件转换为 gradle 插件(maven-surefire-puglin)?【英文标题】:How to convert a maven plugin into a gradle plugin (maven-surefire-puglin )? 【发布时间】:2020-05-13 16:51:10 【问题描述】:

我正在尝试使用此插件,但使用 gradle:

<properties>
    <aspectj.version>1.8.10</aspectj.version>
</properties>

<dependencies>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-junit4</artifactId>
        <version>LATEST_VERSION</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <testFailureIgnore>false</testFailureIgnore>
                <argLine>
                    -javaagent:"$settings.localRepository/org/aspectj/aspectjweaver/$aspectj.version/aspectjweaver-$aspectj.version.jar"
                </argLine>
                <properties>
                    <property>
                        <name>listener</name>
                        <value>io.qameta.allure.junit4.AllureJunit4</value>
                    </property>
                </properties>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>$aspectj.version</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

相反,如果不是真的有必要(因为 gradle 有任何更简单的方法可以继续),有人可以提供有关如何做的线索吗?

【问题讨论】:

对此的简单回答:不起作用,因为 Gradle 是用 (Groovy/Kotlin) 编写的,并且工作方式与 Maven 完全不同..所以根本没有机会在 Gradle 中找到替代品。 .. gradle java 插件已经完成了surefire 在maven 中所做的工作 @smac89 我正在使用 gradle allure 插件做或多或少相同的事情:github.com/allure-framework/allure-gradle 【参考方案1】:

查看the documentation 在 Gradle 中测试 Java 和 JVM 项目。 它应该回答有关在 Gradle 项目中设置测试的基本问题。

但是,如果您正在使用无法复制的 maven-surefire-plugin 的特定功能,请使用更具体的元素修改您的问题。

【讨论】:

感谢您的回复。我正在尝试添加 aspectjweaver JAR 和 JVM arg javaagent,同时准备测试编译以执行 allureServe 任务并在我的 Allure 报告中生成一些额外的测试信息。我可以使用这个插件来解决这个问题:github.com/allure-framework/allure-gradle

以上是关于如何将 maven 插件转换为 gradle 插件(maven-surefire-puglin)?的主要内容,如果未能解决你的问题,请参考以下文章

将Java项目从maven迁移到gradle

用于 Maven 发布等功能的 Gradle 发布插件

将 Maven 依赖项转换为 Gradle

将 maven 代码生成转换为 gradle 任务

如何使用 jOOQ gradle 插件将 postgres 中的 bigint[] 字段转换为类字段

Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ⑧ ( 设置 Gradle 插件模块 | 将 Gradle 插件上传到自建 Maven 仓库 )