/*******************************************************************************
 * Copyright (c) 2000, 2009 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * IBM - Initial API and implementation
 *******************************************************************************/
package org.eclipse.ant.internal.launching.runtime.logger;

import org.eclipse.osgi.util.NLS;

public class RuntimeMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.launching.runtime.logger.RuntimeMessages";//$NON-NLS-1$

	public static String NullBuildLogger_1;
	public static String AntProcessBuildLogger_Total_time;
	public static String AntProcessBuildLogger__minutes_2;
	public static String AntProcessBuildLogger__minute_3;
	public static String AntProcessBuildLogger__seconds_4;
	public static String AntProcessBuildLogger__second_5;
	public static String AntProcessBuildLogger__milliseconds_6;
	
	public static String AntProcessDebugBuildLogger_1;

	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, RuntimeMessages.class);
	}
}