blob: 0ad8eb84092f436a96e7b52159876a22e25405ea [file] [log] [blame]
/*
* 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.
*/
/*
* 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.ode.utils;
import org.apache.ode.utils.msg.MessageBundle;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* Class for displaying the version of the build
*/
public class Version {
private static String MINOR_VERSION = "";
private static String MAJOR_VERSION = "";
private static String VERSION_NAME = "UNRELEASED";
private static String BUILD_NUMBER = "";
private static String BUILD_DATE = "UNKNOWN";
static {
Properties props = new Properties();
InputStream is = Version.class.getResourceAsStream("/ODE.version");
if (is != null) {
try {
props.load(is);
BUILD_NUMBER = props.getProperty("build.number", "");
MAJOR_VERSION = props.getProperty("version.major", "");
MINOR_VERSION = props.getProperty("version.minor", "");
VERSION_NAME = props.getProperty("version.name", "UNRELEASED");
BUILD_DATE = props.getProperty("build.date", "UNKNOWN");
}
catch (IOException ioe) {
// TODO BAD -- we should do something more meaningful
ioe.printStackTrace();
}
}
}
/**
* Get the full name of the version, e.g., "1.0B15".
*
* @return the full version name or an empty String if not available.
*/
public static String getVersionName() {
return VERSION_NAME;
}
/**
* Get the full name of the version, e.g., "1.0B15".
*
* @return the build number.
*/
public static String getBuildNumber() {
return BUILD_NUMBER;
}
/**
* Get the build date.
*
* @return the build date as a string of the form yyyyMMdd
*/
public static String getBuildDate() {
return BUILD_DATE;
}
/**
* Get the major version number, i.e., the <code>x</code> in version
* <code>x.y</code>.
*
* @return the minor version number or <code>-1</code> for a development
* build
*/
public static int getMajorVersion() {
if (MAJOR_VERSION.length() == 0) return -1;
return Integer.parseInt(MAJOR_VERSION);
}
/**
* Get the minor version number, i.e., the <code>y</code> in version
* <code>x.y</code>.
*
* @return the minor version number or <code>-1</code> for a development
* build
*/
public static int getMinorVersion() {
if (MINOR_VERSION.length() == 0) return -1;
return Integer.parseInt(MINOR_VERSION);
}
/**
* Print the full version number and licensing information to the console.
*
* @param argv
* command-line arguments (ignored)
*/
public static void main(String[] argv) {
VersionMessages msgs = MessageBundle.getMessages(VersionMessages.class);
System.out.println(msgs.msgVersionInfo(getVersionName(), getBuildDate()));
System.out.println(msgs.msgGetCopyright());
}
}