Skip to content

mwinkle/cascading.compatibility

 
 

Repository files navigation

Cascading Compatibility Test Suite

This project will test the binary compatibility of Cascading with differing releases of an underlying platform.

Cascading 2.1 is currently built and published against Apache Hadoop 1.0.x. So is fully tested with that Apache release.

This suite allows other distributions to be verified as being compatible with the current Cascading release as available through Maven and through other tools apart of the Cascading ecosystem.

To see the current results, visit the Cascading Compatibility page.

See the FAQ, included in this project, for more information.

Detail

Cascading is built against a target set of dependencies and made available through the Conjars.org Maven repository.

In the case of Apache Hadoop, and likely any future platforms, there are multiple stable releases, many of which are API backwards compatible, but not necessary binary backwards compatible.

A recompile of Cascading across each release should not be necessary. This test suite is intended to help identify which platform release is not compatible with a current Cascading stable release.

Running Compatibility Tests

To execute all tests across all platforms, install Gradle 1.0 and execute:

  > gradle test

Testing a different distribution

Any non-Apache Haddoop distribution may fork this project and add a sub-project specific to the vendor distribution.

To add a sub-project, copy one of the current Apache sub-projects to a new directory named after the new distribution. For example,

  > cp -R apache-0.20.2 vendor-1.0

Update the setting.gradle to include the new directory.

  > echo "include 'vendor-1.0'" >> settings.gradle

Then make the necessary changes in the vendor-1.0/build.gradle file. For example, pointing to a different Maven repository, and updating the Gradle Maven dependencies.

The line loading the hadoop-settings.gradle settings should not be changed.

When updated, to run the tests, call:

  > gradle :vendor-1.0:test -i

Running a single test

  > gradle -Dtest.single=CoGroupFieldedPipesPlatformTest :apache-0.20.2:test -i

Note that -i allows you to see the tests running and is quite useful when calling just the test target.

Creating an IntelliJ module file

This will create an .iml file for each sub-project:

  > gradle ideaModule

About

A test harness for testing binary compatibility

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published