/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.squalix.tools.scm.task; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import org.squale.squalix.core.AbstractSourceTerminationTask; import org.squale.squalix.core.TaskException; import org.squale.squalix.core.exception.ConfigurationException; import org.squale.squalix.util.file.FileUtility; /** * Suppress the directory create by the source code recovering task */ public class ScmCleanerTask extends AbstractSourceTerminationTask { /** * Default constructor */ public ScmCleanerTask() { mName = "ScmCleanerTask"; } /** * {@inheritDoc} * * @see org.squale.squalix.core.AbstractTask#execute() */ public void execute() throws TaskException { try { // Recovering of the task configuration ScmConfig conf = new ScmConfig(); conf.parse( new FileInputStream( "config/scm-config.xml" ) ); // Removal of the directory File dir = new File( conf.getRootDirectory() ); FileUtility.deleteRecursively( dir ); } catch ( FileNotFoundException e ) { throw new TaskException (e); } catch ( ConfigurationException e ) { throw new TaskException (e); } } /** * {@inheritDoc} */ @Override public boolean doOptimization() { boolean doOptimisation = false; if ( ScmMessages.getString( "properties.task.optimization" ).equals("true") ) { doOptimisation = true; } return doOptimisation; } }