Gerando Metadados de Construção Automaticamente Usando o Gerador de Definições de Linguagem do Rational Team Concert para System z

Antes de Iniciar
Use o gerador de definições de linguagem no cliente do ambiente de desenvolvimento integrado (IDE) do Rational Team Concert para System z para criar definições de conjunto de dados, tradutores e definições de linguagem sem usar um editor.

Antes de usar o gerador de definições de linguagem, é necessário ter feito o seguinte:

Importando um projeto zComponent a ser usado com o gerador de definições de linguagem

Por Que e Quando Desempenhar Esta Tarefa
Conclua esta tarefa para praticar o uso do gerador de definições de linguagem com um projeto de amostra, vários dos quais foram instalados com o cliente do Rational Team Concert para System z.
  1. No Rational Team Concert para System z, abra a perspectiva Recurso.
    1. Clique em Janela.
    2. Passe o mouse sobre Abrir Perspectiva.
    3. Selecione Outro.
    4. Selecione Recurso.
    5. Clique em OK. A visualização Explorador de Projetos é exibida.
  2. Na visualização Explorador de Projetos, clique com o botão direito do mouse no projeto e selecione Importar. A janela Selecionar do assistente de Importação se abre.
  3. Na janela Selecionar do assistente de Importação, expanda o nó Geral e selecione Projetos Existentes na Área de Trabalho.
  4. Clique em Avançar. A janela Importar Projetos do assistente de Importação se abre.
  5. Selecione o botão de opções Selecionar diretório-raiz e clique em Procurar.
  6. Selecione o diretório-raiz do projeto que deseja importar. Os projetos de amostra são armazenados no subdiretório rtcz\samples do diretório de instalação do Rational Team Concert para System z: C:\Program Files\IBM\SDP\rtcz\samples.
  7. Selecione as caixas junto aos projetos que deseja importar. Os seguintes projetos de amostra estão disponíveis:
    HelloWorldSample
    Uma amostra do aplicativo COBOL “Hello World” simples.
    HelloWorldSample2
    Um aplicativo “Hello World” adicional no assembler do host, PL/I e C.
    MortgageApplication
    Um aplicativo COBOL de amostra com vários projetos zComponent. Para importar esse projeto de amostra, selecione todos os projetos cujos nomes começam com MortgageApplication.
  8. Clique em Concluir.

Executando o Gerador de Definições de Linguagem do Rational Team Concert para System z

  1. Expanda o nó do projeto.
  2. Selecione o arquivo setuprtcz.xml e, em seguida, selecione Executar como > Construção Ant.
    Nota: O setuprtcz.xml é o nome do arquivo que é incluído no projeto de amostra. Se você gravar seu próprio arquivo, certifique-se de fornecê-lo a extensão .xml.
  3. Selecione a guia Propriedades, desmarque a caixa ao lado de Usar propriedades globais, conforme especificado nas preferências de tempo de execução Ant e, em seguida, inclua as seguintes propriedades:
    • repositoryAddress. Esta é a URL do Rational Team Concert para System z.
    • userId. Este é o ID do usuário do Rational Team Concert para System z.
    • password. Esta é a senha do Rational Team Concert para System z.
    • projectArea. Este é o nome da sua área do projeto.
  4. Selecione a guia JRE e selecione Executar no mesmo JRE da área de trabalho.
  5. Clique em Aplicar e depois em Executar. Se o gerador de definições de linguagem for executado com sucesso, todas as definições de conjunto de dados, tradutores e definições de linguagem necessários terão sido criados e os metadados contidos nos projetos selecionados serão atualizados para apontar para as novas definições.
  6. Acesse a visualização Alterações Pendentes e verifique suas alterações nos metadados.
  7. Acesse a perspectiva Itens de Trabalho, clique com o botão direito do mouse na sua área do projeto e clique em Atualizar. Na visualização Artefatos da Equipe, as novas definições de conjunto de dados, definições de linguagem e tradutores deverão ser todos exibidos na sua área do projeto.

Tarefas Ant do Gerador de Definições de Linguagem

Use o gerador de definições de linguagem do Rational Team Concert para System z para executar as seguintes tarefas customizadas do Ant. Cada nome da tarefa representa o nome de classe Java™ que implementa a tarefa.

InitTask

About this task
InitTask é uma tarefa Ant customizado que inicializa conexões com o servidor Rational Team Concert para System z para outras tarefas de definição de conjunto de dados, do tradutor e de definição de linguagem. É necessário executar a InitTask antes de quaisquer outras tarefas de definição de conjunto de dados, tradutor ou de definição de linguagem.
Table 1. Parâmetros InitTask
Atributo Descrição
repositoryAddress Cadeia de URL para o servidor Rational Team Concert para System z
userId ID do usuário do Rational Team Concert para System z
password Senha do Rational Team Concert para System z
passwordFile Arquivo de senhas do Rational Team Concert para System z
projectArea O nome da área do projeto na qual as definições de conjunto de dados, tradutores e definições de linguagem associados são armazenados.
Example
A seguir há um exemplo de um InitTask:

<ld:init repositoryAddress="https://opusdejazz.raleigh.ibm.com:9443/jazz"userId="tami" password="tami" projectArea="Build Test"/>

DsDefTask

Por Que e Quando Desempenhar Esta Tarefa
Use essa tarefa para criar uma definição de conjunto de dados.
Tabela 2. Parâmetros DsDefTask
Atributo Descrição Padrão
name Nome da definição  
descrição Descrição da definição  
dsName Nome do conjunto de dados  
dsMember Nome do membro  
prefixDSN true se o prefixo especificado no pedido de construção tiver que ser anexado no nome do conjunto de dados true
dsDefUsageType
  • 0 = zFolder
  • 1 = novo
  • 2 = temp
  • 3 = existente
0 (zFolder)
dsType
  • 0 = PDSE
  • 9 = NÃO-ESPECIFICADO
0 (PDSE)
storageClass Classe de armazenamento para a qual o conjunto de dados é designado.  
dataClass Classe de dados usada para criar o conjunto de dados.  
managementClass Classe de gerenciamento usada para gerenciar o conjunto de dados.  
volumeSerial Número de série do volume do conjunto de dados  
GenericUnit Nome do grupo ou endereço de unidade genérico  
spaceUnits Unidade de espaços de alocação a ser usado. O valor deve ser um dos seguintes:
  • trks (trilhas)
  • blks (blocos)
  • cyls (cilindros)
 
recordUnit Unidade da quantidade de alocação. O valor deve ser um dos seguintes:
  • U (simples)
  • K (centena)
  • M (milhão)
Para
primaryQuantity Quantidade de alocação primária 1
secondaryQuantity Quantidade de alocação secundária 1
directoryBlocks Número de blocos de diretório de 256 bytes fornecido. 0
recordLength Comprimento lógico em bytes 80
blockSize Tamanho de bloco  
recordFormat Uma cadeia de formato de registro do conjunto de dados do z/OS, como F, FB, V, VB ou U. Os possíveis valores incluem o seguinte:
  • F (fixo)
  • V (variável)
  • U (indefinido)
  • B (bloqueado)
  • A (Especifica que o arquivo contém caracteres de controle ASA.)
  • M (Especifica que o arquivo contém caracteres de controle de máquina.)
  • S (formato padrão se fixo; formato ampliado se variável)
  • T (truncado)
FB
Exemplo
A seguir há um exemplo de um DsDefTask:

<!-- zFolders --> <ld:dsdef name="COBOL" dsName="COBOL" dsDefUsageType="0" dsType="0" spaceUnits="cyls" primaryQuantity="1" secondaryQuantity="1" recordFormat="FB" recordLength="80" blockSize="0" />  
<!-- New data sets --> <ld:dsdef name="OBJ" dsName="OBJ"  dsDefUsageType="1" dsType="0" spaceUnits="cyls" primaryQuantity="1" secondaryQuantity="1" recordFormat="FB" recordLength="80" blockSize="0" /> <ld:dsdef name="LOAD" dsName="LOAD"  dsDefUsageType="1" dsType="0" spaceUnits="cyls" primaryQuantity="1" secondaryQuantity="1" recordFormat="U" recordLength="0" blockSize="32760" />
<!-- Temporary data set --> <ld:dsdef name="TEMPFILE" dsDefUsageType="2" prefixDSN="false" dsType="9" spaceUnits="trks" primaryQuantity="5" secondaryQuantity="5" genericUnit="SYSALLDA" />
<!-- Existing data sets --> <ld:dsdef name="IGYCRCTL" dsName="COBOL.V4R1M0.SIGYCOMP" dsMember="IGYCRCTL" dsDefUsageType="3" prefixDSN="false"/> <ld:dsdef name="IEWBLINK" dsMember="IEWBLINK" dsDefUsageType="3" prefixDSN="false"/> <ld:dsdef name="SCEELKED" dsName="CEE.SCEELKED" dsDefUsageType="3" prefixDSN="false"/>

TranslatorTask

Por Que e Quando Desempenhar Esta Tarefa
Use esta tarefa para criar um tradutor. TranslatorTask aceita Alocação e Concatenação como elementos filho.
Tabela 3. Parâmetros TranslatorTask
Atributo Descrição Padrão
name Nome do tradutor  
descrição Descrição do tradutor  
dataSetDefinition Definição do conjunto de dados para o módulo do tradutor  
ddnamelist Lista de nomes de DD alternativos para o tradutor  
defaultOptions Cadeia de opções que é transmitida para o tradutor.  
maxRC Código de retorno máximo permitido 0
Exemplo
A seguir há um exemplo de um TranslatorTask:

<ld:translator name="ASMMAP" dataSetDefinition="ASMA90"
   defaultOptions="SYSPARM(MAP),DECK,NOOBJECT"
   ddnamelist="SYSLIN,,,SYSLIB,SYSIN,ANTPRINT"
   maxRC="0">
   <ld:concatenation name="SYSLIB">
      <ld:allocation dataSetDefinition="SDFHMAC"/>
      <ld:allocation dataSetDefinition="MACLIB"/>
   </ld:concatenation>
   <ld:allocation name="SYSIN" input="true"/>
   <ld:allocation name="SYSPUNCH" dataSetDefinition="OBJ" member="true"/>
   <ld:allocation name="ANTPRINT" dataSetDefinition="TEMPFILE"/>
   <ld:allocation name="SYSUT1" dataSetDefinition="TEMPFILE"/>
   <ld:allocation name="SYSUT2" dataSetDefinition="TEMPFILE"/>
   <ld:allocation name="SYSUT3" dataSetDefinition="TEMPFILE"/>
</ld:translator>

LangDefTask

Por Que e Quando Desempenhar Esta Tarefa
Use essa tarefa para criar uma definição de linguagem.
Tabela 4. Parâmetros LangDefTask
Atributo Descrição
name Nome da definição de linguagem
descrição Descrição da definição de linguagem
translators Nomes de tradutores separados por vírgula
defaultExtension Extensão do arquivo padrão associada
Exemplo
A seguir há um exemplo de um LangDefTask:

<ld:langdef name="BMS" translators="ASMMAP,ASMDSECT"defaultExtension=”bms”/>

DeleteDsDefsTask

Por Que e Quando Desempenhar Esta Tarefa
Use essa tarefa para excluir todas as definições de conjunto de dados.
Exemplo
A seguir há um exemplo de um DeleteDsDefsTask:

<ld:deletedsdefs/>

DeleteTranslatorsTask

Por Que e Quando Desempenhar Esta Tarefa
Use essa tarefa para excluir todos os tradutores.
Exemplo
A seguir há um exemplo de um DeleteTranslatorsTask:

<ld:deletetranslators/>

DeleteLangDefsTask

Por Que e Quando Desempenhar Esta Tarefa
Use essa tarefa para excluir todas as definições de linguagem.
Exemplo
A seguir há um exemplo de um DeleteLangDefsTask:

<ld:deletelangdefs/>

ResolveMetadataTask

Por Que e Quando Desempenhar Esta Tarefa
Use essa tarefa para associar os zFiles às definições de linguagem e os zFolders às definições de conjunto de dados. Essas associações são armazenadas no subdiretório .antzBuild de cada projeto zComponent. É possível fazer uma associação entre os zFiles e as definições de linguagem usando a extensão zFile e o atributo defaultExtension de uma determinada definição de linguagem. Por exemplo, se a definição de linguagem COBOL possuir o atributo defaultExtension cbl, o zFile HELLO.cbl será associado a essa definição de linguagem. Pode ser feita uma associação entre zFolders e as definições de conjunto de dados usando os nomes de zFolders e os nomes de definições de conjunto de dados. Por exemplo, se você tiver uma definição de conjunto de dados chamada HELLO.COBOL, o zFolder HELLO.COBOL será associado à definição de conjunto de dados do mesmo nome.
Tabela 5.
Atributo Descrição Padrão
projectRoot Diretório raiz do projeto zComponent O diretório onde o script é armazenado.
Exemplo
A seguir há um exemplo de um ResolveMetadataTask:

<ld:resolvemetadata/>
<ld:resolvemetadata projectRoot="../AnotherProject"/>

Limitações do Gerador de Definições de Linguagem

Por Que e Quando Desempenhar Esta Tarefa
A seguir estão as limitações do gerador de definições de linguagem do Rational Team Concert para System z:
  • O gerador de definições de linguagem não suporta substituições usando as propriedades de construção.
  • ResolveMetadataTask atualiza os metadados mesmo se você não fizer nenhuma alteração nas definições de conjunto de dados ou nas definições de linguagem associadas.