| /* |
| * 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 { |
| /** |
| * Tag used for text replacement of the SVN version (split up to avoid |
| * replacing it here). |
| */ |
| private static final String GWT_GITREV_TAG = "@GWT_" + "GITREV@"; |
| |
| /** |
| * 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 gwtGitRev; |
| 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.gitrev"); |
| // Check for null or sentinel value |
| if (tmp == null || tmp.equals(GWT_GITREV_TAG)) { |
| gwtGitRev = "unknown"; |
| } else { |
| gwtGitRev = 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); |
| } |
| } |
| |
| /** |
| * Returns the name of the product. |
| */ |
| public static String getGwtName() { |
| return gwtName; |
| } |
| |
| /** |
| * Deprecated as GWT is no longer hosted in Subversion, see {@link #getGwtGitRev}. |
| * |
| * @return the subversion revision or 'unknown' if the value couldn't be |
| * determined at build time. |
| * @deprecated See {@link #getGwtGitRev()}. |
| */ |
| @Deprecated |
| public static String getGwtSvnRev() { |
| return gwtGitRev; |
| } |
| |
| /** |
| * Returns the Git repository commit id. |
| * |
| * @return the Git commit id or 'unknown' if the value couldn't be |
| * determined at build time. |
| */ |
| public static String getGwtGitRev() { |
| return gwtGitRev; |
| } |
| |
| /** |
| * 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() { |
| } |
| } |