1f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. 2f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * 3f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * This program and the accompanying materials are made available under 4f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * the terms of the Common Public License v1.0 which accompanies this distribution, 5f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * and is available at http://www.eclipse.org/legal/cpl-v10.html 6f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * 7f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * $Id: emmajavaTask.java,v 1.1.1.1.2.2 2004/07/16 23:32:04 vlad_r Exp $ 8f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project */ 9f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectpackage com.vladium.emma; 10f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 11f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport java.io.File; 12f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 13f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.util.IProperties; 14f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.util.Strings; 15f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.ant.*; 16f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.instr.FilterCfg; 17f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.instr.FilterCfg.filterElement; 18f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.report.ReportCfg; 19f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.report.IReportEnums.DepthAttribute; 20f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.report.IReportEnums.UnitsTypeAttribute; 21f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.report.ReportCfg.Element_HTML; 220b5519af3cd5ac3a90a29d110fea49345e8e286bTim Baverstockimport com.vladium.emma.report.ReportCfg.Element_LCOV; 23f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.report.ReportCfg.Element_TXT; 24f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport com.vladium.emma.report.ReportCfg.Element_XML; 25f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 26f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport org.apache.tools.ant.BuildException; 27f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport org.apache.tools.ant.Project; 28f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport org.apache.tools.ant.taskdefs.Java; 29f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport org.apache.tools.ant.types.Commandline; 30f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport org.apache.tools.ant.types.Path; 31f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport org.apache.tools.ant.types.Reference; 32f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 33f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// ---------------------------------------------------------------------------- 34f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project/** 35f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * @author Vlad Roubtsov, (C) 2003 36f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project */ 37f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectpublic 38f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectclass emmajavaTask extends Java 39f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project{ 40f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // public: ................................................................ 41f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 42f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 43f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void init () throws BuildException 44f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 45f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.init (); 46f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 47f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_verbosityCfg = new VerbosityCfg (); 48f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_genericCfg = new GenericCfg (this); 49f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_filterCfg = new FilterCfg (this); 50f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg = new ReportCfg (project, this); 51f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project setEnabled (true); 52f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 53f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 54f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 55f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void execute () throws BuildException 56f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 57f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project log (IAppConstants.APP_VERBOSE_BUILD_ID, Project.MSG_VERBOSE); 58f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 59f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (getClasspath () == null) 60f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 61f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + ": this task requires 'classpath' attribute to be set", location).fillInStackTrace (); 62f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 63f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 64f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (isEnabled ()) 65f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 66f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // fork: 67f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_forkUserOverride && ! m_fork) 68f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project log (getTaskName () + ": 'fork=\"false\"' attribute setting ignored (this task always forks)", Project.MSG_WARN); 69f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 70f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.setFork (true); // always fork 71f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 72f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // add emma libs to the parent task's classpath [to support non-extdir deployment]: 73f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final Path libClasspath = m_libClasspath; 74f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if ((libClasspath != null) && (libClasspath.size () > 0)) 75f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 76f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createClasspath ().append (libClasspath); 77f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 78f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 79f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // classname|jar (1/2): 80f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.setClassname ("emmarun"); 81f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 82f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // <emmajava> extensions: 83f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 84f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // report types: 85f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 86f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project String reportTypes = Strings.toListForm (m_reportCfg.getReportTypes (), ','); 87f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if ((reportTypes == null) || (reportTypes.length () == 0)) reportTypes = "txt"; 88f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 89f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-r"); 90f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (reportTypes); 91f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 92f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 93f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // full classpath scan flag: 94f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 95f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_scanCoveragePath) 96f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 97f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-f"); 98f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 99f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 100f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 101f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // dump raw data flag and options: 102f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 103f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_dumpSessionData) 104f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 105f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-raw"); 106f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 107f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_outFile != null) 108f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 109f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-out"); 110f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (m_outFile.getAbsolutePath ()); 111f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 112f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 113f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_outFileMerge != null) 114f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 115f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-merge"); 116f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (m_outFileMerge.booleanValue () ? "y" : "n"); 117f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 118f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 119f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else 120f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 121f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_outFile != null) 122f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project log (getTaskName () + ": output file attribute ignored ('fullmetadata=\"true\"' not specified)", Project.MSG_WARN); 123f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 124f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_outFileMerge != null) 125f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project log (getTaskName () + ": merge attribute setting ignored ('fullmetadata=\"true\"' not specified)", Project.MSG_WARN); 126f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 127f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 128f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 129f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // instr filter: 130f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 131f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final String [] specs = m_filterCfg.getFilterSpecs (); 132f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if ((specs != null) && (specs.length > 0)) 133f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 134f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-ix"); 135f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (Strings.toListForm (specs, ',')); 136f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 137f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 138f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 139f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // sourcepath: 140f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 141f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final Path srcpath = m_reportCfg.getSourcepath (); 142f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (srcpath != null) 143f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 144f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-sp"); 145f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (Strings.toListForm (srcpath.list (), ',')); 146f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 147f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 148f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 149f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // all other generic settings: 150f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 151f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final IProperties reportSettings = m_reportCfg.getReportSettings (); 152f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final IProperties genericSettings = m_genericCfg.getGenericSettings (); 153f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 154f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // TODO: another options is to read this file in the forked JVM [use '-props' pass-through] 155f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // the best option depends on how ANT resolves relative file names 156f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final IProperties fileSettings = m_genericCfg.getFileSettings (); 157f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 158f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // verbosity settings use dedicated attributes and hence are more specific 159f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // than anything generic: 160f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final IProperties verbositySettings = m_verbosityCfg.getSettings (); 161f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 162f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // (1) file settings have lower priority than any explicitly named overrides 163f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // (2) named report settings override generic named settings 164f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // (3) verbosity settings use dedicated attributes (not overlapping with report 165f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // cfg) and hence are more specific than anything generic 166f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final IProperties settings = IProperties.Factory.combine (reportSettings, 167f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project IProperties.Factory.combine (verbositySettings, 168f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project IProperties.Factory.combine (genericSettings, 169f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project fileSettings))); 170f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 171f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final String [] argForm = settings.toAppArgsForm ("-D"); 172f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (argForm.length > 0) 173f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 174f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project for (int a = 0; a < argForm.length; ++ a) 175f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (argForm [a]); 176f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 177f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 178f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 179f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 180f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // [assertion: getClasspath() is not null] 181f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 182f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // classpath: 183f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-cp"); 184f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setPath (getClasspath ()); 185f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 186f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // classname|jar (2/2): 187f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (getClassname () != null) 188f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (getClassname ()); 189f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else if (getJar () != null) 190f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 191f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue ("-jar"); 192f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (getJar ().getAbsolutePath ()); 193f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 194f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else 195f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 196f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + "either 'jar' or 'classname' attribute must be set", location).fillInStackTrace (); 197f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 198f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // main class args: 199f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_appArgs != null) 200f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 201f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final String [] args = m_appArgs.getArguments (); 202f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project for (int a = 0; a < args.length; ++ a) 203f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 204f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (args [a]); // note: spaces etc are escaped correctly by ANT libs 205f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 206f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 207f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 208f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else 209f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 210f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // fork: 211f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.setFork (m_fork); 212f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 213f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // [assertion: getClasspath() is not null] 214f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 215f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // classpath: 216f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createClasspath ().append (getClasspath ()); // can't use setClasspath() for obvious reasons 217f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 218f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // classname|jar: 219f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (getClassname () != null) 220f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.setClassname (getClassname ()); 221f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else if (getJar () != null) 222f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.setJar (getJar ()); 223f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else 224f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 225f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + "either 'jar' or 'classname' attribute must be set", location).fillInStackTrace (); 226f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 227f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // main class args: 228f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_appArgs != null) 229f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 230f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project final String [] args = m_appArgs.getArguments (); 231f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project for (int a = 0; a < args.length; ++ a) 232f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 233f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.createArg ().setValue (args [a]); // note: spaces etc are escaped correctly by ANT libs 234f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 235f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 236f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 237f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 238f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project super.execute (); 239f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 240f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 241f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 242f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 243f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // <java> overrides [ANT 1.4]: 244f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 245f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setClassname (final String classname) 246f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 247f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (getJar () != null) 248f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 249f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + "'jar' and 'classname' attributes cannot be set at the same time", location).fillInStackTrace (); 250f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 251f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_classname = classname; 252f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 253f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 254f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setJar (final File file) 255f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 256f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (getClassname () != null) 257f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 258f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + "'jar' and 'classname' attributes cannot be set at the same time", location).fillInStackTrace (); 259f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 260f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_jar = file; 261f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 262f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 263f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 264f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setClasspath (final Path path) 265f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 266f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_classpath == null) 267f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_classpath = path; 268f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else 269f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_classpath.append (path); 270f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 271f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 272f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setClasspathRef (final Reference ref) 273f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 274f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project createClasspath ().setRefid (ref); 275f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 276f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 277f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public Path createClasspath () 278f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 279f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_classpath == null) 280f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_classpath = new Path (project); 281f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 282f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_classpath.createPath (); 283f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 284f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 285f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project /** 286f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * This is already deprecated in ANT v1.4. However, it is still supported by 287f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * the parent task so I do likewise. 288f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project */ 289f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setArgs (final String args) 290f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 291f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 292f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + ": disallows using <java>'s deprecated 'args' attribute", location).fillInStackTrace (); 293f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 294f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 295f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project /** 296f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * Not overridable. 297f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project */ 298f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setFork (final boolean fork) 299f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 300f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_fork = fork; 301f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_forkUserOverride = true; 302f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 303f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 304f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project /** 305f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * Not overridable [due to limitations in ANT's Commandline]. 306f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project */ 307f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final Commandline.Argument createArg () 308f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 309f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_appArgs == null) 310f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_appArgs = new Commandline (); 311f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 312f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_appArgs.createArgument (); 313f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 314f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 315f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // <java> overrides [ANT 1.5]: 316f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 317f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // [nothing at this point] 318f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 319f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 320f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // <emmajava> extensions: 321f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 322f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setEnabled (final boolean enabled) 323f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 324f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_enabled = enabled; 325f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 326f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 327f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // .properties file attribute: 328f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 329f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setProperties (final File file) 330f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 331f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_genericCfg.setProperties (file); 332f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 333f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 334f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // generic property element: 335f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 336f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final PropertyElement createProperty () 337f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 338f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_genericCfg.createProperty (); 339f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 340f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 341f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // verbosity attribute: 342f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 343f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setVerbosity (final VerbosityCfg.VerbosityAttribute verbosity) 344f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 345f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_verbosityCfg.setVerbosity (verbosity); 346f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 347f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 348f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // verbosity class filter attribute: 349f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 350f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setVerbosityfilter (final String filter) 351f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 352f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_verbosityCfg.setVerbosityfilter (filter); 353f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 354f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 355f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // lib classpath attribute [to support non-extdir deployment]: 356f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 357f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setLibclasspath (final Path classpath) 358f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 359f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_libClasspath == null) 360f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_libClasspath = classpath; 361f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project else 362f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_libClasspath.append (classpath); 363f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 364f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 365f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setLibclasspathRef (final Reference ref) 366f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 367f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_libClasspath == null) 368f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_libClasspath = new Path (project); 369f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 370f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_libClasspath.createPath ().setRefid (ref); 371f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 372f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 373f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // -f flag: 374f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 375f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setFullmetadata (final boolean full) 376f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 377f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_scanCoveragePath = full; // defaults to false TODO: maintain the default in a central location 378f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 379f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 380f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // -raw flag: 381f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 382f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setDumpsessiondata (final boolean dump) 383f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 384f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_dumpSessionData = dump; 385f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 386f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 387f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // -out option: 388f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 389f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // sessiondatafile|outfile attribute: 390f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 391f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setSessiondatafile (final File file) 392f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 393f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_outFile != null) 394f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 395f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + ": session data file attribute already set", location).fillInStackTrace (); 396f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 397f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_outFile = file; 398f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 399f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 400f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setOutfile (final File file) 401f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 402f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project if (m_outFile != null) 403f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project throw (BuildException) SuppressableTask.newBuildException (getTaskName () 404f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project + ": session data file attribute already set", location).fillInStackTrace (); 405f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 406f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_outFile = file; 407f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 408f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 409f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// public void setTofile (final File file) 410f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// { 411f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// if (m_outFile != null) 412f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// throw (BuildException) SuppressableTask.newBuildException (getTaskName () 413f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// + ": session data file attribute already set", location).fillInStackTrace (); 414f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// 415f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// m_outFile = file; 416f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// } 417f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// 418f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// public void setFile (final File file) 419f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// { 420f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// if (m_outFile != null) 421f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// throw (BuildException) SuppressableTask.newBuildException (getTaskName () 422f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// + ": session data file attribute already set", location).fillInStackTrace (); 423f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// 424f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// m_outFile = file; 425f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// } 426f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 427f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 428f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // merge attribute: 429f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 430f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setMerge (final boolean merge) 431f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 432f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_outFileMerge = merge ? Boolean.TRUE : Boolean.FALSE; 433f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 434f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 435f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // instr filter attribute/element: 436f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 437f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setFilter (final String filter) 438f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 439f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_filterCfg.setFilter (filter); 440f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 441f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 442f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final filterElement createFilter () 443f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 444f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_filterCfg.createFilter (); 445f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 446f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 447f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 448f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // TODO: should what's below go inside <report></report> ? 449f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 450f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // sourcepath attribute/element: 451f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 452f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setSourcepath (final Path path) 453f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 454f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setSourcepath (path); 455f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 456f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 457f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setSourcepathRef (final Reference ref) 458f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 459f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setSourcepathRef (ref); 460f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 461f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 462f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final Path createSourcepath () 463f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 464f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_reportCfg.createSourcepath (); 465f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 466f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 467f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 468f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // generator elements: 469f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 470f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final Element_TXT createTxt () 471f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 472f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_reportCfg.createTxt (); 473f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 474f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 4750b5519af3cd5ac3a90a29d110fea49345e8e286bTim Baverstock public final Element_LCOV createLcov () 4760b5519af3cd5ac3a90a29d110fea49345e8e286bTim Baverstock { 4770b5519af3cd5ac3a90a29d110fea49345e8e286bTim Baverstock return m_reportCfg.createLcov (); 4780b5519af3cd5ac3a90a29d110fea49345e8e286bTim Baverstock } 4790b5519af3cd5ac3a90a29d110fea49345e8e286bTim Baverstock 480f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final Element_HTML createHtml () 481f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 482f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_reportCfg.createHtml (); 483f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 484f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 485f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final Element_XML createXml () 486f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 487f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_reportCfg.createXml (); 488f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 489f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 490f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 491f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // report properties [defaults for all report types]: 492f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 493f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setUnits (final UnitsTypeAttribute units) 494f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 495f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setUnits (units); 496f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 497f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 498f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setDepth (final DepthAttribute depth) 499f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 500f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setDepth (depth); 501f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 502f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 503f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setColumns (final String columns) 504f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 505f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setColumns (columns); 506f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 507f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 508f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setSort (final String sort) 509f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 510f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setSort (sort); 511f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 512f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 513f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public final void setMetrics (final String metrics) 514f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 515f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setMetrics (metrics); 516f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 517f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 518f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // these are not supported anymore 519f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 520f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// public final void setOutdir (final File dir) 521f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// { 522f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// m_reportCfg.setOutdir (dir); 523f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// } 524f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// 525f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// public final void setDestdir (final File dir) 526f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// { 527f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// m_reportCfg.setDestdir (dir); 528f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// } 529f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 530f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // should be set at this level [and conflicts with raw data opts]: 531f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 532f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// public void setOutfile (final String fileName) 533f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// { 534f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// m_reportCfg.setOutfile (fileName); 535f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// } 536f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 537f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project public void setEncoding (final String encoding) 538f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 539f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project m_reportCfg.setEncoding (encoding); 540f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 541f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 542f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // protected: ............................................................. 543f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 544f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 545f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project protected String getClassname () 546f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 547f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_classname; 548f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 549f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 550f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project protected File getJar () 551f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 552f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_jar; 553f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 554f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 555f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project protected Path getClasspath () 556f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 557f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_classpath; 558f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 559f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 560f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // extended functionality: 561f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 562f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project protected boolean isEnabled () 563f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project { 564f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project return m_enabled; 565f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project } 566f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 567f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // package: ............................................................... 568f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 569f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // private: ............................................................... 570f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 571f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // <java> overrides: 572f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 573f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private Path m_classpath; 574f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private String m_classname; 575f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private File m_jar; 576f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private Commandline m_appArgs; 577f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private boolean m_fork, m_forkUserOverride; 578f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 579f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project // <emmajava> extensions: 580f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 581f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private boolean m_enabled; 582f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private Path m_libClasspath; 583f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private /*final*/ VerbosityCfg m_verbosityCfg; 584f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private /*final*/ GenericCfg m_genericCfg; 585f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private /*final*/ FilterCfg m_filterCfg; 586f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private /*final*/ ReportCfg m_reportCfg; 587f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private boolean m_scanCoveragePath; // defaults to false 588f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private boolean m_dumpSessionData; //defaults to false 589f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private File m_outFile; 590f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project private Boolean m_outFileMerge; 591f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project 592f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project} // end of class 5930b5519af3cd5ac3a90a29d110fea49345e8e286bTim Baverstock// ---------------------------------------------------------------------------- 594