allure-framework / allure-gradle

Allure Gradle Plugin
Apache License 2.0
85 stars 36 forks source link

Support propagating environment variables to allure execution #98

Closed vlsi closed 2 years ago

vlsi commented 2 years ago

This PR makes AllureReport and AllureServe tasks extend org.gradle.api.tasks.Exec, so extra environment variables and arguments could be passed via org.gradle.process.ProcessForkOptions.

As an extra option, default values for environment variables could be configure via allure project extension:

allure {
    environment.put("JAVA_HOME", "/path")
}

fixes #81

Checklist

vlsi commented 2 years ago

Apparently, MapProperty requires Gradle 5.1+ which has been released on Jan 02, 2019.

@eroshenkoam , @baev , WDYT of raising the minimal Gradle requirement to 5.1?

baev commented 2 years ago

I'm ok with Gradle 7 as a minimum required version

baev commented 2 years ago

BTW maybe extend org.gradle.process.ProcessForkOptions instead?

vlsi commented 2 years ago

ProcessForkOptions would mean we have to extend from AbstractExecTask which might be a too broad API surface.

Let's start with just adding environment vars.

vlsi commented 2 years ago

https://github.com/allure-framework/allure-gradle/commit/8f1aafb5158c168275b65d53175d8c1a4cc45df1 (https://github.com/allure-framework/allure-gradle/pull/100) includes this change