Arquivo de Códigos - Página Inicial
Códigos-fonte
» Boletos Bancários
» Calendário de Eventos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 28
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> Apache Ant
Interagindo com o Ant via console durante a execução dos arquivos de build
Até o tópico anterior todos os arquivos de build que escrevemos eram executados pelo Ant de uma só vez, ou seja, não havia a possibilidade de fazer escolhas ou definir valores após o início do processo. Neste tópico veremos como isso é possível.

Uma das aplicações mais interessantes da comunicação com o Ant após o início da execução do arquivo de build é solicitar nomes de diretórios ou arquivos ou ainda solicitar confirmação para uma tarefa a ser executada.



A tarefa input é usada quando queremos pausar a execução do Ant e esperar pelo pressionamento de alguma tecla ou informação do usuário. Veja um exemplo:

<input/>

O simples fato de inserir esta tarefa no fluxo de execução de um determinado alvo fará com que a execução do build seja interrompida e recomece somente quando você pressionar a tecla Enter. É claro que é sempre uma boa idéia informar o usuário sobre este procedimento. Assim, uma abordagem melhor é usar:

<input>Tecle Enter para continuar...</input>

Caso você desejar a confirmação do usuário antes de proceder com a execução do arquivo de build poderá usar o seguinte código (como um exemplo vale mais que 1000 palavras, o build a seguir pede confirmação antes de criar um diretório e copiar um arquivo):

<project name="teste" basedir="." default="alvo">

    <target name="alvo">
        <input
            message="O diretorio paginas sera criado agora. Deseja
            continuar (s/n)?"
            validargs="s,n"
            addproperty="valor" />
        <condition property="sair">
            <equals arg1="n" arg2="${valor}"/>
        </condition>
        <fail if="sair">O processo de build foi cancelado.</fail>

        <mkdir dir="paginas" />
        <copy file="index.jsp" todir="paginas" />
    </target>

</project>


Ao executarmos este build teremos o seguinte resultado:

C:\testes>ant
Buildfile: build.xml

alvo:
    [input] O diretorio paginas sera criado agora. Deseja continuar (s/n)?(s,n)
s
    [mkdir] Created dir: C:\testes\paginas
    [copy] Copying 1 file to C:\testes\paginas

BUILD SUCCESSFUL
Total time: 10 seconds


Veja que aqui a resposta para a pergunta foi "s". Se respondermos "n" teremos outro resultado. Observe:

C:\testes>ant
Buildfile: build.xml

alvo:
    [input] O diretorio paginas sera criado agora. Deseja continuar (s/n)?(s,n)
n

BUILD FAILED
C:\testes\build.xml:11: O processo de build foi cancelado.

Total time: 2 seconds


O primeiro passo para entender este arquivo de build é começar analisando a tarefa input:

<input
    message="O diretorio paginas sera criado agora. Deseja
    continuar (s/n)?"
    validargs="s,n"
    addproperty="valor" />

Veja que aqui temos três atributos. Veja suas definições a seguir:

a) message – É a mensagem a ser exibida para o usuário;
b) validargs – Uma string contendo as palavras (ou letras) válidas como argumento de entrada no console. Observe que validarags é sensitiva à maiúsculas e minúsculas. Em nosso exemplo aceitamos somente "s" e "n". Se quiséssemos aceitar também "S" e "N" bastaria acrescentar estas letras ao valor do atributo.
c) addproperty – Permite criar uma variável global que armazenará o valor informado pelo usuário. Este atributo é muito importante, como veremos mais adiante.

Logo após o elemento input temos uma condição:

<condition property="sair">
    <equals arg1="n" arg2="${valor}"/>
</condition>

Esta condição define uma propriedade (ou seria melhor chamá-la de variável?) global chamada sair. Inicialmente o valor para esta propriedade é false. Dentro do elemento condition temos um elemento equals que compara o valor informado pelo usuário (presente em arg2) com um dos valores válidos como entrada. No nosso exemplo, a propriedade sair terá o valor true se o valor informado pelo usuário for igual a "n".

E agora o trecho mais importante: um elemento fail:

<fail if="sair">O processo de build foi cancelado.</fail>

Este elemento possui apenas um atributo (a mensagem a ser exibida) e é usado para testarmos valores de propriedades para decidir se a execução do build deverá prosseguir ou ser interrompida. Veja como testamos o valor da propriedade sair definida anteriormente no elemento condition. É importante observar que, se o teste efetuado no elemento fail resultar verdadeiro, a execução do arquivo é interrompida, ou seja, nenhuma linha de código após este elemento será executada.
Este tutorial contém as seguintes seções:
  1. Apresentação
  2. O que é o Apache Ant?
  3. Baixando e Instalando o Apache Ant
  4. Entendendo alvos, tarefas e o arquivo build.xml
  5. Criando diretórios e copiando arquivos usando Ant
  6. Usando variáveis durante o processo de automação de tarefas
  7. Como compilar arquivos Java usando Ant
  8. Uso do Ant na execução de aplicativos Java
  9. Exibindo mensagens durante o processo de automação das tarefas
  10. Empacotando aplicações web com o uso da tarefa War
  11. Usando a tarefa Unwar para extrair o conteúdo de um arquivo War
  12. Como gerar arquivos JAR usando Ant
  13. Interagindo com o Ant via console durante a execução dos arquivos de build
  14. Como obter valores via console durante a execução de um build Ant
  15. Como validar a entrada do usuário em um arquivo de build (como estender a classe Task do Ant)
 
 
Arquivo de Códigos - Página Inicial
Veja dicas, truques e anotações de CodeIgniter
Criando métodos privados em seus controllers e evitando que tais métodos possam ser chamados pela URL
Como passar argumentos de URL para o método de um controller
O que são e como usar models em aplicações CodeIgniter
O que são e como usar controllers em aplicações CodeIgniter
Como remover o index.php das URLs de suas aplicações CodeIgniter
Como usar a função _remap() para remapear os métodos invocados em um controller
O que são e como usar views em aplicações CodeIgniter
Veja dicas, truques e anotações de outras linguagens
JavaScript - Como obter o número da linha na qual o erro de tempo de execução ocorreu
Java - Definindo o texto para um JTextArea
JSP (Java Server Pages) - Como gerar uma planilha do Excel usando JSP
C# (CSharp) - Pesquisando um item na ListBox usando o método Contains
Java - Como se livrar da mensagem "Note: Xxx.java uses unchecked or unsafe operations." ao usar a classe Vector
Delphi - Excluir o item selecionado em um ComboBox
Ruby - Usando o método collect! para manipular individualmente os itens de um array
ActionScript - Como embaralhar a ordem dos elementos de um array
Java - Como minimizar uma JFrame ao clicar em um botão
Java - Usando Collections.reverseOrder() para ordenar os elementos de uma ArrayList em ordem descendente


http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site