-
Notifications
You must be signed in to change notification settings - Fork 80
Contribute
- JDK 7+
- Ant 1.x
- Ivy (automatically retrieves itself and dependencies if not present)
To contribute to the Logentries JS client library, you'll need to clone the repo:
git clone https://github.com/logentries/le_js.git
Run ant test
regularly when hacking on the client libary (which lives in src/le.js
, before you ask. Rinse and repeat until you have a discernible feature. Periodically run ant build
to do some more intrusive type-checking, e.t.c.
We love pull requests; hit us with them :)
To run the tests with all compile-time type checks, run the main Ant task (ant build
). You should get some output like this (if you don't have Ivy or some of the transitive dependencies, you might be waiting a little longer while they download):
chris@think:~/le/jsclient$ ant
Buildfile: /home/chris/le/jsclient/build.xml
download-ivy:
[get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0-rc2/ivy-2.1.0-rc2.jar
[get] To: /home/chris/.ant/lib/ivy.jar
[get] Not modified - so not downloaded
init-ivy:
fetch-deps:
[ivy:retrieve] :: Ivy 2.1.0-rc2 - 20090704004254 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: url = jar:file:/home/chris/.ant/lib/ivy.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: com.logentries#le_js;working@think
[ivy:retrieve] confs: [default]
[ivy:retrieve] found org.dynjs#dynjs;0.1.1 in public
[ivy:retrieve] found me.qmx.jitescript#jitescript;0.3.0 in public
[ivy:retrieve] found org.ow2.asm#asm-debug-all;4.0 in public
[ivy:retrieve] found org.easytesting#fest-assert;1.4 in public
[ivy:retrieve] found org.easytesting#fest-util;1.1.6 in public
[ivy:retrieve] found com.google.guava#guava;r07 in public
[ivy:retrieve] found org.projectodd.rephract#rephract;1.0.0 in public
[ivy:retrieve] found com.headius#invokebinder;1.1 in public
[ivy:retrieve] found args4j#args4j;2.0.16 in public
[ivy:retrieve] found org.jboss.aesh#aesh;0.36 in public
[ivy:retrieve] found org.fusesource.jansi#jansi;1.9 in public
[ivy:retrieve] found org.codehaus.jackson#jackson-core-asl;1.9.9 in public
[ivy:retrieve] found org.jruby.joni#joni;1.1.9 in public
[ivy:retrieve] found org.jruby.jcodings#jcodings;1.0.8 in public
[ivy:retrieve] found com.google.javascript#closure-compiler;v20130603 in public
[ivy:retrieve] found com.google.guava#guava;14.0.1 in public
[ivy:retrieve] found com.google.protobuf#protobuf-java;2.4.1 in public
[ivy:retrieve] found org.json#json;20090211 in public
[ivy:retrieve] found com.google.code.findbugs#jsr305;1.3.9 in public
[ivy:retrieve] :: resolution report :: resolve 572ms :: artifacts dl 19ms
[ivy:retrieve] :: evicted modules:
[ivy:retrieve] com.google.guava#guava;r07 by [com.google.guava#guava;14.0.1] in [default]
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 19 | 0 | 0 | 1 || 22 | 0 |
---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: com.logentries#le_js
[ivy:retrieve] confs: [default]
[ivy:retrieve] 0 artifacts copied, 22 already retrieved (0kB/17ms)
test:
[java] ------------------------------
[java] single arg stream construction
[java] OK passes: 1, fails: 0, errors: 0
[java] ------------------------------
[java] basic stream construction with dict
[java] OK passes: 1, fails: 0, errors: 0
[java] ------------------------------
[java] submit simple string event
[java] OK passes: 1, fails: 0, errors: 0
[java] ------------------------------
[java] submit interpolated string event
[java] OK passes: 1, fails: 0, errors: 0
[java] ------------------------------
[java] submit object event
[java] OK passes: 1, fails: 0, errors: 0
[java] ------------------------------
[java] init cannot work without token
[java] OK passes: 3, fails: 0, errors: 0
[java]
[java] ------------------------------
[java] OK 8 Passes
[java] ------------------------------
[java]
build:
[jscomp] None of the files changed. Compilation skipped.
BUILD SUCCESSFUL
Total time: 3 seconds
The JavaScript client uses dynjs for its unit tests. We happen to think that Java 7 + InvokeDynamic interpreters are the future of in-process unit/integration tests.
To speed up the feedback loop when developing, you might want to just run ant test
to skip the compilation checks.
Got a couple minutes to spare? Check out the current issues list :)