Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spring-data-relational blueprint test failure #25391

Closed
1 task done
dwarakaprasad opened this issue Mar 3, 2024 · 3 comments · Fixed by #25392
Closed
1 task done

spring-data-relational blueprint test failure #25391

dwarakaprasad opened this issue Mar 3, 2024 · 3 comments · Fixed by #25392

Comments

@dwarakaprasad
Copy link
Contributor

Overview of the issue

spring-data-blueprint test fails with the following exception,

FAIL  generators/spring-data-relational/generator.spec.mjs > SubGenerator spring-data-relational of basepack JHipster blueprint > run
ReferenceError: /home/dwarka/develop/code/brmaStr/basepack/jhipster-basepack/node_modules/generator-jhipster/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs:90
   88| @EnableR2dbcRepositories({<%- domains.map(domain => `"${domain}.repository"`).join(', ') %>})
   89| <%_ } else { _%>
>> 90| @EnableJpaRepositories({<%- domains.map(domain => `"${domain}.repository"`).join(', ') %>})
   91| @EnableJpaAuditing(auditorAwareRef = "springSecurityAuditorAware")
   92| <%_ } _%>
   93| @EnableTransactionManagement

domains is not defined
❯ default.eval "/home/dwarka/develop/code/brmaStr/basepack/jhipster-basepack/node_modules/generator-jhipster/dist/generators/spring-data-relational/templates/src/main/java/_package_/config/DatabaseConfiguration.java.ejs":92:17
❯ DatabaseConfiguration.java node_modules/ejs/lib/ejs.js:703:17
❯ node_modules/ejs/lib/ejs.js:260:40
❯ tryHandleCache node_modules/ejs/lib/ejs.js:258:14
❯ Object.exports.renderFile node_modules/ejs/lib/ejs.js:491:10
❯ renderFile node_modules/mem-fs-editor/dist/util.js:65:16
❯ MemFsEditor.processFile node_modules/mem-fs-editor/dist/actions/copy-tpl-async.js:13:20
❯ MemFsEditor.applyProcessingFileFunc node_modules/mem-fs-editor/dist/actions/copy-async.js:10:54
❯ MemFsEditor._copySingleAsync node_modules/mem-fs-editor/dist/actions/copy-async.js:76:52
Motivation for or Use Case

It should be possible to extend spring-data-relational generator.

Reproduce the error

use the attached .yo-rc.json to generate a blueprint and you can see the failure.

Related issues

none

Suggest a Fix
JHipster Version(s)

8.1.0

JHipster configuration
.yo-rc.json file
{
  "generator-jhipster": {
    "additionalSubGenerators": "",
    "baseName": "basepack",
    "cli": true,
    "entities": [],
    "generators": {
      "spring-cloud-stream": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      },
      "spring-data-cassandra": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      },
      "spring-data-couchbase": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      },
      "spring-data-elasticsearch": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      },
      "spring-data-mongodb": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      },
      "spring-data-neo4j": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      },
      "spring-data-relational": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      },
      "spring-websocket": {
        "command": true,
        "priorities": [
          "initializing",
          "prompting",
          "configuring",
          "composing",
          "loading",
          "preparing",
          "configuringEachEntity",
          "loadingEntities",
          "preparingEachEntity",
          "preparingEachEntityField",
          "preparingEachEntityRelationship",
          "postPreparingEachEntity",
          "default",
          "writing",
          "writingEntities",
          "postWriting",
          "postWritingEntities",
          "loadingTranslations",
          "install",
          "postInstall",
          "end"
        ],
        "sbs": false,
        "written": true
      }
    },
    "jhipsterVersion": "8.1.0",
    "localBlueprint": false,
    "sampleWritten": true,
    "skipCommitHook": true,
    "subGenerators": [
      "spring-cloud-stream",
      "spring-data-cassandra",
      "spring-data-couchbase",
      "spring-data-elasticsearch",
      "spring-data-mongodb",
      "spring-data-neo4j",
      "spring-data-relational",
      "spring-websocket"
    ]
  }
}
Environment and Tools

openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment Temurin-17.0.8+7 (build 17.0.8+7)
OpenJDK 64-Bit Server VM Temurin-17.0.8+7 (build 17.0.8+7, mixed mode, sharing)

git version 2.34.1

node: v18.19.0
npm: 10.2.3

Docker version 25.0.3, build 4debf41

JDL for the Entity configuration(s) entityName.json files generated in the .jhipster directory
JDL entity definitions

Entity configuration(s) entityName.json files generated in the .jhipster directory
Browsers and Operating System
  • Checking this box is mandatory (this is just to show you read everything)
@mshima
Copy link
Member

mshima commented Mar 3, 2024

This part can be moved to Java generator:

loadDomains({ application, entities }) {
application.domains = [
...new Set([application.packageName, ...entities.map(entity => entity.entityAbsolutePackage).filter(Boolean)]),
];
},

and the relational generator can depend on Java or spring-boot

await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);

@dwarakaprasad
Copy link
Contributor Author

yup thanks for your review, will update.

@dwarakaprasad
Copy link
Contributor Author

This part can be moved to Java generator:

loadDomains({ application, entities }) {
application.domains = [
...new Set([application.packageName, ...entities.map(entity => entity.entityAbsolutePackage).filter(Boolean)]),
];
},

and the relational generator can depend on Java or spring-boot

await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION);

Done

mshima added a commit that referenced this issue Mar 7, 2024
…on server (#25392)

* modify spring-data-relational spec to run server generator

fixes #25391

* modify spring-data-relational spec to run server generator

fixes #25391

* add spring-boot dependency to spring-data-relational & refactor default priority

* refactor spring-data-relation dependency

* Apply suggestions from code review

* drop load domains from server

---------

Co-authored-by: Marcelo Shima <[email protected]>
@deepu105 deepu105 added this to the 8.2.0 milestone Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants