Referência do Modo Headless de Revisão de Código

O modo headless permite automatizar revisões de código de uma linha de comandos ou do script Ant sem entrada do usuário e sem a interface gráfica com o usuário do produto.

Finalidade

A linha de comandos ativa um workbench "headless" (sem interface com o usuário para ambiente de desenvolvimento) e executa as configurações de ativação da revisão de código que estão localizadas em um espaço de trabalho especificado.

Essa é uma sintaxe da linha de comandos básica para executar uma revisão de código no modo headless:

<Diretório do Eclipse>/jre/bin/java <parâmetros obrigatórios> <parâmetros opcionais>

Parâmetros Obrigatórios

Estas são três categorias de parâmetros obrigatórios:
  • VM do Produto
  • Eclipse
  • Linha de comandos

VM do Produto

-Xj9
Ativa o aplicativo para o modo da linha de comandos, junto com outros parâmetros listados em Ajuda > Sobre a Plataforma Eclipse > Detalhes da Configuração.
-cp <caminho de classe>/startup.jar org.eclipse.core.launcher.Main
Ativa o Eclipse no modo headless com o caminho de classe especificado. Utilize aspas duplas quando o caminho contiver espaços.
Para o Windows, utilize barras duplas invertidas (\\) em vez do caractere de barra invertida. A seguir há um exemplo: "C:\\Arquivos de Programas\\IBM\\Rational\\".
Eclipse
-plugincustomization <pluginCustomizationPath>
Substitui o caminho de customização do plug-in pelo caminho do arquivo pluginCustomization.ini de seu plug-in.
-application com.ibm.r2a.command.line.mode.CommandLineModeApplication
Especifica o aplicativo utilizado para executar a revisão de código.
-data <espaço de trabalho>
Especifica o local do espaço de trabalho em que as configurações de ativação estão localizadas. Utilize aspas duplas quando o caminho contiver espaços. Para o Windows, utilize barras duplas invertidas (\\) em vez do caractere de barra invertida. A seguir há um exemplo: "C:\\Arquivos de Programas\\IBM\\Rational\\".
-os linux
Specifies Linux as the operating system. This parameter comes from the Help > Configuration Details > System properties > Eclipse commands section.
-ws gtk
Specifies the user interface configuration parameter required by some Eclipse components. This parameter comes from the Help > Configuration Details > System properties > Eclipse commands section.
Linha de comandos
-reportDirectory caminho_de_diretório
Especifica o diretório no qual os arquivos de relatório devem ser produzidos. Utilize aspas duplas quando o caminho contiver espaços. Para o Windows, utilize barras duplas invertidas (\\) em vez do caractere de barra invertida. A seguir há um exemplo: "C:\\Arquivos de Programas\\IBM\\Rational\\".

Parâmetros Opcionais

-persistKind html|xml
Especifica se irá produzir um relatório HTML ou XML sozinho. Por padrão, os dois relatórios são gerados.
-verbose
Produz uma saída simples de estados apenas para fins de depuração.
-excludeClient
Especifica um ou mais clientes, por nome, para excluir da revisão de código.
-onlyClient
Especifica a execução apenas de um cliente por nome; por padrão, todos os clientes são executados.
-reportDirectory
Especifica o diretório de relatório no qual os relatórios gerados são colocados após a revisão de código; o diretório do relatório padrão está nos metadados do plug-in da linha de comandos.
-timeStampMode
Especifica o diretório no qual os relatórios gerados são colocados após a revisão de código e aplica um time stamp ao relatório.

Amostra

Esse script Ant de amostra executa silenciosamente todas as configurações de ativação que estão localizadas em D:\workspace e produz os resultados em um diretório denominado batch_report localizado no espaço de trabalho.
<?xml version="1.0" encoding="UTF-8">
<project name="MyTestProject" default="CodeReviewHeadless" >

	<target name="CodeReviewHeadless">

		<property name="eclipse_dir" value="D:\\eclipse"/>
		<property name="workspace_dir" value="D:\\workspace"/>
		<property name="options" value=" -plugincustomization <pluginCustomizationPath> -onlyClient CodeReview -reportDirectory ${workspace_dir}\\batch_report -timeStampMode"/>

		<exec executable="${eclipse_dir}/jre/bin/java" dir="${eclipse_dir}" vmlauncher="false">
			<arg line="-Xj9 -Dorg.eclipse.swt.browser.internal.flash -Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=org.eclipse.emf.ecore.impl.EPackageRegistryImpl -cp ${eclipse_dir}/startup.jar org.eclipse.core.launcher.Main -application com.ibm.r2a.command.line.mode.CommandLineModeApplication -data ${workspace_dir} ${options}" />
		</exec>
	</target>

</project>