Home | History | Annotate | Download | only in rt
      1 /*******************************************************************************
      2  * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
      3  * All rights reserved. This program and the accompanying materials
      4  * are made available under the terms of the Eclipse Public License v1.0
      5  * which accompanies this distribution, and is available at
      6  * http://www.eclipse.org/legal/epl-v10.html
      7  *
      8  * Contributors:
      9  *    Marc R. Hoffmann - initial API and implementation
     10  *
     11  *******************************************************************************/
     12 package com.vladium.emma.rt;
     13 
     14 import java.io.File;
     15 import java.io.FileOutputStream;
     16 import java.io.IOException;
     17 import java.io.OutputStream;
     18 
     19 /**
     20  * Compatibility layer for the EMMA runtime which allows to trigger dumps
     21  * through EMMA APIs. Note that even this class emulates an EMMA API the files
     22  * written are in JaCoCo execution data format.
     23  *
     24  * @deprecated Use {@link org.jacoco.agent.rt.IAgent} instead.
     25  */
     26 @Deprecated
     27 public final class RT {
     28 
     29 	private RT() {
     30 	}
     31 
     32 	/**
     33 	 * Writes the current execution data to the given file in JaCoCo execution
     34 	 * data format.
     35 	 *
     36 	 * @param outFile
     37 	 *            file to write execution data to
     38 	 * @param merge
     39 	 *            if <code>true</code>, execution data is appended to an
     40 	 *            existing file
     41 	 * @param stopDataCollection
     42 	 *            ignored
     43 	 * @throws IOException
     44 	 *             in case of problems with the file output
     45 	 */
     46 	@SuppressWarnings("unused")
     47 	public static void dumpCoverageData(final File outFile,
     48 			final boolean merge, final boolean stopDataCollection)
     49 			throws IOException {
     50 		final OutputStream out = new FileOutputStream(outFile, merge);
     51 		try {
     52 			out.write(org.jacoco.agent.rt.RT.getAgent().getExecutionData(false));
     53 		} finally {
     54 			out.close();
     55 		}
     56 	}
     57 
     58 	/**
     59 	 * Writes the current execution data to the given file in JaCoCo execution
     60 	 * data format. If the file already exists new data is appended.
     61 	 *
     62 	 * @param outFile
     63 	 *            file to write execution data to
     64 	 * @param stopDataCollection
     65 	 *            ignored
     66 	 * @throws IOException
     67 	 *             in case of problems with the file output
     68 	 */
     69 	public static synchronized void dumpCoverageData(final File outFile,
     70 			final boolean stopDataCollection) throws IOException {
     71 		dumpCoverageData(outFile, true, stopDataCollection);
     72 	}
     73 
     74 }
     75