UNPKG

leds-spark-lib

Version:

Biblioteca de geração de código

127 lines (103 loc) 3.45 kB
import { expandToStringWithNL } from "../../models/model.js"; import fs from "fs"; import path from "path"; export function generate(model, target_folder) { fs.mkdirSync(target_folder, { recursive: true }); if (model.configuration) { fs.writeFileSync(path.join(target_folder, 'README.md'), createProjectReadme(model.configuration)); fs.writeFileSync(path.join(target_folder, '.gitlab-ci.yml'), createGitlab()); } } function createGitlab() { return expandToStringWithNL ` variables: CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest stages: - build-entity - build-webservice - release-webservice maven-build: stage: build-entity image: maven:latest script: - cd entity - mvn deploy -s settings.xml -DskipTests build-webservice: stage: build-webservice image: docker:20.10.16 services: - docker:20.10.16-dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - cd webservice - docker build --pull -t $CONTAINER_TEST_IMAGE . - docker push $CONTAINER_TEST_IMAGE release-master-webservice: stage: release-webservice image: docker:20.10.16 services: - docker:20.10.16-dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - cd webservice - docker pull $CONTAINER_TEST_IMAGE - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE - docker push $CONTAINER_RELEASE_IMAGE only: - main release-dev-webservice: stage: release-webservice script: - cd webservice - docker pull $CONTAINER_TEST_IMAGE - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_TEST_IMAGE - docker push $CONTAINER_TEST_IMAGE only: - dev `; } function stackREADME() { return expandToStringWithNL ` 1. Spring Boot 3.0 2. Spring Data Rest 3. Spring GraphQL `; } function createProjectReadme(configuration) { return expandToStringWithNL ` # ${configuration.name} ## 🚀 Goal ${configuration.description} ## 📕 Domain Documentation Domain documentation can be found [here](./docs/README.md) ## ⚙️ Requirements 1. Postgresql 2. Java 17 3. Maven ## ⚙️ Stack ${stackREADME()} ## 🔧 Install 1) Create a database with name ${configuration.name} with **CREATE DATABASE ${configuration.name}**. 2) Run the command to start the webservice and create table of database: \`\`\`bash mvn Spring-boot:run \`\`\` ## Debezium Go to folder named *register* and performs following command to register in debezium: \`\`\`bash curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" http://localhost:8083/connectors/ -d @register-sro.json \`\`\` To delete, uses: \`\`\`bash curl -i -X DELETE localhost:8083/connectors/sro-connector/ \`\`\` ## 🔧 Usage * Access [http://localhost:8081](http://localhost:8081) to see Swagger * Access [http://localhost:8081/grapiql](http://localhost:8081/grapiql) to see Graphql. `; } export { createProjectReadme, stackREADME, createGitlab }; //# sourceMappingURL=generators.js.map