Implement idea from bug #35583 - Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@676221 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
511f83925b
commit
bae464ec10
25
build.xml
25
build.xml
@ -369,6 +369,29 @@ under the License.
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="compile-version" depends="init"
|
||||
description="Compiles the version class">
|
||||
<!-- Generate the .java file -->
|
||||
<property name="version.java" value="${main.output.dir}/org/apache/poi/Version.java" />
|
||||
<delete file="${version.java}" />
|
||||
<copy
|
||||
file="src/resources/version/Version.java.template"
|
||||
tofile="${version.java}">
|
||||
<filterset>
|
||||
<filter token="VERSION" value="${version.id}" />
|
||||
<filter token="DSTAMP" value="${DSTAMP}" />
|
||||
</filterset>
|
||||
</copy>
|
||||
|
||||
<!-- Compile -->
|
||||
<javac target="${jdk.version.class}" source="${jdk.version.source}"
|
||||
failonerror="true" destdir="${main.output.dir}" debug="on" fork="yes"
|
||||
srcdir="${main.output.dir}" />
|
||||
|
||||
<!-- Tidy up -->
|
||||
<delete file="${version.java}" />
|
||||
</target>
|
||||
|
||||
<target name="test" depends="test-main,test-scratchpad,test-contrib"
|
||||
description="Tests main, contrib and scratchpad"/>
|
||||
|
||||
@ -950,7 +973,7 @@ FORREST_HOME environment variable!</echo>
|
||||
<!-- And that's it for maven -->
|
||||
</target>
|
||||
|
||||
<target name="jar" depends="compile" description="Creates jar files for distribution">
|
||||
<target name="jar" depends="compile,compile-version" description="Creates jar files for distribution">
|
||||
<jar destfile="${dist.dir}/${jar.name}-${version.id}-${DSTAMP}.jar">
|
||||
<fileset dir="${main.output.dir}" />
|
||||
<fileset dir="legal/" />
|
||||
|
@ -37,6 +37,7 @@
|
||||
|
||||
<!-- Don't forget to update status.xml too! -->
|
||||
<release version="3.1.1-alpha1" date="2008-??-??">
|
||||
<action dev="POI-DEVELOPERS" type="add">35583 - Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">Allow the cloning of one HSSFCellStyle onto another, including cloning styles from one HSSFWorkbook onto another</action>
|
||||
<action dev="POI-DEVELOPERS" type="fix">45289 - finished support for special comparison operators in COUNTIF</action>
|
||||
<action dev="POI-DEVELOPERS" type="fix">45126 - Avoid generating multiple NamedRanges with the same name, which Excel dislikes</action>
|
||||
|
@ -34,6 +34,7 @@
|
||||
<!-- Don't forget to update changes.xml too! -->
|
||||
<changes>
|
||||
<release version="3.1.1-alpha1" date="2008-??-??">
|
||||
<action dev="POI-DEVELOPERS" type="add">35583 - Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version</action>
|
||||
<action dev="POI-DEVELOPERS" type="add">Allow the cloning of one HSSFCellStyle onto another, including cloning styles from one HSSFWorkbook onto another</action>
|
||||
<action dev="POI-DEVELOPERS" type="fix">45289 - finished support for special comparison operators in COUNTIF</action>
|
||||
<action dev="POI-DEVELOPERS" type="fix">45126 - Avoid generating multiple NamedRanges with the same name, which Excel dislikes</action>
|
||||
|
69
src/resources/version/Version.java.template
Normal file
69
src/resources/version/Version.java.template
Normal file
@ -0,0 +1,69 @@
|
||||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi;
|
||||
|
||||
/**
|
||||
* Administrative class to keep track of the version number of the
|
||||
* POI release.
|
||||
*
|
||||
* This class implements the upcoming standard of having
|
||||
* org.apache.project-name.Version.getVersion() be a standard
|
||||
* way to get version information.
|
||||
*/
|
||||
public class Version {
|
||||
private static final String VERSION_STRING = "@VERSION@";
|
||||
private static final String RELEASE_DATE = "@DSTAMP@";
|
||||
|
||||
/**
|
||||
* Return the basic version string, of the form
|
||||
* nn.nn(.nn)
|
||||
*/
|
||||
public static String getVersion() {
|
||||
return VERSION_STRING;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the date of the release / build
|
||||
*/
|
||||
public static String getReleaseDate() {
|
||||
return RELEASE_DATE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Name of product: POI
|
||||
*/
|
||||
public static String getProduct() {
|
||||
return "POI";
|
||||
}
|
||||
/**
|
||||
* Implementation Language: Java
|
||||
*/
|
||||
public static String getImplementationLanguage() {
|
||||
return "Java";
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the version to the command line
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
System.out.println(
|
||||
"Apache " + getProduct() + " " +
|
||||
getVersion() + " (" + getReleaseDate() + ")"
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user