Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save tiagovizoto/bd81651dcb1a1a58f3023ea478a575c3 to your computer and use it in GitHub Desktop.
Save tiagovizoto/bd81651dcb1a1a58f3023ea478a575c3 to your computer and use it in GitHub Desktop.
Geração de estrutura para uso interno
#!/bin/bash
pasta_raiz=$(basename "$(pwd)")
echo "Pasta raiz: $pasta_raiz"
echo "Selecione a pasta atual (pasta dentro de $pasta_raiz):"
select pasta_atual in */; do
pasta_atual=${pasta_atual%/} # Remove a barra do final
break
done
echo "Pasta atual: $pasta_atual"
echo "Digite o nome do nomenclatura:"
read -r nomenclatura
criar_pastas() {
for nome in "$@"; do
if [ ! -d "$nome" ]; then
mkdir "$nome"
echo "'$nome' criada com sucesso."
else
echo "A pasta '$nome' já existe."
fi
done
}
criar_pastas "$pasta_raiz/pages" "$pasta_raiz/steps" "$pasta_raiz/interactions"
criar_pastas "$pasta_atual/pages" "$pasta_atual/steps" "$pasta_atual/interactions"
arquivo_interaction="$pasta_atual/interactions/${nomenclatura}Interaction.java"
echo "Criando arquivo $arquivo_interaction"
echo "package br.com.nttdata.$pasta_raiz.$pasta_atual.interactions;
import br.com.nttdata.tests.RunBase;
public class ${nomenclatura}Interaction extends RunBase {
}" > "$arquivo_interaction"
arquivo_step="$pasta_atual/steps/${nomenclatura}Step.java"
echo "Criando arquivo $arquivo_step"
echo "package br.com.nttdata.$pasta_raiz.$pasta_atual.steps;
import br.com.nttdata.$pasta_raiz.$pasta_atual.interactions.${nomenclatura}Interaction;
import br.com.nttdata.tests.RunBase;
public class ${nomenclatura}Step extends RunBase {
final static String ${nomenclatura}StepName = \"\";
${nomenclatura}Interaction ${nomenclatura}Interaction = new ${nomenclatura}Interaction();
}" > "$arquivo_step"
arquivo_page="$pasta_atual/pages/${nomenclatura}Page.java"
echo "Criando arquivo $arquivo_page"
echo "package br.com.nttdata.$pasta_raiz.$pasta_atual.pages;
public class ${nomenclatura}Page {
}" > "$arquivo_page"
echo "Arquivos criados em '$pasta_raiz/$pasta_atual'."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment