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/06/18 21:19:48 UTC

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

Any updates here?

I see new commits are landing the repo, however the feedback re Gradle is
very limited.
Apparently it is fully positive.

Well. When new commits change existing files it is trivial for me.
However it does bother me when new files are created (e.g. new files in
https://github.com/apache/jmeter/pull/470/files), because I have to
manually analyze the proper location for the files.

Most of the time it is figuring out "if the test is a unit test that
requires just a couple of classes" or "if it is an integration test" that
requires full JMeter installation.

The more those commits lands without as single feedback on Gradle, the more
I'm inclined to just commit Ant->Gradle so the ones who create files would
just pick appropriate locations themselves.

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

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

Posted by 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

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

Posted by Vladimir Sitnikov <si...@gmail.com>.
I've refactored IDE/License/Release part of the scripts to a standalone
repository: https://github.com/vlsi/vlsi-release-plugins

Gradle PR is updated: https://github.com/apache/jmeter/pull/469
The net diff is 1959 files changed, 4901 insertions(+), 10246 deletions(-)

In other words, 5000 lines removed, and lots of new features added. Isn't
that cool?

Unfortunately, the my build plugins are "pending approval" on a Gradle
Plugin Portal, so if you want to try the new Gradle build, you need to
clone vlsi-release-plugins.
However, linking two projects together is super-simple: you just need to
have jmeter and vlsi-release-plugins folders side by side, and
jmeter/settings.gradle.kts does the linking (it has `importBuild(...)`).


The new build scripts help with License validation as per
https://www.apache.org/legal/resolved.html

As you've seen it helped me to identify a couple of violations which are
currently ignored via failOnIncompatibleLicense.set(false)
Here's how licenses are declared:
https://github.com/vlsi/jmeter/blob/gradle/src/licenses/build.gradle.kts#L30
Note: the build script automatically extracts license/notice files from jar
files, so only missing files should be placed to JMeter source control.
I've created a set of issues so downstream projects would hopefully bundle
license files so we could remove them.

Vladimir> Most of the time it is figuring out "if the test is a unit test
that
Vladimir> requires just a couple of classes" or "if it is an integration
test" that
Vladimir> requires full JMeter installation.

Here's an example of recent changes that required certain updates for the
new folder layout:
https://github.com/apache/jmeter/pull/469/commits/61da645a1beadcc9190f96ccf327d66c00a62a23

Basically those tests were located in "core" package, however they used GUI
classes, and classes from components.
I think it is nice that new layout prevents this kind of accidental class
misuse.

Vladimir

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

Posted by Philippe Mouawad <ph...@gmail.com>.
On Thu, Jun 20, 2019 at 2:57 PM Vladimir Sitnikov <
sitnikov.vladimir@gmail.com> wrote:

> Philippe>I think we should make a public announcement about migration from
> SVN to
> GIT
>
> This is a Gradle migration thread though.
>
No as per title :-)

>
> >
> Vladimir
>


-- 
Cordialement.
Philippe Mouawad.

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

Posted by Vladimir Sitnikov <si...@gmail.com>.
Philippe>I think we should make a public announcement about migration from
SVN to
GIT

This is a Gradle migration thread though.

>
Vladimir

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

Posted by Philippe Mouawad <ph...@gmail.com>.
Hello,

I think we should make a public announcement about migration from SVN to
GIT :

   - on dev list
   - on mailing list
   - on twitter

As I see some people being disturbed by old PR being closed and diffs being
broken.

Regards

On Thu, Jun 20, 2019 at 2:28 PM Vladimir Sitnikov <
sitnikov.vladimir@gmail.com> wrote:

> Felix> I hope to take a closer look at the gradle conversion branch soon
>
> Thank you.
>
> Felix>It seems that you have removed build.xml (probably on purpose as it
> Felix>would be a lot of work to reflect the new directory layout?).
>
> Exactly. I see no reason to support new layout in build.xml
> For instance: build.xml requires manual edits of pom.xml files and license
> texts, while Gradle-based build does that automatically.
> So it was not just build.xml that was removed.
>
> Felix>The rest is probably a lot of gluecode for gradle.
>
> It is less coding (both in terms of lines of code and development effort)
> than build.xml though.
>
> Vladimir
>


-- 
Cordialement.
Philippe Mouawad.

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

Posted by Vladimir Sitnikov <si...@gmail.com>.
Felix> I hope to take a closer look at the gradle conversion branch soon

Thank you.

Felix>It seems that you have removed build.xml (probably on purpose as it
Felix>would be a lot of work to reflect the new directory layout?).

Exactly. I see no reason to support new layout in build.xml
For instance: build.xml requires manual edits of pom.xml files and license
texts, while Gradle-based build does that automatically.
So it was not just build.xml that was removed.

Felix>The rest is probably a lot of gluecode for gradle.

It is less coding (both in terms of lines of code and development effort)
than build.xml though.

Vladimir

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

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 18.06.19 um 23:19 schrieb Vladimir Sitnikov:
> Any updates here?
>
> I see new commits are landing the repo, however the feedback re Gradle is
> very limited.
> Apparently it is fully positive.
>
> Well. When new commits change existing files it is trivial for me.
> However it does bother me when new files are created (e.g. new files in
> https://github.com/apache/jmeter/pull/470/files), because I have to
> manually analyze the proper location for the files.
>
> Most of the time it is figuring out "if the test is a unit test that
> requires just a couple of classes" or "if it is an integration test" that
> requires full JMeter installation.
>
> The more those commits lands without as single feedback on Gradle, the more
> I'm inclined to just commit Ant->Gradle so the ones who create files would
> just pick appropriate locations themselves.

I hope to take a closer look at the gradle conversion branch soon. From
a glance I took it looks that it is mostly sorting the java/groovy files
to a maven-like structure with a multi-project layout. The rest is
probably a lot of gluecode for gradle.

It seems that you have removed build.xml (probably on purpose as it
would be a lot of work to reflect the new directory layout?).

I am looking forward to the migration and think that -- with your help
-- we can tackle the -- hopefully minor -- nitpicks that will present
themselves on the way.

Felix

>
> Vladimir
>