Criar um pacote personalizado em IntelliJ
Baixar como PDF
Compartilhar
- Última atualização2024/09/11
Criar um pacote personalizado em IntelliJ
Use o Java IntelliJ para criar e compilar um arquivo JAR que você pode carregar como um pacote para a Control Room no Automation 360.
Pré-requisitos
Uma compreensão básica do JDK e Java IntelliJ é necessária para criar um pacote de ações. Certifique-se de ter instalado os seguintes softwares e arquivos:
Procedimento
- Baixe a versão mais recente do Automation Anywhere Package SDK. Para obter a versão mais recente do Package SDK, consulte - Notas da versão do SDK do pacote anterior.
- Descompacte o conteúdo do pacote SDK para qualquer diretório local.
- Renomeie a pasta de A360-package-sdk-<número da versão> para MetricToImperial.
-
No IntelliJ IDEA, vá para Arquivo > Abrir e abra o projeto em C:\<SavedLocation>\MetricToImperial.
-
Na raiz do projeto, abra o arquivo settings.gradle. Configure o
rootProject.name = 'MetricToImperial'
- Abra o arquivo package.template localizado em src > main > resources > package.template.
-
Altere o nome do pacote de A360DemoPackage para MetricToImperial.
Clique no botão Sincronizar no IntelliJ para atualizar o projeto. -
Atualize o nome do pacote em locales json: vá para src > main > resources > locales > en_US.json.
- Abra o arquivo en_US.json e atualize o campo label necessário de A360DemoPackage para MetricToImperial. Atualize a descrição opcional.
- Exclua todas as outras linhas restantes no arquivo en_US.json.
- Exclua os pacotes de amostra, vá para src > main > java > com.automationanyhwere.botcommand e exclua samples.commands e os pacotes samples.
- Crie um novo pacote, clique com o botão direito do mouse sobre a pasta java e selecione Novo > Pacote. Insira o novo nome do pacote como metrictoimperial.commands.
-
Crie uma nova classe Java, clique com o botão direito do mouse no pacote metrictoimperial.commands e selecione Nova > Classe Java. Digite o nome para a nova classe CMtoINCH:.
-
Abra a classe CMtoINCH. Copie e cole o seguinte código acima da instrução de definição de classe:
import static com.automationanywhere.commandsdk.model.DataType.NUMBER; //BotCommand makes a class eligible for being considered as an action. @BotCommand //CommandPks adds required information to be dispalable on GUI. @CommandPkg( //Unique name inside a package and label to display. name = "CMtoInch", label = "[[CMtoINCH.label]]", node_label = "[[CMtoINCH.node_label]]", description = "[[CMtoINCH.description]]", icon = "ruler_icon.svg", //Return type information. return_type ensures only the right kind of variable is provided on the UI. return_label = "[[CMtoINCH.return_label]]", return_type = NUMBER, return_required = true)
- Dentro da classe CMtoINCH, copie e cole o seguinte código:
//Identify the entry point for the action. Returns a Value<String> because the return type is String. @Execute public NumberValue action( //Idx 1 would be displayed first, with a text box for entering the value. @Idx(index = "1", type = AttributeType.NUMBER) //UI labels. @Pkg(label = "[[CMtoINCH.CMInput.label]]") //Ensure that a validation error is thrown when the value is null. @NotEmpty Double CMInput) { //Internal validation, to disallow empty inputs. No null check needed as we have NotEmpty on CMInput. if ("".equals(CMInput.toString().trim())) throw new BotCommandException("Input of CM is required"); Number result; try { //Conversion logic result = CMInput * 0.393701; } catch (Exception e) { //Throw custom error message throw new BotCommandException("Unable to convert " + CMInput.toString() + "cm to inches"); } //Return NumberValue. return new NumberValue(result); }
Para importar os namespaces, clique nas notações vermelhas destacadas, pressione a tecla ALT+ENTER e selecione Importar, que importa automaticamente namespaces com base nas anotações e datatypes.
-
Abra a classe CMtoINCH. Copie e cole o seguinte código acima da instrução de definição de classe:
-
Configure o arquivo en_US.json, acesse src > main > resources > locales > en_US.json e adicione os seguintes campos após os valores de rótulo e descrição:
"CMtoINCH.label" : "cm to inches", "CMtoINCH.node_label": "cm to inches", "CMtoINCH.description" : "Convert centimeters to inches", "CMtoINCH.return_label" : "Assign the Output in Inches to a Number Variable", "CMtoINCH.CMInput.label" : "Centimeters to Convert to Inches"
-
Atualize a anotação CommandPkg. Faça o download dos ícones do Github.
- Faça o download de ruler_icon.svg do github, clique com o botão direito do mouse na imagem e salve a imagem como ruler_icon.svg.
- Faça o download de iconwhite.svg do github, clique com o botão direito do mouse na imagem e salve a imagem como iconwhite.svg.
-
Copie ambos os arquivos para a pasta src > main > resources > icons.
-
Abra o build.gradle na raiz do projeto. Após a seção de dependências, mas antes da última tag de fechamento, copie e cole o seguinte código:
test { testLogging { exceptionFormat = 'full' } useTestNG() {} afterSuite { desc, result -> if (!desc.parent) println("${result.resultType} " + "(${result.testCount} tests, " + "${result.successfulTestCount} successes, " + "${result.failedTestCount} failures, " + "${result.skippedTestCount} skipped)") } maxHeapSize "3g" }
-
Atualize o número da versão e remova as dependências que não são necessárias para seu projeto de build.gradle.
Nota: Versões de pacotes personalizados devem aderir às especificações do Controle de versões semânticas. Uma versão válida consiste em três números (
MAJOR.MINOR.PATCH
) separados por pontos (.
). Você pode opcionalmente incluir um identificador de pré-lançamento após a versãoPATCH
, separados por um hífen (-
). Sublinhados (_
) não são permitidos.Exemplos de versões de pacotes válidas:
-
2.0.2-20210701-202149
-
2.0.2
-
2.0.2-test-20210701-202149
-
-
Crie um novo diretório, clique com o botão direito do mouse em src e selecione Novo > Diretório.
- No campo Nome insira test\java, ou selecione a sugestão de test\java nos Conjuntos de fontes Gradle.
- Crie um novo pacote, clique com o botão direito do mouse no diretório java e selecione Novo > Pacote.
- Digite o nome do pacote recém-criado: metrictoimperial.commands.
-
Crie uma nova classe Java, clique com o botão direito do mouse e selecione Nova > Classe Java. Digite o nome para a nova classe CMtoINCHTest.
Dentro da classe CMtoINCHTest, copie e cole o seguinte código:
@Test public void testCMtoINCH(){ Double validInput = 10.00; Double expectedOutput = 0.393701 * validInput; CMtoINCH testCM = new CMtoINCH(); Value<Double> result = testCM.action(validInput); Assert.assertEquals(result.get(), expectedOutput); }
- Salve o projeto em Arquivo > Salvar tudo.
-
Crie o pacote.
Você pode usar a interface do usuário IntelliJ ou a linha de comando. Se você estiver usando a linha de comando:
- Abra uma janela de terminal e navegue até o diretório MetricToImperial.
- Para compilar o projeto, insira o seguinte comando: gradlew.bat clean build shadowJar
Uma mensagem COMPILAÇÃO COM SUCESSO é exibida.Às vezes, uma compilação pode falhar porque os arquivos existentes não puderam ser excluídos automaticamente e uma mensagem do sistema aparece indicando que a execução falhou para a tarefa: limpar. Se isso ocorrer, feche as janelas do Explorer e execute a compilação novamente.