blob: 192afe328e6265f3f740908d6b9ed05ba4044375 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2007 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 Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.common.utils;
import java.io.File;
import java.io.IOException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.War;
import org.apache.tools.ant.types.FileSet;
public class WarUtil {
/**
* Creates a war file.
*
* @param outputWarFile
* an absolute path to the target war file
* @param webAppDirectory
* an absolute path to a directory containing the files and sub
* directories to be wared
* @param monitor
* a progress monitor
* @throws IOException
* if an error occurs while creating the zip file
*/
public static void buildWarFile(String outputWarFile, String webAppDirectory,
IProgressMonitor monitor) throws IOException {
try {
Project antProject = new Project();
antProject.init();
War warTask = new War();
warTask.setProject(antProject);
warTask.setDestFile(new File(outputWarFile));
warTask.setWebxml(new File(webAppDirectory + File.separator + "WEB-INF"
+ File.separator + "web.xml"));
FileSet webFiles = new FileSet();
webFiles.setDir(new File(webAppDirectory));
warTask.addFileset(webFiles);
warTask.execute();
} catch (Exception e) {
throw new IOException(e.getMessage());
}
}
}