/*******************************************************************************
 * Copyright (c) 2007 BEA Systems, Inc. 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:
 * BEA Systems, Inc. - initial API and implementation
 *******************************************************************************/
package org.eclipse.jst.j2ee.internal.classpathdep;

import org.eclipse.jst.common.internal.modulecore.util.ManifestUtilities;

/**
 * Contains utility code for working manipulating the module MANIFEST.MF
 * classpath to reflect classpath component dependencies.
 * @deprecated use superclass instead
 */
public class ClasspathDependencyManifestUtil extends ManifestUtilities {

}
