Skip to content
This repository

The codebase for the narayana project

Octocat-spinner-32 ArjunaCore JBTM-2147 Updated to document the restriction on afterCompletion bein… April 11, 2014
Octocat-spinner-32 ArjunaJTA JBTM-2147 Calls to abort from the transaction will trigger the afteeC… April 10, 2014
Octocat-spinner-32 ArjunaJTS [JBTM-1369] Performance harness April 14, 2014
Octocat-spinner-32 STM Use setupStore to get stateStore from StateManager consistently. March 04, 2014
Octocat-spinner-32 XTS JBTM-2076. Add security permission checking in ServiceRegistry class April 07, 2014
Octocat-spinner-32 antbuildsystem import from https://svn.jboss.org/repos/labs/labs/jbosstm/trunk r37839 January 05, 2012
Octocat-spinner-32 blacktie JBTM-2144 Update to remove the threads.xml and blacktie standalone co… April 11, 2014
Octocat-spinner-32 common JBTM-2081 If the user does not provide a configuration file, use the … March 04, 2014
Octocat-spinner-32 ext [JMTM-2066] use JaCoCo for -PcodeCoverage March 02, 2014
Octocat-spinner-32 narayana-full Updated to 5.0.2.Final-SNAPSHOT February 26, 2014
Octocat-spinner-32 qa [JBTM-1369] Performance harness April 14, 2014
Octocat-spinner-32 rts Updated to 5.0.2.Final-SNAPSHOT February 26, 2014
Octocat-spinner-32 scripts JBTM-2155 Update the narayana.bat to check the jboss-as admin console… April 17, 2014
Octocat-spinner-32 tools [JBTM-1369] Performance harness April 14, 2014
Octocat-spinner-32 txbridge Updated to 5.0.2.Final-SNAPSHOT February 26, 2014
Octocat-spinner-32 txframework [JMTM-2066] use JaCoCo for -PcodeCoverage March 02, 2014
Octocat-spinner-32 .gitignore ignore temporary files February 03, 2014
Octocat-spinner-32 README.md [JMTM-2066] use JaCoCo for -PcodeCoverage March 02, 2014
Octocat-spinner-32 build-release-pkgs.xml Updated to 5.0.2.Final-SNAPSHOT February 26, 2014
Octocat-spinner-32 build.bat JBTM-1944 Merge the blacktie and narayana scripts September 26, 2013
Octocat-spinner-32 build.sh [JMTM-2066] use JaCoCo for -PcodeCoverage March 02, 2014
Octocat-spinner-32 copyright.txt import from https://svn.jboss.org/repos/labs/labs/jbosstm/trunk r37839 January 05, 2012
Octocat-spinner-32 magnolia-release-documentation-page-template.xml Added BlackTie guide to release material February 17, 2014
Octocat-spinner-32 magnolia-release-download-page-template.xml Updated with the blacktie binary links October 22, 2013
Octocat-spinner-32 pom.xml Updated WildFly to 8.1.0.Final April 15, 2014
README.md

Narayana

Requirements

To build Narayana you should have installed: Java 1.7.0 or greater

When building on Mac OS make sure that JAVA_HOME is set to use JDK 1.7:

export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 

Building Naryana

To build Narayana you should call:

./build.[sh|bat] <maven_goals>

To use this wrapper to build an individual module (say arjuna) you would type:

./build.[sh|bat] clean install -pl :arjuna

If you are building the "community" profile and are using a different maven installation to the one provided in tools/maven you need to make sure you have the following options:

-Dorson.jar.location=/full/path/to/checkout/location/ext/

The distribution is then available in: ./narayana-full/target/narayana-full-5.0.0.M4-SNAPSHOT-bin.zip

Alternatively, the uber jar for JacORB is available here: ./ArjunaJTS/narayana-jts-jacorb/target/narayana-jts-jacorb-.jar

The uber jar for the JDK ORB is available here: ./ArjunaJTS/narayana-jts-idlj/target/narayana-jts-idlj-.jar

The local JTA jar is here: ./ArjunaJTA/narayana-jta/target/narayana-jta-.jar

If you just need the facilities provided by ArjunaCore: ./ArjunaCore/arjunacore/target/arjunacore-.jar

Code Coverage Testing

./build.[sh|bat] -PcodeCoverage (the output is in ${project.build.directory}/coverage.html)

Build QA

cd qa/
ant -Ddriver.url=file:///home/hudson/dbdrivers get.drivers dist
ant -f run-tests.xml ci-tests

Now The Gory Details.

Each module contains a set of maven build scripts, which chiefly just inherits and selectively overrides the parent pom.xml Understanding this approach requires some knowledge of maven's inheritance.

Top level maven builds always start from scratch. Individual module builds on the other hand are incremental, such that you may rebuild a single module by traversing into its directory and running 'mvn', but only if you have first built any pre-req modules e.g. via a parent build.

In addition to driving the build of individual modules, the build files in the bundles directories (ArjunaCore, ArjunaJTA, ArjunaJTS) contain steps to assemble the release directory structure, including docs, scripts, config files and other ancillaries. These call each other in some cases, as JTS is largely a superset of JTA and JTA in turn a superset of Core.

3rd party dependency management is done via maven. Note that versions of most 3rd party components are resolved via the JBossAS component-matrix pom.xml, even when building standalone releases. The version of JBossAS to use is determined by the top level pom.xml You may need to set up maven to use the jboss.org repositories: http://community.jboss.org/wiki/MavenGettingStarted-Users

Maven is provided in the tools/maven section, though later versions of this may work. Download locations are: http://www.oracle.com/technetwork/java/javase/downloads/index.html http://maven.apache.org/

A handful of unit tests build and run as part of the normal build. Most test coverage is in the form of integration tests which reside in the qa/ directory. These are built but not run automatically. See qa/README.txt for usage.

Building specific components

Narayana supports building specific components using Maven build options.

ArjunaCore - ./build.[sh|bat] -am -pl :arjunacore NarayanaJTA - ./build.[sh|bat] -am -pl :narayana-jta NarayanaJTS (jacorb) - ./build.[sh|bat] -am -pl :narayana-jts-jacorb NarayanaJTS (idlj) - ./build.[sh|bat] -am -pl :narayana-jts-idlj -Didlj-enabled=true XTS - ./build.[sh|bat] -am -pl :jboss-xts STM - ./build.[sh|bat] -am -pl :stm

Developing Narayana

Please see the following JIRA for details on how to configure your IDE for developing with the Narayana code styles:

https://issues.jboss.org/browse/JBTM-989
Something went wrong with that request. Please try again.