@@ -46,24 +46,102 @@ Este documento descreve o procedimento para a geração automatizada de document
...
@@ -46,24 +46,102 @@ Este documento descreve o procedimento para a geração automatizada de document
```
```
- Substitua `YOUR_API_KEY` pela chave API copiada.
- Substitua `YOUR_API_KEY` pela chave API copiada.
## Criação e Execução de Scripts de Automação
## Scripts de Automação
### Estrutura dos Scripts
Scripts de automação foram utilizados para geração da documentação em dois cenários diferentes, um deles provendo documentação do código e outro trazendo uma visão geral das funcionalidade encontradas com base nos módulos. A seguir a explicação operacionalização de cada um.
Os scripts de automação devem seguir uma estrutura padrão para garantir a consistência na geração de documentação. Um exemplo básico de script pode ser:
Este script Bash automatiza a criação de documentação para arquivos de código em um diretório específico usando a ferramenta `bito`. Ele gera arquivos de documentação Markdown para scripts com extensões `.sh`, `.py`, `.php` e `.js`, organizando-os em uma estrutura de diretórios correspondente ao diretório de origem.
```
\ No newline at end of file
## Funcionamento do Script
O script segue os seguintes passos para gerar a documentação:
### 1. Configuração das Variáveis
O script configura algumas variáveis essenciais:
-`BITO_CMD`: Localiza o comando `bito` no sistema.
-`BITO_CMD_VEP`: Define uma opção adicional para o comando `bito`, dependendo da versão.
-`BITO_VERSION`: Obtém a versão atual do `bito` e compara com a versão 3.7 para definir `BITO_CMD_VEP`.
```bash
BITO_CMD=`which bito`
BITO_CMD_VEP=""
BITO_VERSION=`$BITO_CMD-v | awk'{print $NF}'`
# Compare BITO_VERSION to check if its greater than 3.7
if awk"BEGIN {exit !($BITO_VERSION > 3.7)}";then
BITO_CMD_VEP="--agent create_code_doc"
fi
```
### 2. Verificação de Argumentos
O script verifica se um nome de diretório foi fornecido como argumento de linha de comando. Se não for fornecido, o script exibe uma mensagem de erro e encerra.
```bash
if[$# -eq 0 ];then
echo"Please provide folder name as command line argument"
exit 1
fi
```
### 3. Verificação e Criação de Diretório de Documentação
Verifica se o diretório fornecido existe. Se não existir, exibe uma mensagem de erro e encerra.
Cria um diretório para a documentação, prefixando "doc" ao nome do diretório original.
```bash
folder=$1
if[!-d"$folder"];then
echo"Folder $folder does not exist"
exit 1
fi
doc_folder="doc_$(basename$folder)"
if[!-d"$doc_folder"];then
mkdir-p"$doc_folder"
fi
```
### 4. Geração de Documentação
Encontra todos os arquivos com extensões específicas no diretório fornecido e seus subdiretórios.
Para cada arquivo encontrado, cria uma estrutura de diretórios correspondente no diretório de documentação.
Gera a documentação para cada arquivo usando o comando bito e salva a documentação no diretório apropriado.
```bash
find "$folder"-type f -name"*.sh"-o-name"*.py"-o-name"*.php"-o-name"*.js" | while read file;do
# Get relative path of file from folder
rel_path="${file#$folder/}"
# Get directory path of file in document folder
doc_dir="$doc_folder/$(dirname"$rel_path")"
# Create directory if it does not exist
if[!-d"$doc_dir"];then
mkdir-p"$doc_dir"
fi
# Create documentation using bito and save it in document folder
file2write="$doc_dir/$(basename"${file%.*}").md"
echo"Creating documentation in: "$file2write
# The below command does not work and gives following error
# Only "-p" flag is applicable for this command. Remove any additional flags and then try again.