1*7e63c127SSorin Basca/******************************************************************************* 2*7e63c127SSorin Basca * Copyright (c) 2009, 2021 Mountainminds GmbH & Co. KG and Contributors 3*7e63c127SSorin Basca * This program and the accompanying materials are made available under 4*7e63c127SSorin Basca * the terms of the Eclipse Public License 2.0 which is available at 5*7e63c127SSorin Basca * http://www.eclipse.org/legal/epl-2.0 6*7e63c127SSorin Basca * 7*7e63c127SSorin Basca * SPDX-License-Identifier: EPL-2.0 8*7e63c127SSorin Basca * 9*7e63c127SSorin Basca * Contributors: 10*7e63c127SSorin Basca * Evgeny Mandrikov - initial API and implementation 11*7e63c127SSorin Basca * 12*7e63c127SSorin Basca *******************************************************************************/ 13*7e63c127SSorin Bascaimport java.io.*; 14*7e63c127SSorin Bascaimport org.codehaus.plexus.util.*; 15*7e63c127SSorin Basca 16*7e63c127SSorin BascaString agentOptions = "destfile=" + basedir + File.separator + "target" + File.separator + "coverage.exec" 17*7e63c127SSorin Basca + ",append=false" 18*7e63c127SSorin Basca + ",includes=*" 19*7e63c127SSorin Basca + ",excludes=java.*:sun.*" 20*7e63c127SSorin Basca + ",exclclassloader=sun.reflect.DelegatingClassLoader:MyClassLoader" 21*7e63c127SSorin Basca + ",inclbootstrapclasses=true" 22*7e63c127SSorin Basca + ",inclnolocationclasses=true" 23*7e63c127SSorin Basca + ",sessionid=session" 24*7e63c127SSorin Basca + ",dumponexit=true" 25*7e63c127SSorin Basca + ",output=file" 26*7e63c127SSorin Basca + ",address=localhost" 27*7e63c127SSorin Basca + ",port=9999" 28*7e63c127SSorin Basca + ",classdumpdir=" + basedir + File.separator + "target" + File.separator + "classdumps" 29*7e63c127SSorin Basca + ",jmx=true"; 30*7e63c127SSorin Basca 31*7e63c127SSorin Basca//backslashes will be escaped 32*7e63c127SSorin BascaagentOptions = agentOptions.replace("\\","\\\\"); 33*7e63c127SSorin BascaString buildLog = FileUtils.fileRead( new File( basedir, "build.log" ) ); 34*7e63c127SSorin Bascaif ( buildLog.indexOf( agentOptions ) < 0 ) { 35*7e63c127SSorin Basca throw new RuntimeException( "Property was not configured, expected " + agentOptions ); 36*7e63c127SSorin Basca} 37*7e63c127SSorin Basca 38*7e63c127SSorin BascaFile file = new File( basedir, "target/coverage.exec" ); 39*7e63c127SSorin Bascaif ( !file.isFile() ) 40*7e63c127SSorin Basca{ 41*7e63c127SSorin Basca throw new FileNotFoundException( "Could not find generated dump: " + file ); 42*7e63c127SSorin Basca} 43*7e63c127SSorin Basca 44*7e63c127SSorin BascaFile reportDir = new File( basedir, "target/site/jacoco" ); 45*7e63c127SSorin Bascaif ( !reportDir.isDirectory() ) 46*7e63c127SSorin Basca{ 47*7e63c127SSorin Basca throw new RuntimeException( "Could not find generated report" ); 48*7e63c127SSorin Basca} 49