Author: bhavani
Date: Tue Dec 27 18:23:54 2011
New Revision: 1224969

URL: http://svn.apache.org/viewvc?rev=1224969&view=rev
Log:
UIMA-2053 Added notes on release compatibility 

Modified:
    uima/uimacpp/trunk/README.4sdk   (contents, props changed)
    uima/uimacpp/trunk/README.4src   (contents, props changed)
    uima/uimacpp/trunk/createRelease.txt   (contents, props changed)

Modified: uima/uimacpp/trunk/README.4sdk
URL: 
http://svn.apache.org/viewvc/uima/uimacpp/trunk/README.4sdk?rev=1224969&r1=1224968&r2=1224969&view=diff
==============================================================================
--- uima/uimacpp/trunk/README.4sdk (original)
+++ uima/uimacpp/trunk/README.4sdk Tue Dec 27 18:23:54 2011
@@ -1,61 +1,61 @@
-
-                  Apache UIMA C++ (Unstructured Information Management 
Architecture) v2.3.0
-                  
-------------------------------------------------------------------------
-
-Getting Started
-----------------
-
-Apache UIMA C++ can be used as a standalone framework, but it is primarily 
intended to be integrated with the Apache UIMA Java framework. Interoperability 
is enhanced if the uimacpp SDK package is installed directly under the top 
level directory of the Apache UIMA Java framework. 
-
-For information about the Apache UIMA C++ package go to index.html in the 
uimacpp/docs directory. For more information about Apache UIMA, go to 
http://uima.apache.org, or to the documentation in the Apache UIMA Java package.
-
-
-Supported Platforms
---------------------
-
-Apache UIMA C++ has been tested with gcc v4.0 on Linux and MacOSX, and with 
VC8 on Windows. Binary distributions are available for selected platforms.
-
-
-Environment Variables
-----------------------
-
-The following environmental variables are needed for UIMA C++ to function 
properly.
-
-    * UIMACPP_HOME should point to the uimacpp directory of your unpacked 
Apache UIMA C++
-      distribution. UIMACPP_HOME is used when compiling & linking UIMA C++ 
components.
-    * Append $UIMACPP_HOME/bin to your PATH to pick up the runAECpp test driver
-      and shared libraries (Windows)
-    * Append $UIMACPP_HOME/lib to your LD_LIBRARY_PATH (Linux) or 
DYLD_LIBRARY_PATH (MacOSX)
-      so that the necessary shared libraries can be found.
-
-Also note that UIMA C++ annotators are built as shared libraries, so they must 
be in a directory in the LD_LIBRARY_PATH, DYLD_LIBRARY_PATH or PATH (as 
appropriate to your platform) as well. An example of this is given in the next 
section.
-
-For better runtime integration between Java and C++, the Apache UIMA Java SDK 
command line utilities and Eclipse run configurations automatically add 
$UIMA_HOME/uimacpp/lib to LD_LIBRARY_PATH and DYLD_LIBRARY_PATH, and add 
$UIMA_HOME/uimacpp/bin to PATH.
-
-
-Verifying Your Installation
-----------------------------
-
-The procedure here is to first test that Apache UIMA C++ is installed and 
operating correctly. Then if desired, check if the code is interoperating 
properly with Apache UIMA Java.
-
-Set up the environment as described above. Go to $UIMACPP_HOME/examples/src to 
build the sample code and add the src directory to the appropriate path as 
follows.
-
-On Linux:
-    * make -f DaveDetector.mak
-    * LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
-
-On Windows:
-    * devenv DaveDetector.vcproj /build release
-    * PATH=%PATH%;%CD%
-
-To test the sample code in the C++ environment, change back to the 
$UIMACPP_HOME/examples directory and run:
-    * runAECpp descriptors/DaveDetector.xml data
-
-The console should show that a Dave was found in some of the files in the data 
directory.
-
-To test interoperability with Java using the JNI, first verify that Apache 
UIMA Java is working from the current shell, as described in that package, and 
then use the runAE.sh utility (use runAE on Windows) from 
$UIMACPP_HOME/examples:
-    * runAE.sh descriptors/DaveDetector.xml data
-
-For more information about the C++ sample code see 
$UIMACPP_HOME/examples/readme.html.
-
-For more information about UIMA C++ $UIMACPP_HOME/RELEASE_NOTES.html.
+
+                  Apache UIMA C++ (Unstructured Information Management 
Architecture) v2.4.0
+                  
-------------------------------------------------------------------------
+
+Getting Started
+----------------
+
+Apache UIMA C++ can be used as a standalone framework, but it is primarily 
intended to be integrated with the Apache UIMA Java framework. Interoperability 
is enhanced if the uimacpp SDK package is installed directly under the top 
level directory of the Apache UIMA Java framework. 
+
+For information about the Apache UIMA C++ package go to index.html in the 
uimacpp/docs directory. For more information about Apache UIMA, go to 
http://uima.apache.org, or to the documentation in the Apache UIMA Java package.
+
+
+Supported Platforms
+--------------------
+
+Apache UIMA C++ has been tested with gcc v4.0 on Linux and MacOSX, and with 
VC8 on Windows. Binary distributions are available for selected platforms.
+
+
+Environment Variables
+----------------------
+
+The following environmental variables are needed for UIMA C++ to function 
properly.
+
+    * UIMACPP_HOME should point to the uimacpp directory of your unpacked 
Apache UIMA C++
+      distribution. UIMACPP_HOME is used when compiling & linking UIMA C++ 
components.
+    * Append $UIMACPP_HOME/bin to your PATH to pick up the runAECpp test driver
+      and shared libraries (Windows)
+    * Append $UIMACPP_HOME/lib to your LD_LIBRARY_PATH (Linux) or 
DYLD_LIBRARY_PATH (MacOSX)
+      so that the necessary shared libraries can be found.
+
+Also note that UIMA C++ annotators are built as shared libraries, so they must 
be in a directory in the LD_LIBRARY_PATH, DYLD_LIBRARY_PATH or PATH (as 
appropriate to your platform) as well. An example of this is given in the next 
section.
+
+For better runtime integration between Java and C++, the Apache UIMA Java SDK 
command line utilities and Eclipse run configurations automatically add 
$UIMA_HOME/uimacpp/lib to LD_LIBRARY_PATH and DYLD_LIBRARY_PATH, and add 
$UIMA_HOME/uimacpp/bin to PATH.
+
+
+Verifying Your Installation
+----------------------------
+
+The procedure here is to first test that Apache UIMA C++ is installed and 
operating correctly. Then if desired, check if the code is interoperating 
properly with Apache UIMA Java.
+
+Set up the environment as described above. Go to $UIMACPP_HOME/examples/src to 
build the sample code and add the src directory to the appropriate path as 
follows.
+
+On Linux:
+    * make -f DaveDetector.mak
+    * LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
+
+On Windows:
+    * devenv DaveDetector.vcproj /build release
+    * PATH=%PATH%;%CD%
+
+To test the sample code in the C++ environment, change back to the 
$UIMACPP_HOME/examples directory and run:
+    * runAECpp descriptors/DaveDetector.xml data
+
+The console should show that a Dave was found in some of the files in the data 
directory.
+
+To test interoperability with Java using the JNI, first verify that Apache 
UIMA Java is working from the current shell, as described in that package, and 
then use the runAE.sh utility (use runAE on Windows) from 
$UIMACPP_HOME/examples:
+    * runAE.sh descriptors/DaveDetector.xml data
+
+For more information about the C++ sample code see 
$UIMACPP_HOME/examples/readme.html.
+
+For more information about UIMA C++ $UIMACPP_HOME/RELEASE_NOTES.html.

Propchange: uima/uimacpp/trunk/README.4sdk
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: uima/uimacpp/trunk/README.4src
URL: 
http://svn.apache.org/viewvc/uima/uimacpp/trunk/README.4src?rev=1224969&r1=1224968&r2=1224969&view=diff
==============================================================================
--- uima/uimacpp/trunk/README.4src (original)
+++ uima/uimacpp/trunk/README.4src Tue Dec 27 18:23:54 2011
@@ -1,158 +1,178 @@
-
-See the NOTICE file for licensing information.
-
---------------------------------
-Building the Apache UIMA C++ SDK
---------------------------------
-
-The Apache UIMA C++ SDK has been built and tested in 32-bit mode
-on Linux systems with gcc versions from 3.2.4 to 4.1.0, on Windows 
-using MSVC version 8, and on MacOSX with gcc version 4.0.1.
-
-64-bit builds have only been tested on Linux with gcc 4.1.0.
-
-
-Setting up the build environment:
----------------------------------
-UIMACPP has dependencies on APR, ICU, Xerces-C and ActiveMQ-cpp
-libraries.  
-
-On Windows dependent libraries must be specified with the
-environmental parameters APR_HOME, ICU_HOME, XERCES_HOME and
-ACTIVEMQ_HOME.  For now, the ActiveMQ dependency is optional; if not
-specified the UIMA-AS compatible service wrapper deployCppService will
-fail to build.
-
-On Linux, system install of dependencies - APR, ICU, XERCES, ACTIVEMQ 
-will be used if minimum version requirements are met.  They may also
-be specified with the environmental parameters APR_HOME, ICU_HOME, XERCES_HOME 
and
-ACTIVEMQ_HOME.  ActiveMQ is required.
-
-There is also a dependency on JNI headers from a Java JDK. The build
-looks for these headers in the directory specified by JAVA_INCLUDE.
-A typical setting for JAVA_INCLUDE on Linux or Windows would be
-$JAVA_HOME/include; on MacOSX jni.h and the other headers will be in a
-"Headers" directory.
-
-On Unix, dependent headers are expected under $dependent_HOME/include and
-dependent libraries under $dependent_HOME/lib.
-
-The build of dependent libraries on Windows is less consistent.
-APR libraries are expected in %APR_HOME%\Release. ActiveMQ libraries 
-are in %ACTIVEMQ_HOME%\vs2005-build\ReleaseDLL (or DebugDLL) and 
-ActiveMQ headers are expected in %ACTIVEMQ_HOME%\src\main.
-
-On Windows, buildsdk command tries to copy the msvc*.dll runtime libs from
-C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT
-To override the location for MSCV redistributable libraries, use MSVCRT_HOME.
-
-
-Building, testing and packaging on Linux:
------------------------------------------
-Set up your environment as described above. The following instructions
-assume you have unpacked the source into $HOME/uimacpp-2.X.Y.
-
-1 Create the GNU automake scripts:
-  Note: This step is only done when building from an SVN extract;
-        it should be skipped when building from a source tarball.
-        The prebuild step requires relatively up-to-date GNU tools
-        GNU automake v1.9.6, autoconf v2.59 and libtool v1.5.24.
-  cd root of an SVN extract
-  ./autogen.sh
-
-2 Build the UIMA shared library and test routines:
-  cd root of the SVN extract  
-  ./configure --with-jdk=$JAVA_HOME/include --with-apr=$APR_HOME 
--with-icu=$ICU_HOME --with-xerces=$XERCES_HOME --with-activemq=$ACTIVEMQ_HOME
-  make
-  DESTDIR=`pwd` make install
-
-3 Build and run the test suite:
-  From root of the SVN extract  
-  make check
-
-4 Build the SDK tree:
-  Requires environmental parameters to be set for ICU_HOME, XERCES_HOME, 
APR_HOME, and ACTIVEMQ_HOME.
-  From root of the SVN extract  
-  make sdk ARGS=target_dir
-  This will build the documentation.
-  Note: The documentation build requires Doxygen 1.3.6 or later.
-
-5 Package the SDK tarball:
-  cd target_dir/..
-  tar czf uimacpp-2.X.Y-bin.tgz uimacpp
-
-6 Build source tarball:
-  From root of the SVN extract  
-  make dist
-
-
-Building, testing and packaging on Windows:
------------------------------
-Set up your environment as described above. The following instructions
-assume you have unpacked the source into \uimacpp-2.X.Y.
-
-1 Build the UIMA C++ framework in both release and debug:
-  cd \uimacpp-2.X.Y\src
-  winmake /build release
-  winmake /build debug
-
-2 Build and run the test suite:
-  cd \uimacpp-2.X.Y\src\test
-  devenv test.sln /build release
-  fvt
-
-3 Build the documentation:
-  Note: The documentation build requires Doxygen 1.3.6 or later.
-  cd \uimacpp-2.X.Y\docs
-  builddocs
-
-4 Build the SDK tree:
-  set MSVCRT_HOME to the directory with the msvc*.dll files required.
-  cd \uimacpp-2.X.Y
-  buildsdk target_dir
-
-5 Package the SDK zipfile by creating a compressed folder of 
-  target_dir\uimacpp into uimacpp-2.X.Y-bin.zip
-
-
-Building, testing and packaging on Mac OSX:
--------------------------------------------
-Except for one problem with APR, building is the same here as on Linux.
-For the Intel-based Mac OSX machines we have tested with, the APR function
-to dynamically load shared libraries does not respect DYLD_LIBRARY_PATH.
-
-A fix is to patch dso/unix/dso.c as follows:
-
-26a27,31
->#if defined(DSO_USE_DYLD)
->#define DSO_USE_DLFCN
->#undef DSO_USE_DYLD
->#endif
->
-
-
-Building the dependencies: APR, ICU, Xersec-c and Activemq-cpp
---------------------------------------------------------------
-
-Download and build information for these libraries are at:
-  APR      - http://apr.apache.org/
-  ICU      - http://www.icu-project.org/
-  XERCES   - http://xml.apache.org/xerces-c/
-  ACTIVEMQ - http://activemq.apache.org/cms/download.html
-
-ACTIVEMQ CPP library version 3.2 or higher is required.
-ACTIVEMQ CPP has a dependency on APR at version 1.3.8 or higher.
-
-
-For UNIX users that cannot or do not want to install these at
-system root, specify DESTDIR for the install step. For example,
-after building APR, install using:
-
-  DESTDIR=`pwd` make install
-
-On Windows, the only activemq-cpp targets needed by uimacpp are ReleaseDLL and 
DebugDLL,
- e.g. devenv vs2005-build/vs2005-activemq.vcproj /build ReleaseDLL
-
-Also, the APR library can be built by launching libapr.dsp or by following the
-instructions in Makefile.win.
-
+
+See the NOTICE file for licensing information.
+
+--------------------------------
+Building the Apache UIMA C++ SDK
+--------------------------------
+
+The Apache UIMA C++ SDK has been built and tested in 32-bit mode
+on Linux systems with gcc versions from 3.2.4 to 4.1.0, on Windows 
+using MSVC version 8, and on MacOSX with gcc version 4.0.1.
+
+64-bit builds have only been tested on Linux with gcc 4.1.0.
+
+
+Setting up the build environment:
+---------------------------------
+UIMACPP has dependencies on APR, ICU, Xerces-C and ActiveMQ-cpp
+libraries.  
+
+On Windows dependent libraries must be specified with the
+environmental parameters APR_HOME, ICU_HOME, XERCES_HOME and
+ACTIVEMQ_HOME.  For now, the ActiveMQ dependency is optional; if not
+specified the UIMA-AS compatible service wrapper deployCppService will
+fail to build.
+
+On Linux, system install of dependencies - APR, ICU, XERCES, ACTIVEMQ 
+will be used if minimum version requirements are met.  They may also
+be specified with the environmental parameters APR_HOME, ICU_HOME, XERCES_HOME 
and
+ACTIVEMQ_HOME.  ActiveMQ is required.
+
+There is also a dependency on JNI headers from a Java JDK. The build
+looks for these headers in the directory specified by JAVA_INCLUDE.
+A typical setting for JAVA_INCLUDE on Linux or Windows would be
+$JAVA_HOME/include; on MacOSX jni.h and the other headers will be in a
+"Headers" directory.
+
+On Unix, dependent headers are expected under $dependent_HOME/include and
+dependent libraries under $dependent_HOME/lib.
+
+The build of dependent libraries on Windows is less consistent.
+APR libraries are expected in %APR_HOME%\Release. ActiveMQ libraries 
+are in %ACTIVEMQ_HOME%\vs2005-build\ReleaseDLL (or DebugDLL) and 
+ActiveMQ headers are expected in %ACTIVEMQ_HOME%\src\main.
+
+On Windows, buildsdk command tries to copy the msvc*.dll runtime libs from
+C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT
+To override the location for MSCV redistributable libraries, use MSVCRT_HOME.
+
+
+Building, testing and packaging on Linux:
+-----------------------------------------
+Set up your environment as described above. The following instructions
+assume you have unpacked the source into $HOME/uimacpp-2.X.Y.
+
+1 Create the GNU automake scripts:
+  Note: This step is only done when building from an SVN extract;
+        it should be skipped when building from a source tarball.
+        The prebuild step requires relatively up-to-date GNU tools
+        GNU automake v1.9.6, autoconf v2.59 and libtool v1.5.24.
+  cd root of an SVN extract
+  ./autogen.sh
+
+2 Build the UIMA shared library and test routines:
+  cd root of the SVN extract  
+  ./configure --with-jdk=$JAVA_HOME/include --with-apr=$APR_HOME 
--with-icu=$ICU_HOME --with-xerces=$XERCES_HOME --with-activemq=$ACTIVEMQ_HOME
+  make
+  DESTDIR=`pwd` make install
+
+3 Build and run the test suite:
+  From root of the SVN extract  
+  make check
+
+4 Build the SDK tree:
+  Requires environmental parameters to be set for ICU_HOME, XERCES_HOME, 
APR_HOME, and ACTIVEMQ_HOME.
+  From root of the SVN extract  
+  make sdk ARGS=target_dir
+  This will build the documentation.
+  Note: The documentation build requires Doxygen 1.3.6 or later.
+
+5 Package the SDK tarball:
+  cd target_dir/..
+  tar czf uimacpp-2.X.Y-bin.tgz uimacpp
+
+6 Build source tarball:
+  From root of the SVN extract  
+  make dist
+
+
+Building, testing and packaging on Windows:
+-----------------------------
+Set up your environment as described above. The following instructions
+assume you have unpacked the source into \uimacpp-2.X.Y.
+
+1 Build the UIMA C++ framework in both release and debug:
+  cd \uimacpp-2.X.Y\src
+  winmake /build release
+  winmake /build debug
+
+2 Build and run the test suite:
+  cd \uimacpp-2.X.Y\src\test
+  devenv test.sln /build release
+  fvt
+
+3 Build the documentation:
+  Note: The documentation build requires Doxygen 1.3.6 or later.
+  cd \uimacpp-2.X.Y\docs
+  builddocs
+
+4 Build the SDK tree:
+  set MSVCRT_HOME to the directory with the msvc*.dll files required.
+  cd \uimacpp-2.X.Y
+  buildsdk target_dir
+
+5 Package the SDK zipfile by creating a compressed folder of 
+  target_dir\uimacpp into uimacpp-2.X.Y-bin.zip
+
+
+Building, testing and packaging on Mac OSX:
+-------------------------------------------
+Except for one problem with APR, building is the same here as on Linux.
+For the Intel-based Mac OSX machines we have tested with, the APR function
+to dynamically load shared libraries does not respect DYLD_LIBRARY_PATH.
+
+A fix is to patch dso/unix/dso.c as follows:
+
+26a27,31
+>#if defined(DSO_USE_DYLD)
+>#define DSO_USE_DLFCN
+>#undef DSO_USE_DYLD
+>#endif
+>
+
+
+Building the dependencies: APR, ICU, Xersec-c and Activemq-cpp
+--------------------------------------------------------------
+
+Download and build information for these libraries are at:
+  APR      - http://apr.apache.org/
+  ICU      - http://www.icu-project.org/
+  XERCES   - http://xml.apache.org/xerces-c/
+  ACTIVEMQ - http://activemq.apache.org/cms/download.html
+
+ACTIVEMQ CPP library version 3.2 or higher is required to support the ActiveMQ 
failover protocol
+and to support multi-byte payload data.
+ACTIVEMQ CPP 3.2 and higher has a dependency on APR at version 1.3.8 or higher.
+
+For UNIX users that cannot or do not want to install these at
+system root, specify DESTDIR for the install step. For example,
+after building APR, install using:
+
+  DESTDIR=`pwd` make install
+
+On Windows, the only activemq-cpp targets needed by uimacpp are ReleaseDLL and 
DebugDLL,
+ e.g. devenv vs2008-build/vs2008-activemq.vcproj /build ReleaseDLL
+
+Also, the APR library can be built by launching libapr.dsp or by following the
+instructions in Makefile.win.
+
+
+UIMA C++ Release Compatibility
+-------------------------------
+
+There  a two distinct features of UIMA C++ to consider when dealing with 
release compatibility:
+
+- The framework dynamically loads annotators which are user code. The 
annotators make calls to UIMA C++ APIs 
+   and are built with some version of the SDK. A possible scenario is for an 
application to run annotators that 
+   were built with different  releases of UIMA C++ SDK.
+-  The SDK depends on ICU, XERCES, APR and ACTIVEMQ-CPP and a release is built 
with a particular version of these.  
+   Binary compatibility therefore depends on the compatibility of these 
underlying libraries.  In particular,  
+   ICU and XERCES encode the major and minor release numbers in the APIs which 
restricts binary compatibility across 
+   releases of these libraries.   An application running UIMA C++ is 
restricted to running one version of the ICU library 
+   in a process and all annotators and underlying libraries must use the same 
ICU version.
+   
+We do not enforce binary compatility when doing a release.
+
+Installing UIMACPP SDK as a system-wide shared library is discouraged since we 
do not
+have support for parallel versions.  The include directory does not have 
version number and
+there cannot be multiple versions of executable runAECpp and deployCppService.
\ No newline at end of file

Propchange: uima/uimacpp/trunk/README.4src
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: uima/uimacpp/trunk/createRelease.txt
URL: 
http://svn.apache.org/viewvc/uima/uimacpp/trunk/createRelease.txt?rev=1224969&r1=1224968&r2=1224969&view=diff
==============================================================================
--- uima/uimacpp/trunk/createRelease.txt (original)
+++ uima/uimacpp/trunk/createRelease.txt Tue Dec 27 18:23:54 2011
@@ -1,163 +1,160 @@
-Instructions for creating a uimacpp release or a new build
-
-
-For a new release
-
-1. create a branch for the new release, e.g.
-       svn copy https://svn.apache.org/repos/asf/uima/uimacpp/trunk 
https://svn.apache.org/repos/asf/uima/uimacpp/branches/uimacpp-2.4.0 -m"create 
branch for 2.4.0 release"
-
-2. if changes are needed, update branch
-
-3. when approved, create a tag for the branch, and merge branch into trunk
-
-
-
-For a new build on Linux
-
-1. create new directory for release candidate and cd there
-       mkdir uimacpp-2.4.0
-       cd uimacpp-2.4.0
-
-2. checkout source from current release branch
-       svn co 
https://svn.apache.org/repos/asf/uima/uimacpp/branches/uimacpp-2.4.0
-
-3. Modify configure.ac 
-   Update package version number specified in AC_INIT call.
-   Update the  library number by modifying LT_VERSION_NUMBER following the 
-      libtool version numbering convention. This is summarize on the
-      wiki page 
https://cwiki.apache.org/UIMA/proposed-changes-to-uima-c-build-and-packaging.html.
-
-4  Create configure script 
-   cd uimacpp-2.4.0
-   ./autogen.sh
-
-5. Run configure
-   define environment variable ICU_HOME, APR_HOME, XERCES_HOME, ACTIVEMQ_HOME, 
JAVA_INCLUDE
-   ./configure --with-jdk=$JAVA_HOME/include --with-apr=$APR_HOME 
--with-icu=$ICU_HOME --with-xerces=$XERCES_HOME --with-activemq=$ACTIVEMQ_HOME
-
-4. create src tarball
-       make dist
-    This create libuima-2.4.0.tar.gz
-
-5. rat scan of source
-       java -jar apache-rat-0.6.jar uimacpp-2.4.0 > 
uimacpp-src-linux-report.txt
-
-6. build, test and create sdk tree
-       cd uimacpp-2.4.0
-       [setup env for the build]
-      make
-      DESTDIR=`pwd` make install
-      make check
-      make sdk ARGS=`pwd`
-
-7. create bin tarball
-       tar -czf uimacpp-2.4.0-bin.tgz uimacpp
-
-8. rat scan of bin
-       java -jar apache-rat-0.6.jar uimacpp > uimacpp-bin-linux-report.txt
-
-9. sniff test of base sdk
-       cd uimacpp
-       export UIMACPP_HOME=`pwd`
-       PATH=$PATH:`pwd`/bin
-       export LD_LIBRARY_PATH=`pwd`/lib:`pwd`/examples/src
-       cd examples/src
-       make -f all.mak
-       cd ..
-       ./runall.sh
-
-10. sniff test of scriptators (following base sniff test)
-       cd ../scriptators/perl
-       make
-       PATH=$PATH:`pwd`
-       LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
-       runAECpp PerlSample.xml ../../examples/data/
-
-       cd ../python
-       make
-       LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`h
-       export PYTHONPATH=`pwd`
-       runAECpp PythonSample.xml ../../examples/data/
-
-       cd ../tcl
-       make
-       LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
-       runAECpp TclSample.xml ../../examples/data/
-
-11. sniff test of uimacpp service wrapper
-       in a "Uima AS window", run:
-         startBroker.sh
-       back in the UimaCpp test window:
-         cd ../../examples
-         runRemoteAsyncAE.sh tcp://localhost:61616 MeetingAnnotator \
-         -d tutorial/descriptors/Deploy_MeetingAnnotator.xml
-
-
-
-For a new build on Windows
-
-1. checkout source from current release branch
-       svn co 
https://svn.apache.org/repos/asf/uima/uimacpp/branches/uimacpp-2.4.0
-
-3. create source tree
-       ./buildSrcTree buildDir
-
-4. create src zipfile of buildDir\uimacpp-2.4.0 as
-       uimacpp-2.4.0-src.zip
-
-5. rat scan of source
-       cd buildDir
-       java -jar apache-rat-0.6.jar uimacpp-2.4.0 > 
uimacpp-src-windows-report.txt
-
-6. build, test and create sdk tree
-       cd uimacpp-2.4.0\src
-       [setup env for the build]
-       winmake /build release
-       winmake /build debug
-       cd ..\docs
-       builddocs
-       cd ..\src\test
-       devenv test.sln /build release
-       set UIMA_HOME=someGoodUimaSDK
-       fvt
-       devenv test.sln /build debug
-       fvt debug
-       cd ..\..
-       buildsdk ..
-
-7. create bin zipfile of buildDir\uimacpp as
-       uimacpp-2.4.0-bin.zip
-
-8. rat scan of bin
-       java -jar apache-rat-0.6.jar uimacpp > uimacpp-bin-windows-report.txt
-
-9. sniff test of base sdk
-       cd uimacpp
-       set UIMACPP_HOME=%cd%
-       path=%path%;%cd%\bin;%cd%\examples\src
-       cd examples\src
-       devenv uimacpp-examples.sln /build release
-       cd ..
-       runall
-
-10. sniff test of scriptators (following base sniff test)
-       cd ..\scriptators\perl
-       winmake
-       runAECpp PerlSample.xml ..\..\examples\data\
-
-       cd ..\python
-       winmake
-       runAECpp PythonSample.xml ..\..\examples\data\
-
-       cd ..\tcl
-       winmake
-       runAECpp TclSample.xml ..\..\examples\data\
-
-11. sniff test of uimacpp service wrapper
-       in a "Uima AS window", run:
-         startBroker
-       back in the UimaCpp test window:
-         cd ..\..\examples
-         runRemoteAsyncAE tcp://localhost:61616 MeetingAnnotator \
-         -d tutorial\descriptors\Deploy_MeetingAnnotator.xml
-
+Instructions for creating a uimacpp release or a new build
+
+
+For a new release
+
+1. create a tag for the new release, e.g.
+       svn copy https://svn.apache.org/repos/asf/uima/uimacpp/trunk 
https://svn.apache.org/repos/asf/uima/uimacpp/tags/uimacpp-2.4.0 1 -m"create 
tag for 2.4.0 release"
+
+2. if changes are needed, update trunk. Create a new tag when ready to release.
+
+
+For a new build on Linux
+
+1. create new directory for release candidate and cd there
+       mkdir uimacpp-2.4.0
+       cd uimacpp-2.4.0
+
+2. checkout source from current tag
+       svn co https://svn.apache.org/repos/asf/uima/uimacpp/tag/uimacpp-2.4.0
+
+3. Modify configure.ac 
+   Update package version number specified in AC_INIT call.
+   Update the  library number by modifying LT_VERSION_NUMBER following the 
+      libtool version numbering convention. This is summarized on the
+      wiki page 
https://cwiki.apache.org/UIMA/proposed-changes-to-uima-c-build-and-packaging.html.
+
+4  Create configure script 
+   cd uimacpp-2.4.0
+   ./autogen.sh
+
+5. Run configure
+   define environment variable ICU_HOME, APR_HOME, XERCES_HOME, ACTIVEMQ_HOME, 
JAVA_INCLUDE
+   ./configure --with-jdk=$JAVA_HOME/include --with-apr=$APR_HOME 
--with-icu=$ICU_HOME --with-xerces=$XERCES_HOME --with-activemq=$ACTIVEMQ_HOME
+
+4. create src tarball
+       make dist
+    This create libuima-2.4.0.tar.gz
+
+5. rat scan of source
+       java -jar apache-rat-0.6.jar uimacpp-2.4.0 > 
uimacpp-src-linux-report.txt
+
+6. build, test and create sdk tree
+       cd uimacpp-2.4.0
+       [setup env for the build]
+      make
+      DESTDIR=`pwd` make install
+      make check
+      make sdk ARGS=`pwd`
+
+7. create bin tarball
+       tar -czf uimacpp-2.4.0-bin.tgz uimacpp
+
+8. rat scan of bin
+       java -jar apache-rat-0.6.jar uimacpp > uimacpp-bin-linux-report.txt
+
+9. sniff test of base sdk
+       cd uimacpp
+       export UIMACPP_HOME=`pwd`
+       PATH=$PATH:`pwd`/bin
+       export LD_LIBRARY_PATH=`pwd`/lib:`pwd`/examples/src
+       cd examples/src
+       make -f all.mak
+       cd ..
+       ./runall.sh
+
+10. sniff test of scriptators (following base sniff test)
+       cd ../scriptators/perl
+       make
+       PATH=$PATH:`pwd`
+       LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
+       runAECpp PerlSample.xml ../../examples/data/
+
+       cd ../python
+       make
+       LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`h
+       export PYTHONPATH=`pwd`
+       runAECpp PythonSample.xml ../../examples/data/
+
+       cd ../tcl
+       make
+       LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
+       runAECpp TclSample.xml ../../examples/data/
+
+11. sniff test of uimacpp service wrapper
+       in a "Uima AS window", run:
+         startBroker.sh
+       back in the UimaCpp test window:
+         cd ../../examples
+         runRemoteAsyncAE.sh tcp://localhost:61616 MeetingAnnotator \
+         -d tutorial/descriptors/Deploy_MeetingAnnotator.xml
+
+
+
+For a new build on Windows
+
+1. checkout source from current release branch
+       svn co 
https://svn.apache.org/repos/asf/uima/uimacpp/branches/uimacpp-2.4.0
+
+3. create source tree
+       ./buildSrcTree buildDir
+
+4. create src zipfile of buildDir\uimacpp-2.4.0 as
+       uimacpp-2.4.0-src.zip
+
+5. rat scan of source
+       cd buildDir
+       java -jar apache-rat-0.6.jar uimacpp-2.4.0 > 
uimacpp-src-windows-report.txt
+
+6. build, test and create sdk tree
+       cd uimacpp-2.4.0\src
+       [setup env for the build]
+       winmake /build release
+       winmake /build debug
+       cd ..\docs
+       builddocs
+       cd ..\src\test
+       devenv test.sln /build release
+       set UIMA_HOME=someGoodUimaSDK
+       fvt
+       devenv test.sln /build debug
+       fvt debug
+       cd ..\..
+       buildsdk ..
+
+7. create bin zipfile of buildDir\uimacpp as
+       uimacpp-2.4.0-bin.zip
+
+8. rat scan of bin
+       java -jar apache-rat-0.6.jar uimacpp > uimacpp-bin-windows-report.txt
+
+9. sniff test of base sdk
+       cd uimacpp
+       set UIMACPP_HOME=%cd%
+       path=%path%;%cd%\bin;%cd%\examples\src
+       cd examples\src
+       devenv uimacpp-examples.sln /build release
+       cd ..
+       runall
+
+10. sniff test of scriptators (following base sniff test)
+       cd ..\scriptators\perl
+       winmake
+       runAECpp PerlSample.xml ..\..\examples\data\
+
+       cd ..\python
+       winmake
+       runAECpp PythonSample.xml ..\..\examples\data\
+
+       cd ..\tcl
+       winmake
+       runAECpp TclSample.xml ..\..\examples\data\
+
+11. sniff test of uimacpp service wrapper
+       in a "Uima AS window", run:
+         startBroker
+       back in the UimaCpp test window:
+         cd ..\..\examples
+         runRemoteAsyncAE tcp://localhost:61616 MeetingAnnotator \
+         -d tutorial\descriptors\Deploy_MeetingAnnotator.xml
+

Propchange: uima/uimacpp/trunk/createRelease.txt
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to