Skip to content

Latest commit

 

History

History
 
 

lib

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

This is the JMRI distributed "lib" directory, available as the "lib" directory in JMRI/JMRI Git. These are the library files, .jars and others, needed at build and run time.

Contents:

Generally, we use subdirectories to hold the Git-resident versions of OS-specific code for Windows (.dll files) and Linux (.so files) so that we can separate various builds.

For example, the RXTX rxtxSerial.dll comes in separate versions for 32-bit and 64-bit Windows, but the files have the same name. We store them in separate subdirectories under windows/, and let the installer sort them out.

A similar mechanism is used for Linux under the linux/ directory.

macOS binaries are treated slightly differently, see the README file there.

Updates

If you make a change in this directory (add/change/remove a file), please make corresponding changes in the control files that are used for various JMRI development and release operations:

  • build.xml - used by Ant, and in turn by various IDEs
  • .classpath - used by Eclipse
  • pom.xml - used by Maven (see notes below)
  • nbproject/ide-file-targets.xml, nbproject/project.xml - used by NetBeans

Note that Windows installers don't necessarily remove existing library versions. (See JMRI Issue #359 for discussion on this) Until that's changed, if you remove a library from here that really needs to not be in user installs, you need to add an explicit delete to the scripts/WinInstallFiles/InstallJMRI.nsi file, in addition to modifying those above.

If the specific library being added or updated is not published to Maven Central by the upstream provider, run the following command after updating the pom.xml file, replacing the tokens in ALL CAPS with the correct values for that library:

mvn deploy:deploy-file -DgroupId=GROUP -DartifactId=ARTIFACT -Dversion=VERSION -Durl=file:./lib -DrepositoryId=lib -DupdateReleaseInfo=true -Dfile=./lib/FILE.jar

for example:

mvn deploy:deploy-file -DgroupId=net.bobis.jinput.hidraw -DartifactId=jhidrawplugin -Dversion=0.0 -Durl=file:./lib -DrepositoryId=lib -DupdateReleaseInfo=true -Dfile=./lib/jhidrawplugin.jar

Specific components:

vecmath-1.5.2.jar
Serialio.jar
commons-lang3-3.2.1.jar
javacsv.jar
jhall.jar
log4j.jar
  • version 1.2.15
slf4j-api-1.7.13.jar, slf4j-log4j12-1.7.13.jar, jul-to-slf4j-1.7.13.jar
  • slf4j logging interface to log4j
  • from http://www.slf4j.org
  • updated JMRI 4.1.4 from version 1.7.6, added jul-to-slf4j
openlcb.jar
jlfgr-1_0.jar
javax.comm.properties
  • left over from javax.comm version 2.0 (minor version unknown) from Sun
RXTXcomm.jar, librxtxSerial.jnilib
  • From Rxtx-2.2pre2 http://rxtx.qbang.org (http://rxtx.qbang.org/pub/rxtx/rxtx-2.2pre2-bins.zip)
  • The win32 and win64 directories contain the necessary rxtxSerial.dll for the two windows varients
  • The i686-pc-linux-gnu directory contains two .so libraries for 32-bit Linux
  • For MacOS X: macosx/librxtxSerial.jnilib 169488 from rxtx-2.2pre2-bins distribution macosx/ppc/librxtxSerial.jnilib 301908 built for MacOS X 10.4 by John Plocher 2010-02-04
security.policy
  • (JMRI file)
xercesImpl.jar
jdom.jar
  • (deprecated, we've moved to JDOM2; will be removed from here and control files post JMRI 3.12, but remains for e.g. CATS now)
  • version 1.1
  • from <jdom.org>
jdom-2.0.5.jar
  • version 2.0.5
  • from <jdom.org>
jackson-annotations-2.8.5.jar, jackson-core-2.8.5.jar, jackson-databind-2.8.5.jar

bluecove-2.1.1-SNAPSHOT.jar lib/bluecove-bluez-2.1.1-SNAPSHOT.jar bluecove-gpl-2.1.1-SNAPSHOT.jar Installed from JMRI patch 1037 BlueCove (http://bluecove.org/). The file bluecove-2.1.1-SNAPSHOT.jar is licensed under Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) while the file bluecove-gpl-2.1.1-SNAPSHOT.jar, needed for use on linux, i is licensed under GNU General Public License (http://www.gnu.org/licenses/gpl.html). Questions to [email protected] The particular files are actually lib/github-machaval/bluecove-2.1.1-SNAPSHOT.jar lib/github-machaval/bluecove-bluez-2.1.1-SNAPSHOT.jar lib/github-machaval/bluecove-gpl-2.1.1-SNAPSHOT.jar from https://github.com/ieee8023/blucat/find/master The source for these is also available there. The related project seems to be https://github.com/machaval/bluecove The native libraries were installed on a best guess effort; exact locations might not be right. lib/windows/bluecove.dll lib/windows/bluecove_ce.dll lib/windows/intelbth_ce.dll lib/windows/x64/intelbth_x64.dll lib/windows/x86/intelbth.dll

jython-standalone-2.7.0.jar
jakarta-regexp-1.5.jar
  • (needed for jfcunit)
  • Used for testing only, not at runtime
jinput (including jinput.jar, three jinput DLLs, and two libjinputs)
libusb-jar (ch.ntb.usb.jar)
    http://inf.ntb.ch/infoportal/help/index.jsp?topic=/ch.ntb.infoportal/tools.html
    http://libusb.wiki.sourceforge.net/
    libusb installers from "TWAIN SANE" http://www.ellert.se/twain-sane/

version 0.5.7 libusbJava.jnilib for MacOS X to get 64-bit, from http://wiki.ztex.de/doku.php?id=en:software:porting#macos_port requires /usr/local/lib/libusb-0.1.4.dylib via MacPorts or Homebrew or an installer from http://www.ellert.se/twain-sane/ LibusbJava.dll for Windows is 0.2.3.0 (Feb 18, 2008) libusbJava.so for Linux was built on Ubuntu 7.10 w libusb 2:0.1.12-7

JavaMail 1.4.1
  • mailapi.jar
  • smtp.jar
Joal 2.3.1

from http://jogamp.org/deployment/archive/rc/v2.3.1/jar/ cross-platform .jar files joal.jar gluegen-rt.jar

plus helper native libraries: for MacOS X 10.4+ extracted from joal-natives-macosx-universal.jar libjoal.jnilib extracted from gluegen-rt-natives-macosx-universal.jar libgluegen-rt.jnilib

for Windows x86 extracted from joal-natives-windows-i586.jar joal.dll extracted from glugen-rt-natives-windows-i586.jar gluegen-rt.dll

for Windows x64 extracted from joal-natives-windows-amd64.jar joal.dll extracted from glugen-rt-natives-windows-amd64.jar gluegen-rt.dll

for Linux i386 extracted from joal-natives-linux-i586.jar libjoal.so extracted from glugen-rt-natives-linux-i586.jar libgluegen-rt.so

for Linux x86_64 extracted from joal-natives-linux-amd64.jar libjoal.so extracted from glugen-rt-natives-linux-amd64.jar libgluegen-rt.so

for Linux armv6l extracted from joal-natives-linux-armv6.jar libjoal.so extracted from glugen-rt-natives-linux-armv6.jar libgluegen-rt.so

for Linux armv7l extracted from joal-natives-linux-armv6hf.jar libjoal.so extracted from glugen-rt-natives-linux-armv6hf.jar libgluegen-rt.so

NOTE: joal.jar is currently replaced by an own-built version with modifications to correct the load of WAV files with appended metadata - see GitHub PR for details of modifications.

jmdns.jar
jakarta-regexp-1.5.jar
checker-framework directory and contents
ecj.jar
jna-4.4.0.jar
jna-platform-4.4.0.jar
xAPlib.jar
xbee-api-0.9.jar
  • PBender 03-Mar-2014 This version comes from the XBee library source repository
  • (we needed some of the functionality, but the pre-compiled library has not been updated).

For unit tests & development work only:

UmlGraph-5.7
junit-4.12.jar
hamcrest-core-1.3.jar
jfcunit.jar
i18nchecker.jar
Internationalization checker: used in source code development, for checking
proper implementation of text internationalization.  This archive need not
be included in JMRI releases.
From https://github.com/phamernik/i18nchecker .
See license https://github.com/phamernik/i18nchecker/blob/master/i18nchecker/LICENSE-2.0.txt
Usage info at https://github.com/phamernik/i18nchecker/blob/master/README.md
Additional useful information at https://blogs.oracle.com/geertjan/entry/i18nchecker
    and https://blogs.oracle.com/geertjan/entry/i18nchecker_part_2
rscbundlecheck.jar
  • check for duplicated properties
system-rules-1.16.0.jar
  • Handle rules for testing calls to java.System methods
AppleJavaExtensions.jar
annotations.jar, jsr305.jar

Older, no longer present:

crimson.jar
MRJAdaper.jar
  • version, source unknown
  • No longer used as of JMRI 2.13.4
ExternalLinkContentViewerUI.jar
  • made with Java 1.6 by JMRI to handle the single jmri.util.ExternalLinkContentViewerUI class, now being carried in this jar file instead of source until we migrate to Java 1.6
  • No longer used as of JMRI 2.99.1
servlet.jar:
  • jakarta-servletapi-3.2.3-src/lib/servlet.jar but no longer included