jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: Migrating build system to Gradle
Date Sun, 10 Mar 2019 12:30:57 GMT
On Sun, 10 Mar 2019 at 11:09, Vladimir Sitnikov
<sitnikov.vladimir@gmail.com> wrote:
>
> I'm afraid it would be hard to gather checklist in the mail, so I suggest

Agreed

> to collect it at https://github.com/apache/jmeter/pull/448 (see the very
> first message there)

OK

> I have put "To be implemented" list there. Feel free to post new items as
> comments in GitHub.
>
> Current Gradle script generates binary (runnable JMeter) and source
> artifacts in zip and tgz formats.
> When I expand apache-jmeter_src.tgz, it passes tests, and it produces
> apache-jmeter_src.tgz with exactly the same SHA.
>
> It would be great if someone with Windows could check if binary/source
> artifacts work there.
> The relevant Gradle commands are:
> ./gradlew :src:dist:build # build all 4 artifacts
> ./gradlew :src:dist:distZip # other tasks are distTar, distZipSource, and
> distTarSource
> The artifacts are generated into src/dist/build/distributions folder.

Does not work for me on macOS

$ ./gradlew tasks

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/sebb/git/jmeter-gradle/build.gradle.kts' line: 24

* What went wrong:
An exception occurred applying plugin request [id: 'witness']
> Could not find implementation class 'org.apache.jmeter.build.WitnessPlugin' for plugin
'witness' specified in jar:file:/Users/sebb/.gradle/caches/jars-3/4a1d6d4635617afe6f348afd327e908c/buildSrc.jar!/META-INF/gradle-plugins/witness.properties.

> Note: I think Gradle-based distribution generation is way simpler to
> maintain and reason about:
> https://github.com/vlsi/jmeter/blob/gradle/src/dist/build.gradle.kts

I think that depends on knowing how Gradle works.
I find it really hard to work out what is happening.
What are the inputs and what are the outputs?

As a particular example, I think it has insufficient documentation.
For example, why does depencies include:
compile(Libs.log4j_slf4j_impl)
etc?

> Vladimir

Mime
View raw message