| /* |
| * Copyright 2006 Google Inc. |
| * |
| * 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. |
| */ |
| package com.google.gwt.dev; |
| |
| import java.io.IOException; |
| import java.io.InputStream; |
| import java.util.Properties; |
| |
| /** |
| * About information for GWT. |
| */ |
| public class About { |
| |
| // TODO(zundel): These public constants should be removed some day. |
| // Java inlines static final constants in compiled classes, leading to |
| // version incompatibility warnings. |
| /** |
| * @deprecated use {@link #getGwtName()} instead. |
| */ |
| @Deprecated |
| public static String GWT_NAME; |
| |
| /** |
| * @deprecated use {@link #getGwtSvnRev()} instead. |
| */ |
| @Deprecated |
| public static String GWT_SVNREV; |
| |
| /** |
| * @deprecated use {@link #getGwtVersion()} instead. |
| */ |
| @Deprecated |
| public static String GWT_VERSION; |
| |
| /** |
| * @deprecated use {@link #getGwtVersionObject()} or |
| * {@link #getGwtVersionNum()} instead. |
| */ |
| @Deprecated |
| public static String GWT_VERSION_NUM; |
| |
| /** |
| * Tag used for text replacement of the SVN version (split up to avoid |
| * replacing it here). |
| */ |
| private static final String GWT_SVNREV_TAG = "@GWT_" + "SVNREV@"; |
| |
| /** |
| * Tag used for text replacement of the GWT version (split up to avoid |
| * replacing it here). |
| */ |
| private static final String GWT_VERSION_TAG = "@GWT_" + "VERSION@"; |
| |
| private static final String gwtName = "Google Web Toolkit"; |
| private static final String gwtSvnRev; |
| private static final GwtVersion gwtVersion; |
| |
| static { |
| Properties props = new Properties(); |
| try { |
| InputStream instream = About.class.getResourceAsStream("About.properties"); |
| props.load(instream); |
| } catch (IOException iox) { |
| // okay... we use default values, then. |
| } |
| |
| String tmp; |
| tmp = props.getProperty("gwt.svnrev"); |
| // Check for null or sentinel value |
| if (tmp == null || tmp.equals(GWT_SVNREV_TAG)) { |
| gwtSvnRev = "unknown"; |
| } else { |
| gwtSvnRev = tmp; |
| } |
| |
| tmp = props.getProperty("gwt.version"); |
| // Check for null or sentinel value |
| if (tmp == null || tmp.equals(GWT_VERSION_TAG)) { |
| gwtVersion = new GwtVersion(); |
| } else { |
| gwtVersion = new GwtVersion(tmp); |
| } |
| |
| // Initialize deprecated constants |
| GWT_NAME = getGwtName(); |
| GWT_VERSION = getGwtVersion(); |
| GWT_VERSION_NUM = getGwtVersionNum(); |
| GWT_SVNREV = getGwtSvnRev(); |
| } |
| |
| /** |
| * Returns the name of the product. |
| */ |
| public static String getGwtName() { |
| return gwtName; |
| } |
| |
| /** |
| * Returns the Subversion repository revision number. |
| * |
| * @return the subversion revision or 'unknown' if the value couldn't be |
| * determined at build time. |
| */ |
| public static String getGwtSvnRev() { |
| return gwtSvnRev; |
| } |
| |
| /** |
| * Returns the product name and release number concatenated with a space. |
| */ |
| public static String getGwtVersion() { |
| return getGwtName() + " " + getGwtVersionNum(); |
| } |
| |
| /** |
| * The Google Web Toolkit release number. |
| * |
| * @return the release number or the array {0, 0, 0} if the value couldn't be |
| * determined at build time. |
| */ |
| public static int[] getGwtVersionArray() { |
| return gwtVersion.getComponents(); |
| } |
| |
| /** |
| * The Google Web Toolkit release number. |
| * |
| * @return the release number or the string '0.0.0' if the value couldn't be |
| * determined at build time. |
| */ |
| public static String getGwtVersionNum() { |
| return gwtVersion.toString(); |
| } |
| |
| /** |
| * The Google Web Toolkit release number. |
| * |
| * @return the release number or a version equivalent to "0.0.0" if the value |
| * couldn't be determined at build time. |
| */ |
| public static GwtVersion getGwtVersionObject() { |
| // This is public because CheckForUpdates and WebAppCreator need access. |
| return gwtVersion; |
| } |
| |
| private About() { |
| } |
| } |