-
Notifications
You must be signed in to change notification settings - Fork 3
/
README
128 lines (84 loc) · 4.04 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
USAGE
BUILDING
Some notes about building:
Building *will* take a while, the first time, as it pulls the Git repo.
Subsequent builds are fast as fast can be ish! If you know your system has
git installed, the argument "use.jgit=false" will speed the clone up.
You can specify the Git repo to pull from by editing the build/src.xml file.
As the Railo repo is imported into the ./src directory, any git operations
for the sources should be done there.
Different versions of Railo require different Java versions to compile. If
you try to build with the wrong version of Java, the build will fail and
tell you what the correct version to use is. If you are on linux/OS X,
you can pass in the location of JAVA_HOME via build.java.home
ex: ./railobuild build branch=3.2.1.006 build.java.home=/path/to/java_home
On Windows, if you set JAVA_HOME via command line, do not quote the path
ex: set JAVA_HOME=C:\Program Files\Java\jre6
Using the "branch" or "commit" build options will do a *forced* checkout of
the corresponding sources. If you have any changes, you sure as hell have
better committed them prior! Only non-commited stuff will be dissapeared.
Running a plain "build", without the branch or commit options, will only run
the build on the current sources. Non-committed stuff is safe.
The sources are compiled with the Eclipse ECJ compiler, so no JDK is needed.
You will see a commit log after each build. If you update your sources, the
log will be of the changes since you last built the sources. The last commit
hash will be stored in buildinfo.properties, which you can then use for CI
checks (i.e., if lastbuild.hash != current.hash, something changed).
Build the default (3.3) branch
./railo-build build
Build the "develop" branch (4.0) leveraging system git
./railo-build build branch=develop use.jgit=false
Build a tag (uses the branch argument but specify the tag)
./railo-build build branch=3.3.1.006
Build a random commit
./railo-build build commit=81a8897d1b9e273f8de819eb56a13d7bcf5d51cf
TESTING
Some notes on testing:
The tests are stored with the railobuild project, so you can change the
the version of Railo you are testing with, without having to commit the
tests to that branch. We should probably create a separate repository for
all tests, and pull from that. We should probably categorize things like
web/server admin tests by Railo version, so we can not run the new admin
features on the old admin versions.
tests/
/jira (jira tests)
/jmeter (jmeter tests)
/results (generic test results dir)
/results/jmeter (jmeter results)
Currently the Jira tests take about 3 mintues to run. The webserver runs
for about another 2 mintues afterwards, but it will shut itself down when
the threads spawned by the tests have exited. Kill it if you're impatient.
Build and run the jira tests:
./railobuild build.and.test
Run the jira tests (starts server, runs tests, stops server):
./railobuild test
LOAD TESTS: JMETER
Currently there is only one JMeter test, which goes through the web admin a
few times.
Downlaod and install JMeter (defaults to ./build/jmeter-{version}) by entering:
./railobuild jmeter.install
Build and run the jmeter tests:
./railobuild build.and.loadtest
Run the jmeter tests (this will run jmeter.run and jmeter.report):
./railobuild loadtest
Run the jmeter tests alone (no report generation):
./railobuild jmeter.run
Run the jmeter report generation (no tests are run):
./railobuild jmeter.report
Clean the jmeter test results and reports:
./railobuild jmeter.clean
To run the test server by hand in the foreground (does not background):
./railobuild server.start.fg
Starting the test server by hand (goes to background):
./railobuild server.start
Stopping the test server by hand:
./railobuild server.stop
Editing JMeter tests:
./railobuild server.start
./build/jmeter-2.6.1/bin/jmeter.sh
do yer editing or whatever, then
./railobuild server.stop
PACKAGING
WAR
A WAR file is generated as part of the standard build, as is the railo.jar,
and core.rc file.