/**********************************************************************
 * Copyright (c) 2000, 2022 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors: 
 * IBM - Initial API and implementation
 **********************************************************************/
package org.eclipse.ant.internal.ui.model;

import org.eclipse.osgi.util.NLS;

public class AntModelMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.model.AntModelMessages";//$NON-NLS-1$

	public static String AntTargetNode_2;
	public static String AntImportNode_0;
	public static String AntTaskNode_0;
	public static String AntElementNode_9;

	public static String AntModel_1;
	public static String AntModel_43;
	public static String AntModel_44;
	public static String AntProjectNodeProxy_0;
	public static String AntProjectNodeProxy_1;
	public static String AntDefiningTaskNode_0;
	public static String AntDefiningTaskNode_1;
	public static String AntProjectNode_0;
	public static String AntPropertyNode_0;
	public static String AntPropertyNode_1;
	public static String AntModel_SecurityManagerError;

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