Coverage Report - net.sourceforge.cobertura.ant.MergeTask
 
Classes in this File Line Coverage Branch Coverage Complexity
MergeTask
0%
0/22
0%
0/4
2.667
 
 1  
 /*
 2  
  * The Apache Software License, Version 1.1
 3  
  *
 4  
  * Copyright (C) 2000-2002 The Apache Software Foundation.  All rights
 5  
  * reserved.
 6  
  * Copyright (C) 2003 jcoverage ltd.
 7  
  * Copyright (C) 2005 Mark Doliner
 8  
  * Copyright (C) 2005 Joakim Erdfelt
 9  
  * Copyright (C) 2005 Grzegorz Lukasik
 10  
  *
 11  
  * Redistribution and use in source and binary forms, with or without
 12  
  * modification, are permitted provided that the following conditions
 13  
  * are met:
 14  
  *
 15  
  * 1. Redistributions of source code must retain the above copyright
 16  
  *    notice, this list of conditions and the following disclaimer.
 17  
  *
 18  
  * 2. Redistributions in binary form must reproduce the above copyright
 19  
  *    notice, this list of conditions and the following disclaimer in
 20  
  *    the documentation and/or other materials provided with the
 21  
  *    distribution.
 22  
  *
 23  
  * 3. The end-user documentation included with the redistribution, if
 24  
  *    any, must include the following acknowlegement:
 25  
  *       "This product includes software developed by the
 26  
  *        Apache Software Foundation (http://www.apache.org/)."
 27  
  *    Alternately, this acknowlegement may appear in the software itself,
 28  
  *    if and wherever such third-party acknowlegements normally appear.
 29  
  *
 30  
  * 4. The names "Ant" and "Apache Software
 31  
  *    Foundation" must not be used to endorse or promote products derived
 32  
  *    from this software without prior written permission. For written
 33  
  *    permission, please contact apache@apache.org.
 34  
  *
 35  
  * 5. Products derived from this software may not be called "Apache"
 36  
  *    nor may "Apache" appear in their names without prior written
 37  
  *    permission of the Apache Group.
 38  
  *
 39  
  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 40  
  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 41  
  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 42  
  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 43  
  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 44  
  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 45  
  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 46  
  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 47  
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 48  
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 49  
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 50  
  * SUCH DAMAGE.
 51  
  * ====================================================================
 52  
  *
 53  
  * This software consists of voluntary contributions made by many
 54  
  * individuals on behalf of the Apache Software Foundation.  For more
 55  
  * information on the Apache Software Foundation, please see
 56  
  * <http://www.apache.org/>.
 57  
  */
 58  
 
 59  
 package net.sourceforge.cobertura.ant;
 60  
 
 61  
 import java.io.IOException;
 62  
 
 63  
 import net.sourceforge.cobertura.util.CommandLineBuilder;
 64  
 
 65  
 import org.apache.tools.ant.BuildException;
 66  
 import org.apache.tools.ant.Project;
 67  
 
 68  
 public class MergeTask extends CommonMatchingTask
 69  
 {
 70  
 
 71  0
         private String dataFile = null;
 72  
 
 73  
         public MergeTask()
 74  
         {
 75  0
                 super("net.sourceforge.cobertura.merge.Main");
 76  0
         }
 77  
 
 78  
         public void execute() throws BuildException {
 79  0
                 CommandLineBuilder builder = null;
 80  
                 try {
 81  0
                         builder = new CommandLineBuilder();
 82  0
                         if (dataFile != null)
 83  0
                                 builder.addArg("--datafile", dataFile);
 84  
 
 85  0
                         createArgumentsForFilesets(builder);
 86  
 
 87  0
                         builder.saveArgs();
 88  0
                 } catch (IOException ioe) {
 89  0
                         getProject().log("Error creating commands file.", Project.MSG_ERR);
 90  0
                         throw new BuildException("Unable to create the commands file.", ioe);
 91  0
                 }
 92  
 
 93  
                 // Execute GPL licensed code in separate virtual machine
 94  0
                 getJava().createArg().setValue("--commandsfile");
 95  0
                 getJava().createArg().setValue(builder.getCommandLineFile());
 96  0
                 AntUtil.transferCoberturaDataFileProperty(getJava());
 97  0
                 if (getJava().executeJava() != 0) {
 98  0
                         throw new BuildException(
 99  
                                         "Error running reports. See messages above.");
 100  
                 }
 101  
 
 102  0
                 builder.dispose();
 103  0
         }
 104  
 
 105  
         public void setDataFile(String dataFile)
 106  
         {
 107  0
                 this.dataFile = dataFile;
 108  0
         }
 109  
 
 110  
 }