Browse Source

FOP now retrieves the version information from the Manifest or from SVN information if the Manifest is not available.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@327144 13f79535-47bb-0310-9956-ffa450edef68
pull/34/head
Jeremias Maerki 18 years ago
parent
commit
09bafa2199
3 changed files with 60 additions and 5 deletions
  1. 11
    4
      build.xml
  2. 48
    0
      src/java/org/apache/fop/Version.java
  3. 1
    1
      src/java/org/apache/fop/apps/Fop.java

+ 11
- 4
build.xml View File

@@ -139,7 +139,7 @@ list of possible build targets.
<exclude name="org/apache/fop/pdf/PDFEncryptionJCE.java" unless="jce.present"/>
</patternset>

<property name="Name" value="Fop"/>
<property name="Name" value="Apache FOP"/>
<property name="name" value="fop"/>
<property name="NAME" value="FOP"/>
<property name="version" value="0.90svn"/>
@@ -437,10 +437,17 @@ list of possible build targets.
<manifest>
<attribute name="Main-Class" value="org.apache.fop.cli.Main"/>
<!--attribute name="Class-Path" value="${manifest-classpath}"/-->
<attribute name="Implementation-Title" value="${Name}"/>
<attribute name="Implementation-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
<attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
<section name="org/apache/fop/">
<attribute name="Specification-Title" value="XSL-FO - Extensible Stylesheet Language"/>
<attribute name="Specification-Version" value="1.0"/>
<attribute name="Specification-Vendor" value="World Wide Web Consortium"/>
<attribute name="Specification-URL" value="http://www.w3.org/TR/xsl"/>
<attribute name="Implementation-Title" value="${Name}"/>
<attribute name="Implementation-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/fop/)"/>
<attribute name="Implementation-URL" value="http://xmlgraphics.apache.org/fop/"/>
</section>
</manifest>
</jar>
</target>

+ 48
- 0
src/java/org/apache/fop/Version.java View File

@@ -0,0 +1,48 @@
/*
* Copyright 2005 Jeremias Maerki
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/* $Id$ */

package org.apache.fop;

/**
* This class is used to evaluate the version information contained in the Manifest of FOP's JAR.
* Note that this class can only find the version information if it's in the org.apache.fop package
* as this package equals the one specified in the manifest.
*/
public class Version {

/**
* Get the version of FOP
* @return the version string
*/
public static String getVersion() {
String version = Version.class.getPackage().getImplementationVersion();
if (version == null) {
//Fallback if FOP is used in a development environment
String revision = "$LastChangedRevision$";
if (revision.indexOf(":") >= 0) {
revision = revision.substring(1, revision.length() - 2);
revision = ", revision" + revision.substring(revision.lastIndexOf(" "));
} else {
revision = "";
}
version = "SVN Trunk" + revision;
}
return version;
}
}

+ 1
- 1
src/java/org/apache/fop/apps/Fop.java View File

@@ -156,6 +156,6 @@ public class Fop implements Constants {
* @return the version string
*/
public static String getVersion() {
return "1.0dev";
return org.apache.fop.Version.getVersion();
}
}

Loading…
Cancel
Save