Uploaded image for project: 'Spatial Information Systems'
  1. Spatial Information Systems
  2. SIS-545

Automatic download of optional dependencies

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.2
    • 1.5
    • Command line, GUI
    • None

    Description

      Some examples documented in the web site do not work unless optional dependencies are manually installed. For example with the metadata example given in the command-line page, adding the --format xml option causes the following error:

      Implementation of JAXB-API has not been found on module path or classpath.
      Causée par ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
      

      The error can be fixed by running the following commands:

      cd lib/
      wget https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.6/jaxb-runtime-2.3.6.jar
      wget https://repo1.maven.org/maven2/com/sun/istack/istack-commons-runtime/3.0.12/istack-commons-runtime-3.0.12.jar
      

      Likewise, UCAR dependencies can be downloaded as below:

      cd lib/
      wget https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/cdm-core/5.5.3/cdm-core-5.5.3.jar
      wget https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/udunits/5.5.3/udunits-5.5.3.jar
      wget https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/httpservices/5.5.3/httpservices-5.5.3.jar
      wget https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
      wget https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
      wget https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
      wget https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar
      wget https://repo1.maven.org/maven2/org/apache/httpcomponents/httpmime/4.5.13/httpmime-4.5.13.jar
      wget https://repo1.maven.org/maven2/com/beust/jcommander/1.78/jcommander-1.78.jar
      wget https://repo1.maven.org/maven2/com/google/guava/guava/30.1-jre/guava-30.1-jre.jar
      wget https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
      wget https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
      wget https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.jar
      wget https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar
      wget https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
      wget https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.19.3/protobuf-java-3.19.3.jar
      wget https://repo1.maven.org/maven2/com/google/re2j/re2j/1.3/re2j-1.3.jar
      wget https://repo1.maven.org/maven2/joda-time/joda-time/2.10.3/joda-time-2.10.3.jar
      wget https://repo1.maven.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar
      wget https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.28/slf4j-api-1.7.28.jar
      wget https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
      

      We should add a mechanism in Apabe SIS command-line and JavaFX applications for offering to download those dependencies automatically when first required.

      The combined size of above dependencies is about 1 Mb. It is not very big, so we could have included those dependencies in SIS binary distribution. But the same mechanism could be applied to UCAR netCDF and to Amazon SDK dependencies too, which are much bigger.

      Attachments

        Activity

          People

            Unassigned Unassigned
            desruisseaux Martin Desruisseaux
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: