You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Vladimir Sitnikov <si...@gmail.com> on 2019/07/17 15:07:03 UTC

Re: [VOTE] JMeter: migration to Git+Gradle

Felix>PS I hope to find time to look at the gradle work when the build is
Felix>running again.

Note: Gradle-based build is running, so you could try it just fine.
My gradle branch is lagging behind, however the difference is minimal.


As of now, I'm working on two items:

1) Generate license files (it is almost complete).
2) "Use .gitattributes" to infer CRLF/LF for binary and source artifacts

A nice outcome of #2 would be that "source artifacts" would be coded as
follows (+ something regarding shell scripts).
It would automatically include text files as CRLF when building zip, and LF
when building tgz.

val baseFolder = "apache-jmeter-${rootProject.version}"

fun CrLfSpec.sourceLayout() = copySpec {
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
    into(baseFolder) {
        // Apply common gitattributes to license files
        gitattributes(this, gitProps)
        // Note: license content is taken from "/build/..", so
gitignore should not be used
        // Note: this is a "license + third-party licenses", not just Apache-2.0
        with(licenseNotice(licenseType = "source"))
    }
    into(baseFolder) {
        // Ignore files ignored by Git
        gitignore(gitProps)
        gitattributes(this, gitProps)
        // Include all the source files
        from(rootDir)
    }
}

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Felix>* The nightly job uploads maven artifacts. Which tasks are the correct
ones for the snapshots?

Can I quote `gradlew tasks` output for you?

Publishing tasks
----------------
publish - Publishes all publications produced by this project.
publishAllPublicationsToNexusRepository - Publishes all Maven publications
produced by this project to the nexus repository.
publishToMavenLocal - Publishes all Maven publications produced by this
project to the local Maven cache.
pushPreviewSite - Builds and publishes site preview

Note: by default it will try to publish to localhost:8080, and you need to
add -Pasf to make it push to ASF servers.

Felix>* It seems to me, as if the javadoc api's are now split up into
Felix>different dirs. Is there one dir with all the javadoc?

Let me quote some more `gradlew tasks` output:

Documentation tasks
-------------------
groovydoc - Generates Groovydoc API documentation for the main source code.
javadoc - Generates Javadoc API documentation for the main source code.
javadocAggregate - Generates aggregate javadoc for all the artifacts

gradlew help --task javadocAggregate shows that the task comes from
:src:dist project, and it means you should seek the output in
src/dist/build folder.

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 04.08.19 um 12:50 schrieb Vladimir Sitnikov:
> Felix>The old dist artifacts had sha512 checksums in the same folder. I
> didn't
> see them in the gradle build ones. Can they be generated, too?
>
> Use ./gradlew :src:dist:assemble
> Or you can use individual  distTar distZip signDistTar signDistZip
>
> Credentials are managed by
> https://docs.gradle.org/current/userguide/signing_plugin.html#sec:signatory_credentials

I don't intend to sign the snapshots, but the task :src:dist:assemble
does exactly what is needed.

Now I have to try the maven upload

Felix

>
> Note: you can add -m (==  --dry-run)  to any Gradle command, and it would
> print the list of tasks to be executed.
>
> Vladimir
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Felix>The old dist artifacts had sha512 checksums in the same folder. I
didn't
see them in the gradle build ones. Can they be generated, too?

Use ./gradlew :src:dist:assemble
Or you can use individual  distTar distZip signDistTar signDistZip

Credentials are managed by
https://docs.gradle.org/current/userguide/signing_plugin.html#sec:signatory_credentials

Note: you can add -m (==  --dry-run)  to any Gradle command, and it would
print the list of tasks to be executed.

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 03.08.19 um 18:17 schrieb Felix Schumacher:
> Am 03.08.19 um 14:22 schrieb Felix Schumacher:
>> Am 03.08.19 um 14:15 schrieb Vladimir Sitnikov:
>>> Felix>It generates artifacts
>>>
>>> This is handled by `distTar distTarSource distZip distZipSource` (pick the
>>> ones that are required)
>> I will try those.
>>> Felix> with git revision as identifiers (instead of 5.2-SNAPSHOT)
>>>
>>> Is it a matter of a file name?
>>> Currently Git SHA is included into JMeterVersion#getVERSION(). Is it enough?
>>>
>>> If so, then `./gradlew distTar distZip` should be just fine.
>>>
>>> The artifacts would be named like `apache-jmeter-5.2.0-SNAPSHOT.tgz`,
>>> however JMeterVersion inside would include SHA.
>> The files are indexed by another shell script that is quite picky about
>> the file names :) but we can change that script with a PR or rename the
>> artifacts inside buildbot env.
>
> ok, distJar and friends will probably be all right. Now the next questions:

The old dist artifacts had sha512 checksums in the same folder. I didn't
see them in the gradle build ones. Can they be generated, too?

Felix

>> Felix
>>
>>> Vladimir
>>>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 03.08.19 um 14:22 schrieb Felix Schumacher:
> Am 03.08.19 um 14:15 schrieb Vladimir Sitnikov:
>> Felix>It generates artifacts
>>
>> This is handled by `distTar distTarSource distZip distZipSource` (pick the
>> ones that are required)
> I will try those.
>> Felix> with git revision as identifiers (instead of 5.2-SNAPSHOT)
>>
>> Is it a matter of a file name?
>> Currently Git SHA is included into JMeterVersion#getVERSION(). Is it enough?
>>
>> If so, then `./gradlew distTar distZip` should be just fine.
>>
>> The artifacts would be named like `apache-jmeter-5.2.0-SNAPSHOT.tgz`,
>> however JMeterVersion inside would include SHA.
> The files are indexed by another shell script that is quite picky about
> the file names :) but we can change that script with a PR or rename the
> artifacts inside buildbot env.


ok, distJar and friends will probably be all right. Now the next questions:

* The nightly job uploads maven artifacts. Which tasks are the correct
ones for the snapshots?

* It seems to me, as if the javadoc api's are now split up into
different dirs. Is there one dir with all the javadoc?

Felix

>
> Felix
>
>> Vladimir
>>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 03.08.19 um 14:15 schrieb Vladimir Sitnikov:
> Felix>It generates artifacts
>
> This is handled by `distTar distTarSource distZip distZipSource` (pick the
> ones that are required)
I will try those.
>
> Felix> with git revision as identifiers (instead of 5.2-SNAPSHOT)
>
> Is it a matter of a file name?
> Currently Git SHA is included into JMeterVersion#getVERSION(). Is it enough?
>
> If so, then `./gradlew distTar distZip` should be just fine.
>
> The artifacts would be named like `apache-jmeter-5.2.0-SNAPSHOT.tgz`,
> however JMeterVersion inside would include SHA.

The files are indexed by another shell script that is quite picky about
the file names :) but we can change that script with a PR or rename the
artifacts inside buildbot env.

Felix

>
> Vladimir
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Felix>It generates artifacts

This is handled by `distTar distTarSource distZip distZipSource` (pick the
ones that are required)

Felix> with git revision as identifiers (instead of 5.2-SNAPSHOT)

Is it a matter of a file name?
Currently Git SHA is included into JMeterVersion#getVERSION(). Is it enough?

If so, then `./gradlew distTar distZip` should be just fine.

The artifacts would be named like `apache-jmeter-5.2.0-SNAPSHOT.tgz`,
however JMeterVersion inside would include SHA.

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 03.08.19 um 13:38 schrieb Vladimir Sitnikov:
> Felix>What is the equivalent to the old 'ant nightly' command?
> Felix>Should it be './gradlew createDist'?
>
> What does "ant nightly"?

<target name="nightly"
 
depends="ant-version,nightly-setup,init-svnVersion,install,docs-printable,docs-api,test,_distribution"

<target name="nightly-setup"
    description="Disables some checks"
    depends="clean,clean-docs,clean-apidocs,clean-dist">
   <property name="disable-check-versions" value="true" />
   <property name="docs.force" value="true" />
</target>

It generates artifacts with git revision as identifiers (instead of
5.2-SNAPSHOT)

Those artifacts are copied to some server where the nightlies index page
can find them.

Felix

> What "buildbot" is expected to test?
>
> Vladimir
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Felix>What is the equivalent to the old 'ant nightly' command?
Felix>Should it be './gradlew createDist'?

What does "ant nightly"?
What "buildbot" is expected to test?

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 02.08.19 um 17:47 schrieb Felix Schumacher:
>
> Am 2. August 2019 17:45:26 MESZ schrieb Vladimir Sitnikov <si...@gmail.com>:
>>> Have you changed the ci pipelines (Jenkins and buildbot) to use gradle
>> already?
>>
>> I've applied minimal changes to Jenkins:
>> https://builds.apache.org/job/JMeter-trunk/7273/console
>> It looks like there's a RAT issue as it thinks *.sxw and *.sxi are text
>> files.
>> I'm just inclined to add those to ratignore
> +1
>
>> I would love if you could adapt buildbot though.
> I can try, but probably not before tomorrow. 

I am just now looking at the needed changes and have a question on the
new tasks.

What is the equivalent to the old 'ant nightly' command? Should it be
'./gradlew createDist'?

Felix

>
> Felix 
>
>> Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.

Am 2. August 2019 17:45:26 MESZ schrieb Vladimir Sitnikov <si...@gmail.com>:
>>Have you changed the ci pipelines (Jenkins and buildbot) to use gradle
>already?
>
>I've applied minimal changes to Jenkins:
>https://builds.apache.org/job/JMeter-trunk/7273/console
>It looks like there's a RAT issue as it thinks *.sxw and *.sxi are text
>files.
>I'm just inclined to add those to ratignore

+1

>
>I would love if you could adapt buildbot though.

I can try, but probably not before tomorrow. 

Felix 

>
>Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
>Have you changed the ci pipelines (Jenkins and buildbot) to use gradle
already?

I've applied minimal changes to Jenkins:
https://builds.apache.org/job/JMeter-trunk/7273/console
It looks like there's a RAT issue as it thinks *.sxw and *.sxi are text
files.
I'm just inclined to add those to ratignore

I would love if you could adapt buildbot though.

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Felix Schumacher <fe...@internetallee.de>.

Am 2. August 2019 16:16:10 MESZ schrieb Vladimir Sitnikov <si...@gmail.com>:
>Thanks everybody for the feedback.
>
>I've merged the change, so JMeter is using Gradle, and Ant is no longer
>supported as a build system (build.xml is no longer present).

Thanks for doing it.

Have you changed the ci pipelines (Jenkins and buildbot) to use gradle already? 

Felix 

>
>Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Antonio Gomes Rodrigues <ra...@gmail.com>.
Thanks to your job

Le ven. 2 août 2019 à 16:16, Vladimir Sitnikov <si...@gmail.com>
a écrit :

> Thanks everybody for the feedback.
>
> I've merged the change, so JMeter is using Gradle, and Ant is no longer
> supported as a build system (build.xml is no longer present).
>
> Vladimir
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
>... of course, eclipse cannot add this parameter -PallBatch...

Of course you can.
a) Open preferences, navigate to Gradle, and add -PallBatch in "Advanced
Options / Program arguments"
b) create gradle run configuration manually (e.g. find the relevant test
via command line)
c) Add allBatch to your gradle.properties file (e.g.
~/.gradle/gradle.properties). I'm not sure Eclipse will pick it up from
there, however
it is nice how Gradle enables to declare global config parameters.

>Failures detected while testing
C:\Users\fs\wsl\jmeter\bin\testfiles\JDBC_TESTS.jmx: [unexpected output
JDBC_TESTS.csv]

Please provide full execution log.
"unexpected output ..." means there should be diff-like message above with
exact difference of "expected vs actual".

Vladimir

AW: [VOTE] JMeter: migration to Git+Gradle

Posted by Franz Schwab <fr...@exasol.com>.
Hi Vladimir,

great piece of work!

I just noticed the following:

If executing the "gw batchJDBC_TESTS" task via Eclipse, I get an error:

---------------------------------------------------------------------------------------------------------------
> Task :src:dist-check:batchJDBC_TESTS FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':src:dist-check:batchJDBC_TESTS'.
> Failures detected while testing C:\Users\fs\wsl\jmeter\bin\testfiles\JDBC_TESTS.jmx: [unexpected output JDBC_TESTS.csv]

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
---------------------------------------------------------------------------------------------------------------

If I execute the "gw batchJDBC_TESTS" via command line, it says "BUILD SUCCESSFUL".

Notice you have to manually add a gradle run configuration for that tasks, as "batchJDBC_TESTS" is now hidden and cannot be clicked directly in the Eclipse "Gradle Tasks" gui element,
maybe due to the latest change you made due to my suggestion ;-)

gw tasks
"batchTests - Executes all the batch tests (add -PallBatch to see individual batch tasks)"

... of course, eclipse cannot add this parameter -PallBatch...

I am not sure if the failed test is due to the hidden individual batch tasks.

Best,
Franz

-----Ursprüngliche Nachricht-----
Von: Vladimir Sitnikov <si...@gmail.com> 
Gesendet: Friday, August 2, 2019 4:16 PM
An: ApacheJMeter dev list <de...@jmeter.apache.org>
Betreff: Re: [VOTE] JMeter: migration to Git+Gradle

Thanks everybody for the feedback.

I've merged the change, so JMeter is using Gradle, and Ant is no longer supported as a build system (build.xml is no longer present).

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Thanks everybody for the feedback.

I've merged the change, so JMeter is using Gradle, and Ant is no longer
supported as a build system (build.xml is no longer present).

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Just in case, I've reimplemented "dependency checksum verification".

New implementation verifies not just third-party dependencies like
"commons-logging.jar", but Gradle's plugins as well.
New approach is faster as well, so I enabled it by default.

There's a Gradle task `./gradlew allDependencies` that prints all the
dependencies in all the projects.

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
>junit folder with test.jar used for JUnit Request

No.

lib/junit folder is used by JUnit Request Sampler.

However lib/junit/test.jar file is used in JMeter tests only. That is why I
say that lib/junit/test.jar should not be included into binary artifact.
For instance:
bin/testfiles/GenTest22.jmx:            <stringProp
name="junitSampler.classname">woolfel.DummyTestCase</stringProp>
bin/testfiles/GenTest231.jmx:            <stringProp
name="junitSampler.classname">woolfel.DummyTestCase</stringProp>
bin/testfiles/GuiTest231.jmx:            <stringProp
name="junitSampler.classname">woolfel.DummyTestCase</stringProp>
bin/testfiles/GuiTest231_original.jmx:            <stringProp
name="junitSampler.classname">woolfel.DummyTestCase</stringProp>
bin/testfiles/SavedGuiTest231.jmx:            <stringProp
name="junitSampler.classname">woolfel.DummyTestCase</stringProp>
...
src/protocol/junit-sample/src/main/java/woolfel/DummyTestCase.java:public
class DummyTestCase extends TestCase {

We do not ship bin/testfiles into binary artifact, so it makes no sense to
ship lib/junit/test.jar as well.

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Jmeter Tea <jm...@gmail.com>.
Hello,

junit folder with test.jar used for JUnit Request
It include some sample test classes and methods
I'm not sure how important it is
"JUnit test jar files should be placed in jmeter/lib/junit "
http://jmeter.apache.org/usermanual/component_reference.html#JUnit_Request

On Tue, Jul 30, 2019 at 6:07 PM Vladimir Sitnikov <
sitnikov.vladimir@gmail.com> wrote:

> >apache-jmeter-5.2.0\lib\junit
> >JSyntaxTextArea: Error reading darcula_theme
>
> Thanks. I have fixed those, and prepared v5.2.0-rc2
> The error was there were non-java files present in src/main/java folders
> (e.g. darcula_theme.xml and package.html), so I moved those to
> src/main/resources.
>
>
> Note: there's a difference between Ant-produced and Gradle-produced libs/*
> in the binary distribution.
> 1) commons-logging-1.2.jar was missing, however it is a third-party
> dependency which is used multiple times
> 2) javax.activation-api-1.2.0.jar should not be present. It is API-only
> jar, and it makes no sense to redistribute it. javax.activation-1.2.0.jar
> is a superset, so I removed activation-api.jar
> 3) I do not include /lib/junit/test.jar file to the binary distribution as
> I believe that file is test-only. Ant does ship the file, however that is
> minor.
>
> --- jars.ant.txt
> *+++ jars.gradle.txt*
> -113676 asm-7.0.jar
> *+114762 asm-7.1.jar*
> -7770   bshclient.jar
>
> *+7893   bshclient.jar+61829  commons-logging-1.2.jar*
> -366601 darcula.jar
> *+366601 darcula-e208efb96f70e4be9dc362fbb46f6e181ef501dd.jar*
> -56674  javax.activation-api-1.2.0.jar
> -146106 jorphan.jar
> *+148505 jorphan.jar*
>
> -------
>
> Download - Archives/hashes/sigs:
> https://dist.apache.org/repos/dist/dev/jmeter/apache-jmeter-5.2.0-rc2
>
> RAT report:
> https://apache.github.io/jmeter-site-preview/rat/rat-report.txt
>
> SHA512 hashes of archives for this vote: see footnote [1]
>
> Site preview is here:
> https://apache.github.io/jmeter-site-preview/site/
>
> JavaDoc API preview is here:
> https://apache.github.io/jmeter-site-preview/site/api
>
> Maven staging repository is accessible here:
>
> https://repository.apache.org/content/repositories/orgapachejmeter-1044/org/apache/jmeter/
>
> Tag:
> https://github.com/apache/jmeter/tree/v5_2_0_RC2
>
> Keys are here:
> https://www.apache.org/dist/jmeter/KEYS
>
> Vladimir
>
> ===
> [1] SHA512 hashes of archives for this vote:
>
>
> bfc3f95bb8898132796d48ba2b7ff74f19dddf27e6ccb93dea4356980f82ef463f3e5640f2d7744ec8a555a47abc8e2c287bca9aec45fd5105e97a3eeb70a909
> *apache-jmeter-5.2.0.tgz
>
> a17bc07023d41654a2998a5cb44ad4be8d642e90d39d785011724122aec393a657c1d49c9a8bab035c18e901d6e413c2d28d53743c1eae5cb0fdafdf84efe378
> *apache-jmeter-5.2.0.zip
>
> 41ae4253c455210854dc8501e13cbb55d8f8076929a1c7fdeb5a5a6e978103445ec7f7bba56b61d9140aeb0e8d62a0d008f980227a47632b78e43f9e64df998c
> *apache-jmeter-5.2.0_src.tgz
>
> 2002f82e7332cfa051ae92c72920195f01a3fb92f7ca2d8abc5e7f240653fd72dc92a5e3441cc9cf01623a2f8ff08088a21d4ea579e6f66389d33cc2dc13b602
> *apache-jmeter-5.2.0_src.zip
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
>apache-jmeter-5.2.0\lib\junit
>JSyntaxTextArea: Error reading darcula_theme

Thanks. I have fixed those, and prepared v5.2.0-rc2
The error was there were non-java files present in src/main/java folders
(e.g. darcula_theme.xml and package.html), so I moved those to
src/main/resources.


Note: there's a difference between Ant-produced and Gradle-produced libs/*
in the binary distribution.
1) commons-logging-1.2.jar was missing, however it is a third-party
dependency which is used multiple times
2) javax.activation-api-1.2.0.jar should not be present. It is API-only
jar, and it makes no sense to redistribute it. javax.activation-1.2.0.jar
is a superset, so I removed activation-api.jar
3) I do not include /lib/junit/test.jar file to the binary distribution as
I believe that file is test-only. Ant does ship the file, however that is
minor.

--- jars.ant.txt
*+++ jars.gradle.txt*
-113676 asm-7.0.jar
*+114762 asm-7.1.jar*
-7770   bshclient.jar

*+7893   bshclient.jar+61829  commons-logging-1.2.jar*
-366601 darcula.jar
*+366601 darcula-e208efb96f70e4be9dc362fbb46f6e181ef501dd.jar*
-56674  javax.activation-api-1.2.0.jar
-146106 jorphan.jar
*+148505 jorphan.jar*

-------

Download - Archives/hashes/sigs:
https://dist.apache.org/repos/dist/dev/jmeter/apache-jmeter-5.2.0-rc2

RAT report:
https://apache.github.io/jmeter-site-preview/rat/rat-report.txt

SHA512 hashes of archives for this vote: see footnote [1]

Site preview is here:
https://apache.github.io/jmeter-site-preview/site/

JavaDoc API preview is here:
https://apache.github.io/jmeter-site-preview/site/api

Maven staging repository is accessible here:
https://repository.apache.org/content/repositories/orgapachejmeter-1044/org/apache/jmeter/

Tag:
https://github.com/apache/jmeter/tree/v5_2_0_RC2

Keys are here:
https://www.apache.org/dist/jmeter/KEYS

Vladimir

===
[1] SHA512 hashes of archives for this vote:

bfc3f95bb8898132796d48ba2b7ff74f19dddf27e6ccb93dea4356980f82ef463f3e5640f2d7744ec8a555a47abc8e2c287bca9aec45fd5105e97a3eeb70a909
*apache-jmeter-5.2.0.tgz
a17bc07023d41654a2998a5cb44ad4be8d642e90d39d785011724122aec393a657c1d49c9a8bab035c18e901d6e413c2d28d53743c1eae5cb0fdafdf84efe378
*apache-jmeter-5.2.0.zip
41ae4253c455210854dc8501e13cbb55d8f8076929a1c7fdeb5a5a6e978103445ec7f7bba56b61d9140aeb0e8d62a0d008f980227a47632b78e43f9e64df998c
*apache-jmeter-5.2.0_src.tgz
2002f82e7332cfa051ae92c72920195f01a3fb92f7ca2d8abc5e7f240653fd72dc92a5e3441cc9cf01623a2f8ff08088a21d4ea579e6f66389d33cc2dc13b602
*apache-jmeter-5.2.0_src.zip

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Jmeter Tea <jm...@gmail.com>.
Also found in jmeter log exception
 ERROR o.a.j.g.u.JSyntaxTextArea: Error reading darcula_theme for
JSyntaxTextArea
java.io.IOException: java.io.IOException: Stream closed
at org.fife.ui.rsyntaxtextarea.Theme$XmlHandler.load(Theme.java:616)
~[rsyntaxtextarea-3.0.2.jar:3.0.2]
at org.fife.ui.rsyntaxtextarea.Theme.load(Theme.java:354)
~[rsyntaxtextarea-3.0.2.jar:3.0.2]
at org.fife.ui.rsyntaxtextarea.Theme.load(Theme.java:333)
~[rsyntaxtextarea-3.0.2.jar:3.0.2]
at
org.apache.jmeter.gui.util.JSyntaxTextArea.initTheme(JSyntaxTextArea.java:266)
[ApacheJMeter_core.jar:5.2.0]

FYI

On Tue, Jul 30, 2019 at 9:18 AM Jmeter Tea <jm...@gmail.com> wrote:

> Notice when running jmeter.bat it loaded, but it seems that junit folder
> is missing
> java.lang.Throwable: Could not access
> C:\apache-jmeter-5.2.0\apache-jmeter-5.2.0\lib\junit
>         at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:105)
>
> On Tue, Jul 30, 2019 at 12:53 AM Vladimir Sitnikov <
> sitnikov.vladimir@gmail.com> wrote:
>
>> Hi,
>>
>> It is the final call to Gradle review.
>>
>> I have prepared JMeter 5.2.0 release candidate 1 to evaluate how
>> Gradle-based build works for release process.
>> Note: I do NOT intend to release v5_2_0_RC1, and the RC will likely be
>> deleted. The main purpose is to let everybody review artifacts.
>>
>> Below goes a copy-paste (!!!) from build script output.
>> Here's an asciinema: https://asciinema.org/a/259862
>>
>> 8<----------------------------------------->8
>>
>> The first release candidate for JMeter 5.2.0 (9cb34844b0) has been
>> prepared, and your votes are solicited.
>>
>> This release is mainly a bugfix
>>
>> Please, test this release candidate (with load tests and/or functional
>> tests) using Java 8+ on Linux/Windows/macOS, especially on the changes.
>> Feedback is very welcome within the next 72 hours.
>>
>> You can read the New and Noteworthy section with some screenshots to
>> illustrate improvements and full list of changes at:
>> https://apache.github.io/jmeter-site-preview/site/changes.html
>>
>> JMeter is a Java desktop application designed to load test functional
>> behavior and measure performance. The current version targets Java 8+
>>
>> Download - Archives/hashes/sigs:
>> https://dist.apache.org/repos/dist/dev/jmeter/apache-jmeter-5.2.0-rc1
>> (dist revision TBD:SVN revision of svnmucc stage result)
>>
>> RAT report:
>> https://apache.github.io/jmeter-site-preview/rat/rat-report.txt
>>
>> SHA512 hashes of archives for this vote: see footnote [1]
>>
>> Site preview is here:
>> https://apache.github.io/jmeter-site-preview/site/
>>
>> JavaDoc API preview is here:
>> https://apache.github.io/jmeter-site-preview/site/api
>>
>> Maven staging repository is accessible here:
>>
>> https://repository.apache.org/content/repositories/orgapachejmeter-1042/org/apache/jmeter/
>>
>> Tag:
>> https://github.com/apache/jmeter/tree/v5_2_0_RC1
>>
>> Keys are here:
>> https://www.apache.org/dist/jmeter/KEYS
>>
>> N.B.
>> To create the jars and test JMeter: "./gradlew build".
>>
>> JMeter 5.2.0 requires Java 8 or later to run.
>>
>> Some known issues and incompatible changes are listed on changes page.
>>
>> https://apache.github.io/jmeter-site-preview/site/changes.html#Known%20problems%20and%20workarounds
>>
>>
>> All feedback and vote are welcome.
>>
>> [  ] ++1 Gradle build is supercool
>> [  ] +1  I am OK to migrate build system to Gradle
>> [  ] +0  I don't care
>> [  ] -0  Ok, but
>>
>> The PMC members please indicate the mention "(binding)" with your vote.
>>
>> Note: there's no intention to release that version. The purpose of the
>> vote
>> is to see how Gradle build works in practice.
>>
>> Thanks in advance!
>>
>> ===
>> [1] SHA512 hashes of archives for this vote:
>>
>>
>> 946d0f30768c963278d46b2d45175943aa2b1617017b40cb2425a4926c1ffdea81be5e44430f6ce3884833b1d68013a064afbf984b59830f6559b84d78efd910
>> *apache-jmeter-5.2.0.tgz
>>
>> bf915b83c52a68fe341e1dbc25b22a2e4fb3c99c45f11714e8ed8a12d5298ac5829a544e3054684e7125e7ab7ba485d7a3d73e2a70c6417449669c9b1c8c2011
>> *apache-jmeter-5.2.0.zip
>>
>> 012b69801b3dbec4220043286362a199761d5629da42a0ae14cbf5ac66e6005e9ad7bf8537987d325881f6df7953f5ded948b54abe759656fa0580b53dceb536
>> *apache-jmeter-5.2.0_src.tgz
>>
>> 68e75237064f582a03d34615f3396e0a833d56aea77af24859528a69024c3d74a2a6ab0599afb34ecad9d1297ad08c961ca1b85ae42e179d01d7779f64fcb7b8
>> *apache-jmeter-5.2.0_src.zip
>>
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Jmeter Tea <jm...@gmail.com>.
Notice when running jmeter.bat it loaded, but it seems that junit folder is
missing
java.lang.Throwable: Could not access
C:\apache-jmeter-5.2.0\apache-jmeter-5.2.0\lib\junit
        at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:105)

On Tue, Jul 30, 2019 at 12:53 AM Vladimir Sitnikov <
sitnikov.vladimir@gmail.com> wrote:

> Hi,
>
> It is the final call to Gradle review.
>
> I have prepared JMeter 5.2.0 release candidate 1 to evaluate how
> Gradle-based build works for release process.
> Note: I do NOT intend to release v5_2_0_RC1, and the RC will likely be
> deleted. The main purpose is to let everybody review artifacts.
>
> Below goes a copy-paste (!!!) from build script output.
> Here's an asciinema: https://asciinema.org/a/259862
>
> 8<----------------------------------------->8
>
> The first release candidate for JMeter 5.2.0 (9cb34844b0) has been
> prepared, and your votes are solicited.
>
> This release is mainly a bugfix
>
> Please, test this release candidate (with load tests and/or functional
> tests) using Java 8+ on Linux/Windows/macOS, especially on the changes.
> Feedback is very welcome within the next 72 hours.
>
> You can read the New and Noteworthy section with some screenshots to
> illustrate improvements and full list of changes at:
> https://apache.github.io/jmeter-site-preview/site/changes.html
>
> JMeter is a Java desktop application designed to load test functional
> behavior and measure performance. The current version targets Java 8+
>
> Download - Archives/hashes/sigs:
> https://dist.apache.org/repos/dist/dev/jmeter/apache-jmeter-5.2.0-rc1
> (dist revision TBD:SVN revision of svnmucc stage result)
>
> RAT report:
> https://apache.github.io/jmeter-site-preview/rat/rat-report.txt
>
> SHA512 hashes of archives for this vote: see footnote [1]
>
> Site preview is here:
> https://apache.github.io/jmeter-site-preview/site/
>
> JavaDoc API preview is here:
> https://apache.github.io/jmeter-site-preview/site/api
>
> Maven staging repository is accessible here:
>
> https://repository.apache.org/content/repositories/orgapachejmeter-1042/org/apache/jmeter/
>
> Tag:
> https://github.com/apache/jmeter/tree/v5_2_0_RC1
>
> Keys are here:
> https://www.apache.org/dist/jmeter/KEYS
>
> N.B.
> To create the jars and test JMeter: "./gradlew build".
>
> JMeter 5.2.0 requires Java 8 or later to run.
>
> Some known issues and incompatible changes are listed on changes page.
>
> https://apache.github.io/jmeter-site-preview/site/changes.html#Known%20problems%20and%20workarounds
>
>
> All feedback and vote are welcome.
>
> [  ] ++1 Gradle build is supercool
> [  ] +1  I am OK to migrate build system to Gradle
> [  ] +0  I don't care
> [  ] -0  Ok, but
>
> The PMC members please indicate the mention "(binding)" with your vote.
>
> Note: there's no intention to release that version. The purpose of the vote
> is to see how Gradle build works in practice.
>
> Thanks in advance!
>
> ===
> [1] SHA512 hashes of archives for this vote:
>
>
> 946d0f30768c963278d46b2d45175943aa2b1617017b40cb2425a4926c1ffdea81be5e44430f6ce3884833b1d68013a064afbf984b59830f6559b84d78efd910
> *apache-jmeter-5.2.0.tgz
>
> bf915b83c52a68fe341e1dbc25b22a2e4fb3c99c45f11714e8ed8a12d5298ac5829a544e3054684e7125e7ab7ba485d7a3d73e2a70c6417449669c9b1c8c2011
> *apache-jmeter-5.2.0.zip
>
> 012b69801b3dbec4220043286362a199761d5629da42a0ae14cbf5ac66e6005e9ad7bf8537987d325881f6df7953f5ded948b54abe759656fa0580b53dceb536
> *apache-jmeter-5.2.0_src.tgz
>
> 68e75237064f582a03d34615f3396e0a833d56aea77af24859528a69024c3d74a2a6ab0599afb34ecad9d1297ad08c961ca1b85ae42e179d01d7779f64fcb7b8
> *apache-jmeter-5.2.0_src.zip
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Hi,

It is the final call to Gradle review.

I have prepared JMeter 5.2.0 release candidate 1 to evaluate how
Gradle-based build works for release process.
Note: I do NOT intend to release v5_2_0_RC1, and the RC will likely be
deleted. The main purpose is to let everybody review artifacts.

Below goes a copy-paste (!!!) from build script output.
Here's an asciinema: https://asciinema.org/a/259862

8<----------------------------------------->8

The first release candidate for JMeter 5.2.0 (9cb34844b0) has been
prepared, and your votes are solicited.

This release is mainly a bugfix

Please, test this release candidate (with load tests and/or functional
tests) using Java 8+ on Linux/Windows/macOS, especially on the changes.
Feedback is very welcome within the next 72 hours.

You can read the New and Noteworthy section with some screenshots to
illustrate improvements and full list of changes at:
https://apache.github.io/jmeter-site-preview/site/changes.html

JMeter is a Java desktop application designed to load test functional
behavior and measure performance. The current version targets Java 8+

Download - Archives/hashes/sigs:
https://dist.apache.org/repos/dist/dev/jmeter/apache-jmeter-5.2.0-rc1
(dist revision TBD:SVN revision of svnmucc stage result)

RAT report:
https://apache.github.io/jmeter-site-preview/rat/rat-report.txt

SHA512 hashes of archives for this vote: see footnote [1]

Site preview is here:
https://apache.github.io/jmeter-site-preview/site/

JavaDoc API preview is here:
https://apache.github.io/jmeter-site-preview/site/api

Maven staging repository is accessible here:
https://repository.apache.org/content/repositories/orgapachejmeter-1042/org/apache/jmeter/

Tag:
https://github.com/apache/jmeter/tree/v5_2_0_RC1

Keys are here:
https://www.apache.org/dist/jmeter/KEYS

N.B.
To create the jars and test JMeter: "./gradlew build".

JMeter 5.2.0 requires Java 8 or later to run.

Some known issues and incompatible changes are listed on changes page.
https://apache.github.io/jmeter-site-preview/site/changes.html#Known%20problems%20and%20workarounds


All feedback and vote are welcome.

[  ] ++1 Gradle build is supercool
[  ] +1  I am OK to migrate build system to Gradle
[  ] +0  I don't care
[  ] -0  Ok, but

The PMC members please indicate the mention "(binding)" with your vote.

Note: there's no intention to release that version. The purpose of the vote
is to see how Gradle build works in practice.

Thanks in advance!

===
[1] SHA512 hashes of archives for this vote:

946d0f30768c963278d46b2d45175943aa2b1617017b40cb2425a4926c1ffdea81be5e44430f6ce3884833b1d68013a064afbf984b59830f6559b84d78efd910
*apache-jmeter-5.2.0.tgz
bf915b83c52a68fe341e1dbc25b22a2e4fb3c99c45f11714e8ed8a12d5298ac5829a544e3054684e7125e7ab7ba485d7a3d73e2a70c6417449669c9b1c8c2011
*apache-jmeter-5.2.0.zip
012b69801b3dbec4220043286362a199761d5629da42a0ae14cbf5ac66e6005e9ad7bf8537987d325881f6df7953f5ded948b54abe759656fa0580b53dceb536
*apache-jmeter-5.2.0_src.tgz
68e75237064f582a03d34615f3396e0a833d56aea77af24859528a69024c3d74a2a6ab0599afb34ecad9d1297ad08c961ca1b85ae42e179d01d7779f64fcb7b8
*apache-jmeter-5.2.0_src.zip

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
> How is it effect contributors?

It will simplify building and loading the project to IDE.

>SVN is irrelevant and should be removed, right?

As per ASF release policy, SVN and Git links should be removed:
http://www.apache.org/legal/release-policy.html#publication

> ANT can be still used?

No, ANT build script will completely be replaced with Gradle.
There's no way to support both.

>can you add a gradle setup in page?

I'll add gradle build step to building page.
The step is './gradlew build'

Vladimir

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Jmeter Tea <jm...@gmail.com>.
Hello

How is it effect contributors? http://jmeter.apache.org/building.html
SVN is irrelevant and should be removed, right?
ANT can be still used or can you add a gradle setup in page?

Thank you

On Fri, Jul 19, 2019 at 7:34 PM Vladimir Sitnikov <
sitnikov.vladimir@gmail.com> wrote:

> Hi,
>
> I've rebased gradle branch on top of the current master, and it
> includes all the changes so far.
>
> As of now, Gradle-based build generates license file (see
> src/licenses), and it builds source/binary artifacts based on
> .gitattributes and .gitignore files.
>
> Even though it is a major improvement, the diff itself was very small.
>
> I assume everybody has already tried Gradle-based build, and I'm about
> to merge https://github.com/apache/jmeter/pull/469 soon.
>
> Overall diff is 150 files changed, 4803 insertions(+), 10014
> deletions(-)  (diff command is: git diff -M30% -l0 --stat -p -G.
> origin/master )
>
> Vladimir
>
> 2019-07-17 18:07 GMT+03:00, Vladimir Sitnikov <sitnikov.vladimir@gmail.com
> >:
> > Felix>PS I hope to find time to look at the gradle work when the build is
> > Felix>running again.
> >
> > Note: Gradle-based build is running, so you could try it just fine.
> > My gradle branch is lagging behind, however the difference is minimal.
> >
> >
> > As of now, I'm working on two items:
> >
> > 1) Generate license files (it is almost complete).
> > 2) "Use .gitattributes" to infer CRLF/LF for binary and source artifacts
> >
> > A nice outcome of #2 would be that "source artifacts" would be coded as
> > follows (+ something regarding shell scripts).
> > It would automatically include text files as CRLF when building zip, and
> LF
> > when building tgz.
> >
> > val baseFolder = "apache-jmeter-${rootProject.version}"
> >
> > fun CrLfSpec.sourceLayout() = copySpec {
> >     duplicatesStrategy = DuplicatesStrategy.EXCLUDE
> >     into(baseFolder) {
> >         // Apply common gitattributes to license files
> >         gitattributes(this, gitProps)
> >         // Note: license content is taken from "/build/..", so
> > gitignore should not be used
> >         // Note: this is a "license + third-party licenses", not just
> > Apache-2.0
> >         with(licenseNotice(licenseType = "source"))
> >     }
> >     into(baseFolder) {
> >         // Ignore files ignored by Git
> >         gitignore(gitProps)
> >         gitattributes(this, gitProps)
> >         // Include all the source files
> >         from(rootDir)
> >     }
> > }
> >
> > Vladimir
> >
>
>
> --
> Regards,
> Vladimir Sitnikov
>

Re: [VOTE] JMeter: migration to Git+Gradle

Posted by Vladimir Sitnikov <si...@gmail.com>.
Hi,

I've rebased gradle branch on top of the current master, and it
includes all the changes so far.

As of now, Gradle-based build generates license file (see
src/licenses), and it builds source/binary artifacts based on
.gitattributes and .gitignore files.

Even though it is a major improvement, the diff itself was very small.

I assume everybody has already tried Gradle-based build, and I'm about
to merge https://github.com/apache/jmeter/pull/469 soon.

Overall diff is 150 files changed, 4803 insertions(+), 10014
deletions(-)  (diff command is: git diff -M30% -l0 --stat -p -G.
origin/master )

Vladimir

2019-07-17 18:07 GMT+03:00, Vladimir Sitnikov <si...@gmail.com>:
> Felix>PS I hope to find time to look at the gradle work when the build is
> Felix>running again.
>
> Note: Gradle-based build is running, so you could try it just fine.
> My gradle branch is lagging behind, however the difference is minimal.
>
>
> As of now, I'm working on two items:
>
> 1) Generate license files (it is almost complete).
> 2) "Use .gitattributes" to infer CRLF/LF for binary and source artifacts
>
> A nice outcome of #2 would be that "source artifacts" would be coded as
> follows (+ something regarding shell scripts).
> It would automatically include text files as CRLF when building zip, and LF
> when building tgz.
>
> val baseFolder = "apache-jmeter-${rootProject.version}"
>
> fun CrLfSpec.sourceLayout() = copySpec {
>     duplicatesStrategy = DuplicatesStrategy.EXCLUDE
>     into(baseFolder) {
>         // Apply common gitattributes to license files
>         gitattributes(this, gitProps)
>         // Note: license content is taken from "/build/..", so
> gitignore should not be used
>         // Note: this is a "license + third-party licenses", not just
> Apache-2.0
>         with(licenseNotice(licenseType = "source"))
>     }
>     into(baseFolder) {
>         // Ignore files ignored by Git
>         gitignore(gitProps)
>         gitattributes(this, gitProps)
>         // Include all the source files
>         from(rootDir)
>     }
> }
>
> Vladimir
>


-- 
Regards,
Vladimir Sitnikov