| Instructions for creating a uimacpp release |
| |
| |
| For a new release |
| |
| 1. create a tag for the new release, e.g. |
| use the github webpage to create a new branch named rc/uimacpp-X.Y.Z |
| 2. follow "new build" instructions below and update branch if needed. Iterate until clean. |
| 3. create a new tag when ready to release. |
| 4. sign release artifacts |
| 5. copy signed release artifacts to staging spot |
| 6. get successful release vote |
| 7. releasing: see http://uima.apache.org/release.html |
| |
| |
| For a new build on Linux |
| |
| 0. confirm that prerequisite tools for automake and doxygen are installed. |
| |
| 1. Make sure configure.ac has the desired package version numbers in AC_INIT and library version in LT_VERSION_NUMBER. Update source control if necessary. |
| 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/confluence/pages/viewpage.action?pageId=25201320 |
| |
| 2. Update RELEASE_NOTES.html with new Jira report from Jira website: |
| on jira web page, go to UIMA releases and select new release. For example: |
| https://issues.apache.org/jira/projects/UIMA/versions/12346908 |
| hit "Release Notes", replace Jira report section with new html text from webpage. |
| |
| 3. checkout source from the tag and cd to that directory |
| git clone -b rc/uimacpp-X.Y.Z https://github.com/apache/uima-uimacpp uimacpp-X.Y.Z-rc |
| cd uimacpp-X.Y.Z-rc |
| |
| 4. build all 3rd party dependencies, build & check UIMACPP, and create SDK tree with: |
| ./uimacpp-make-sdk.sh |
| |
| 5. create bin tarball |
| cd sdk |
| tar -czf uimacpp-X.Y.Z-bin.tgz uimacpp |
| |
| 7. 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 |
| |
| 8. sniff test of scriptators (following base sniff test) |
| cd ../scriptators/tcl |
| make |
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd` |
| runAECpp TclSample.xml ../../examples/data/ |
| |
| cd ../python |
| make |
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`h |
| export PYTHONPATH=`pwd` |
| runAECpp PythonSample.xml ../../examples/data/ |
| |
| cd ../perl |
| make |
| PATH=$PATH:`pwd` |
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd` |
| runAECpp PerlSample.xml ../../examples/data/ |
| |
| 9. sniff test of uimacpp service wrapper |
| in a new window start an ActiveMQ broker: |
| set UIMA_HOME and extend PATH with $UIMA_HOME/bin |
| startBroker.sh |
| back in the UimaCpp test window: |
| cd $UIMACPP/examples/tutorial/src |
| make -f MeetingAnnotator.mak |
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd` |
| cd .. |
| set UIMA_HOME and extend PATH with $UIMA_HOME/bin |
| runRemoteAsyncAE.sh tcp://localhost:61616 MeetingAnnotator \ |
| -d 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-X.Y.Z |
| |
| 2. build, test and create sdk tree following the instructions in README.4src |
| |
| 3. create bin zipfile of buildDir\uimacpp as |
| uimacpp-X.Y.Z-bin.zip |
| |
| 4. 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 |
| |
| 5. 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\ |
| |
| 6. 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 |
| |
| |
| Create Source Tar ball |
| |
| The source tar ball is created by zipping up the files from svn extract of UIMA C++ source. |
| |
| The source tar ball contains all the files needed to build the Windows and/or |
| Linux binaries. |
| |
| 1. checkout source from current release branch |
| git clone -b rc/uimacpp-X.Y.Z https://github.com/apache/uima-uimacpp uimacpp-X.Y.Z-rc |
| |
| 2. create the tar ball |
| Remove git specific files: "rm -rf .git .gitattributes .asf.yaml" |
| Create zip file for Windows: zip -r uimacpp-X.Y.Z-src.zip uimacpp-X.Y.Z |
| Create tar file for Linux: tar -zcvf uimacpp-X.Y.Z-src.tgz uimacpp-X.Y.Z |
| |
| 3. rat scan the source directory |
| java -jar apache-rat-0.13.jar -dir uimacpp-X.Y.Z-rc -e .*vcproj .*txt .*sln .*asc README.* RELEASE.* NOTICE.* autogen.sh dot.gdbinit doxyheader.html org_apache_uima_uimacpp_UimacppEngine.h config m4 |
| |
| |