Skip to content

Commit 2be94e8

Browse files
committed
Add Gradle build scripts
1 parent 77c756c commit 2be94e8

File tree

78 files changed

+4735
-532
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+4735
-532
lines changed

.gitignore

+18
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
# Directory trees to ignore
22
/backups/
33
/build/
4+
/buildSrc/build/
5+
/buildSrc/subprojects/*/build/**
6+
/buildSrc/subprojects/*/bin/**
7+
/buildSrc/subprojects/*/out/**
8+
/src/*/build/
9+
/src/*/bin/
10+
/src/*/out/
11+
/src/protocol/*/build/
12+
/src/protocol/*/bin/
13+
/src/protocol/*/out/
414
/dist/
515
/docs/
616
/local/
@@ -10,6 +20,14 @@
1020
/target/
1121

1222
!/bin/report-template/**/dist
23+
/bin/temp/
24+
/bin/testfiles/testReport*
25+
26+
# Ignore Gradle project-specific cache directory
27+
.gradle
28+
29+
# macOS
30+
.DS_Store
1331

1432
# specific files to ignore
1533
*.log

.travis.yml

+17-33
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,38 @@
11
sudo: false
22
language: java
33

4-
before_script:
5-
- test "x$RUN_CHECKSTYLE" != 'x' || ant -Djava.awt.headless=true clean download_jars install
6-
- test "x$RUN_CHECKSTYLE" != 'xtrue' || ant -Djava.awt.headless=true download_checkstyle
7-
8-
before_install:
9-
- wget --no-check-certificate https://www.apache.org/dist/ant/binaries/apache-ant-1.10.5-bin.tar.gz
10-
- tar -xzvf apache-ant-1.10.5-bin.tar.gz
11-
- export PATH="$(pwd)/apache-ant-1.10.5/bin:$PATH"
12-
- echo $(ant -version)
13-
144
# skip default "install" command
155
install: true
166

7+
before_cache:
8+
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
9+
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
10+
cache:
11+
directories:
12+
- $HOME/.gradle/caches/
13+
- $HOME/.gradle/wrapper/
14+
1715
env:
1816
global:
19-
- ANT_OPTS="-Ddisable-svnCheck=true -Djava.awt.headless=true -Drmi_force_localhost=true"
17+
- GRADLE_ARGS="-Djava.awt.headless=true"
18+
# Building source and binary distributions takes time, and it does not verify much, so we skip it in CI
19+
- SKIP_DIST_TASKS="$GRADLE_ARGS -PskipDist"
2020

2121
matrix:
2222
include:
23-
- jdk: oraclejdk8
24-
env: RUN_CHECKSTYLE=true
25-
script: ant -Djava.awt.headless=true checkstyle
26-
- name: Coverage on our default build with Oracle Java 8
27-
jdk: oraclejdk8
28-
script:
29-
- ant coverage-travis
30-
after_success:
31-
- bash <(curl -s https://codecov.io/bash)
32-
sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
33-
- name: Tests with OpenJDK 8
23+
- name: Tests with OpenJDK 8 + code coverage
3424
jdk: openjdk8
3525
script:
36-
- ant test
26+
- ./gradlew $GRADLE_ARGS check createDist jacocoReport
27+
after_success:
28+
- bash <(curl -s https://codecov.io/bash)
3729
- name: Tests with OpenJDK 11
3830
jdk: openjdk11
3931
script:
40-
- ant test
41-
sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
32+
- ./gradlew $SKIP_DIST_TASKS -PskipCheckstyle build createDist
4233
- name: Tests with OpenJDK EA
4334
jdk: openjdk-ea
4435
script:
45-
- ant test
46-
sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
36+
- ./gradlew $SKIP_DIST_TASKS -PskipCheckstyle build createDist
4737
allow_failures:
4838
- jdk: openjdk-ea
49-
# disable building with jdk9 as it has a bug and will not compile JMeter
50-
# see https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8193802
51-
# - jdk: oraclejdk9
52-
# script: ant -Djava.awt.headless=true -Drmi_force_localhost=true -Dskip.bug52310=true test
53-
# sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
54-

CONTRIBUTING.md

+35
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,41 @@ See:
2323
* https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_severity=Blocker&bug_severity=Critical&bug_severity=Major&bug_severity=Normal&bug_severity=Regression&bug_severity=Minor&bug_severity=Trivial&product=JMeter&order=Bug%20Number&list_id=164231
2424
* https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_severity=Enhancement&product=JMeter&order=Bug%20Number&list_id=164232
2525

26+
## Development setup
27+
28+
### Gradle
29+
30+
You might find useful Gradle commands in [gradle.md](gradle.md)
31+
32+
### <a name="intellij"></a>IntelliJ IDEA
33+
34+
You require IntelliJ 2018.3.1 or newer.
35+
36+
1. Open the build.gradle.kts file with IntelliJ IDEA and choose `Open as Project`
37+
1. Make sure `Create separate module per source set` is selected
38+
1. Make sure `Use default gradle wrapper` is selected
39+
1. In the `File already exists` dialogue, choose `Yes` to overwrite
40+
1. In the `Open Project` dialogue, choose `Delete Existing Project and Import`
41+
42+
### Eclipse
43+
44+
Eclipse can import Gradle projects automatically via `Import...->Gradle project` wizard.
45+
46+
Optionally you can generate Eclipse project by running
47+
48+
./gradlew eclipse
49+
50+
The steps to import the sources (based on Eclipse 2019-06) into Eclipse are as follows:
51+
52+
1. Install `Eclipse IDE for Java Developers`
53+
1. Install the Groovy Eclipse plugin and select Groovy Compiler 2.4 (some tests are written in Groovy)
54+
1. Install `Kotlin for Eclipse` plugin (builds scripts are written in Kotlin)
55+
1. Make sure you have a Java 8 compatible JDK configured in your workspace
56+
1. Open `File->Import...`
57+
1. Select `Existing Gradle Project` and click `Next`
58+
1. Read `How to experience the best Gradle integration` and click `Next`
59+
1. Then you might just click `Finish`
60+
2661
## :star2: Have a patch?
2762
The best way to make sure your issue or feature is addressed is to submit a patch.
2863
We accept patches through:

LICENSE

-112
Original file line numberDiff line numberDiff line change
@@ -176,115 +176,3 @@
176176
END OF TERMS AND CONDITIONS
177177

178178
============================ End of Apache License V 2.0 ===================
179-
180-
Source and binary distributions of Apache JMeter contain:
181-
182-
- icons from the Open Icon Library http://openiconlibrary.sourceforge.net/
183-
For license details, please see the file: licenses/src/openiconlibrary.txt
184-
185-
Additional source files (also included in binary distributions):
186-
For details, please see the files under: licenses/src
187-
188-
* bootstrap-3.3.4.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/bootstrap
189-
* bootstrap-social.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/bootstrap-social
190-
* datatables-1.10.9.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables
191-
* datatables-plugins.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables-plugins
192-
* datatables-responsive-1.0.5.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables-responsive
193-
* flot-0.8.3.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot
194-
* flot-axislabels.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot-axislabels
195-
* flot-tooltip-0.7.1.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip
196-
* font-awesome-4.2.0.txt (OFL-1.1 | MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/font-awesome
197-
* holderjs.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/holderjs
198-
* jquery-2.1.3.txt (MIT | ./bin/report-template/sbadmin2-1.0.7/bower_components/jquery
199-
* metisMenu-1.1.3.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/metisMenu
200-
* mocha-1.17.1.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/mocha
201-
* morrisjs-0.5.0.txt (Simplified BSD) | ./bin/report-template/sbadmin2-1.0.7/bower_components/morrisjs
202-
* raphael-2.1.4.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/raphael
203-
* start-bootstrap-admin2-1.0.7.txt (Apache License V2.0) | ./bin/report-template/sbadmin2-1.0.7 and not in the above folders
204-
205-
Binary distributions additionally contain software included under various licenses,
206-
see below.
207-
208-
The following software is provided under the Apache License V 2.0 (as above):
209-
210-
- Software produced at the ASF:
211-
212-
* apache-bsf-2.4.0.jar
213-
* beanshell-2.0b6.jar
214-
* cglib-nodep-3.2.9.jar
215-
* commons-codec-1.11.jar
216-
* commons-collections-3.2.2.jar
217-
* commons-dbcp2-2.5.0.jar
218-
* commons-io-2.6.jar
219-
* commons-jexl2-2.1.1.jar
220-
* commons-jexl3-3.1.jar
221-
* commons-lang3-3.8.1.jar
222-
* commons-math3-3.6.1.jar
223-
* commons-net-3.6.jar
224-
* commons-pool2-2.6.0.jar
225-
* commons-text-1.6.jar
226-
* dec-0.1.2.jar
227-
* groovy-all-2.4.16.jar
228-
* httpasyncclient-4.1.4.jar
229-
* httpclient-4.5.8.jar
230-
* httpcore-4.4.11.jar
231-
* httpcore-nio-4.4.11.jar
232-
* httpmime-4.5.8.jar
233-
* jakarta-oro-2.0.8.jar
234-
* jms-1.1.1.jar
235-
* log4j-1.2-api-2.11.1.jar
236-
* log4j-api-2.11.1.jar
237-
* log4j-core-2.11.1.jar
238-
* log4j-slf4j-impl-2.11.1.jar
239-
* serializer-2.7.2.jar
240-
* startbootstrap-sb-admin-2-1.0.7
241-
* tika-core-1.21.jar
242-
* tika-parsers-1.21.jar
243-
* xalan-2.7.2.jar
244-
* xerces-2.12.0.jar
245-
* xml-apis-1.4.01.jar
246-
* xmlgraphics-commons-2.3.jar
247-
248-
- Software produced outside the ASF which is available under AL 2.0:
249-
250-
* accessors-smart-1.2.jar
251-
* caffeine-2.6.2.jar
252-
* darcula.jar
253-
* freemarker-2.3.28.jar (AL2.0, see licenses/bin for additional info)
254-
* jackson-annotations-2.9.9.jar
255-
* jackson-core-2.9.9.jar
256-
* jackson-databind-2.9.9.jar
257-
* json-path-2.4.0.jar
258-
* json-smart-2.3.jar
259-
* mongo-java-driver-2.11.3.jar
260-
* objenesis-2.6.jar
261-
* ph-commons-9.2.1.jar
262-
* ph-css-6.1.1.jar
263-
* spock-core-1.2-groovy-2.4.jar
264-
265-
- Software produced outside the ASF which is available under other licenses (not AL 2.0):
266-
For details, please see the files under: licenses/bin
267-
268-
* asm-7.0.jar (BSD)
269-
* dnsjava-2.1.8.jar (BSD)
270-
* hamcrest-core-1.3.jar (BSD)
271-
* javamail-1.5.0-b01.jar (CDDL Version 1.0)
272-
* javax.activation-api-1.2.0.jar (CDDL Version 1.1)
273-
* javax.activation-1.2.0.jar (CDDL Version 1.1)
274-
* jcharts-0.7.5.jar (?)
275-
* jcl-over-slf4j-1.7.25.jar (MIT)
276-
* jsoup-1.11.3.jar (MIT)
277-
* jodd-core-5.0.6.jar (Simplified BSD)
278-
* jodd-lagarto-5.0.6.jar (Simplified BSD)
279-
* jodd-log-5.0.6.jar (Simplified BSD)
280-
* jodd-props-5.0.6.jar (Simplified BSD)
281-
* jtidy-r938.jar (?)
282-
* junit-4.12.jar (BSD)
283-
* rhino-1.7.10.jar (MPL 2.0)
284-
* rsyntaxtextarea-3.0.2.jar (BSD)
285-
* slf4j-api-1.7.25.jar (MIT)
286-
* xmlpull-1.1.3.1.jar (Public Domain)
287-
* xpp3-1.1.4c.jar (Indiana University Extreme! Lab Software License 1.1.1)
288-
* xstream-1.4.11.jar (BSD)
289-
* hamcrest-date-2.0.4.jar (BSD)
290-
* Saxon-HE-9.9.1-1.jar (Mozilla Public License version 2.0)

0 commit comments

Comments
 (0)