Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-1041

Detailed version info within both tarball and within jar-files, and possible version-naming of jars


    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.0
    • Fix Version/s: 5.x
    • Component/s: None
    • Labels:
    • Environment:



      I can't find a file detailing which exact version of activeMQ I've uncompressed.

      The actual 4.1 tarball currently have a filename "apache-activemq-4.1-incubator-SNAPSHOT", not including anything more specific.

      Inside the tarball there's nothing detailing what exact version we're at. The same goes for the jar-files themselves.

      NOTE: All this "as far as I can see" - I might have missed the obvious spot. If so, sorry.

      Inside the "full jar", the META-INF/MANIFEST.MF just states:

      Manifest-Version: 1.0
      Archiver-Version: Plexus Archiver
      Created-By: Apache Maven
      Built-By: chirino
      Build-Jdk: 1.5.0_06

      The information in these files are the information that will show up in the java.lang.Package object for the Classes that was loaded from the jar in question, and its methods getSpecification[Title|Vendor|Version]() and getImplementation[Title|Vendor|Version]() - which is nothing for activemq due to this info completely missing.

      In comparison, here's a bunch of better manifests:

      Log4j: "log4j-1.2.12.jar" (note the version in the jar-name too, which is perfect) (This MANIFEST file have missing date and Spec-triplet):
      Manifest-Version: 1.0

      Ant-Version: Apache Ant 1.6.4
      Created-By: 1.3.1_16-b06 (Sun Microsystems Inc.)
      Name: org/apache/log4j/
      Implementation-Title: log4j
      Implementation-Version: 1.2.12
      Implementation-Vendor: "Apache Software Foundation"

      And here's the spring jar actually included with the activemq distro (2.0), which is called "spring-2.0.jar" (has missing date, spec-triplet):
      Manifest-Version: 1.0

      Ant-Version: Apache Ant 1.6.5
      Created-By: 1.5.0_08-b03 (Sun Microsystems Inc.)
      Implementation-Title: Spring Framework
      Implementation-Version: 2.0
      Spring-Version: 2.0
      Premain-Class: org.springframework.instrument.InstrumentationSavingAgent

      Here's a version of JGoodies Looks, which has the best MANIFEST.MF file of the lot (it defines both Spec and Impl, perfect). The file's name is "looks-2.0-beta.jar". (The last piece of information that would have been nice is explicit build-date, but presumably the date mentioned in "Implementation-Version" is it (this is also definately the correct thing to do).):

      Manifest-Version: 1.0
      Ant-Version: Apache Ant 1.6.5
      Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
      Built-By: Karsten
      Specification-Title: JGoodies Looks API Specification
      Specification-Vendor: JGoodies Karsten Lentzsch
      Specification-Version: 2.0
      Implementation-Title: JGoodies Looks
      Implementation-Vendor: JGoodies Karsten Lentzsch
      Implementation-Version: 2.0-beta 2006-01-29 10:40:27

      In addition, it would be good if one of the txt-files of the root in the tarball included all this information, and more. Everything about the build and its environment is nice to have, including but not limited to all versions, checkout date, build date, full environment, user, OS, OS-version, JVM-version - the lot.




            • Assignee:
              davsclaus Claus Ibsen
              stolsvik Endre Stølsvik
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: