GithubHelp home page GithubHelp logo

jhipster / generator-jhipster-quarkus Goto Github PK

View Code? Open in Web Editor NEW
135.0 20.0 52.0 3.16 MB

Quarkus blueprint for JHipster

Home Page: https://www.jhipster.tech/blueprints/quarkus/

License: Apache License 2.0

JavaScript 10.70% Shell 0.02% EJS 89.24% TypeScript 0.04%
jhipster quarkus hacktoberfest

generator-jhipster-quarkus's Introduction

JHipster Quarkus Blueprint

NPM version Dependency StatusGenerator CIImperative Smoke Tests Native image builds

JHipster Quarkus Family Member

Introduction

This is a JHipster blueprint, that is meant to be used in a JHipster application.

Demo

Because a code worth a 1k words here your have sample JHipster Quarkus repositories

Prerequisites

As this is a JHipster blueprint, we expect you have JHipster and its related tools already installed:

Installation

To install or update this blueprint:

npm install -g generator-jhipster-quarkus

Usage

To use this blueprint, run the command below:

jhipster-quarkus

Or, you can use:

jhipster --blueprints quarkus

You can look for updated quarkus blueprint specific options by running

jhipster app --blueprints quarkus --help

And looking for (blueprint option: quarkus) like

Pre-release

To use an unreleased version, install it using git.

npm install -g jhipster/generator-jhipster-quarkus#main
jhipster --blueprints quarkus --skip-jhipster-dependencies

🚦 Blueprint features:

βœ… Generate App generation: jhipster-quarkus

βœ… Entity generation: jhipster-quarkus entity <entity-name>

βœ… JDL import: jhipster-quarkus jdl sample.jh

❀️ for community

Interested in contributing? Check out JHipster contributing guide to get started.

Running local Blueprint version for development

During development of blueprint, please note the below steps. They are very important.

  1. Link your blueprint globally

    cd generator-jhipster-quarkus
    npm link
    
  2. Link the development version of JHipster to your blueprint (optional: required only if you want to use a non-released JHipster version, like the master branch or your own custom fork)

    cd generator-jhipster
    npm link
    
    cd quarkus
    npm link generator-jhipster
    
  3. Create a new folder for the app to be generated and link JHipster and your blueprint there

    mkdir my-app && cd my-app
    
    npm link generator-jhipster-quarkus
    npm link generator-jhipster (Optional: Needed only if you are using a non-released JHipster version)
    
    npx jhipster-quarkus
    

License

Apache-2.0

generator-jhipster-quarkus's People

Contributors

agoncal avatar antmordel avatar avdev4j avatar danielfran avatar danielpetisme avatar dependabot[bot] avatar emilpaw avatar inngvar avatar jhipster-bot avatar joewhite101 avatar lwitkowski avatar mraible avatar mshima avatar nesterenko-a avatar pascalgrimaud avatar qmonmert avatar vektory79 avatar vishal423 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

generator-jhipster-quarkus's Issues

Machine friendly exceptions

JHipster Spring integrates Zalando problems (more precisely the spring version of the lib) to transform Java exception into machine readable exceptions (ie. HTTP status code + a JSON document).

Quarkus does not provide out of the box such feature. The objective is to emulate the same behavior (or simply try to integrate the vanilla Zalando problem lib) in order to be pluggable to the default front applications.

Quarkus reactive programming support

Quarkus proposes a neat reactive programming model (which can be used side by side with the imperative model).

The objective is to propose to the user to choose the programming model and generate the according templates.

Change default branch from master to main

According to this ticket jhipster/generator-jhipster#11935, we need to change the name of the main branch.

[X] create branch main from master
[X] define main branch as default
[X] protect main
[X] edit existing pull requests

As contributor what should I do?

  • Run git fetch to get the main branch back and git push to update your remote fork.
  • If I have an opened pull-request?
    Nothing to do, all PR have been edited to target main branch.
  • If I have a work in progress?
    If your branch has been created from master please rebase from main, in case commits have been added to it. When you will open the PR GitHub will automatically choose the main branch for you.
  • And what about future branches?
    Create new branches from "main" instead of "master". You can delete "master" branch on your fork as it will no been used or updated anymore.
  • What about my forked project?
    To update you fork please run this commands:
git fetch
git checkout main
git push --set-upstream origin main

And go to your GitHub repository then Settings -> Branches and change the default branch to main
Capture d’écran 2020-10-12 aΜ€ 10 39 24

If you dealing with issues, open a ticket by following our guidelines. We'll try to help you.

cc @danielpetisme @joewhite101

User Management API

Is your feature request related to a problem? Please describe.
Provide a Quarkus implementation of the User Management API.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Support embedded h2

Is your feature request related to a problem? Please describe.
Allow users of the blueprint to select embedded h2 as a database

Example and instructions
https://quarkus.io/guides/datasource

Describe the solution you'd like
Embedded h2 database works as a datasource and is correctly configured in your quarkus app after running the blueprint

Describe alternatives you've considered
N/A

Additional context
https://quarkus.io/guides/datasource

Configure Maven to package the client app with Quarkus backend

Is your feature request related to a problem? Please describe.
As for now, the frontend application is generated in src/main/resources/webapp but not take into account by Quarkus.

Describe the solution you'd like
Update the maven pom.xml to trigger the client app building (with prod profile) when running mvn package.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Native testing support

Is your feature request related to a problem? Please describe.
While generating a native executable, the generated project does not provide a support for native executable testing.

This absence of testing is based on 2 limitations:

  • Failsafe 3.0.0-M4 does not detect the native test method ( as for now I don't know if it's due to Quarkus or failsafe)
  • Native testing does not support @Inject and the whole test strategy relies on a liquibase injection reseting the test DB before each test.

Describe the solution you'd like
Native testing should focus on testing the executable only without coupling to the Databse thus no injection.

Describe alternatives you've considered
Manua testing

Additional context
Add any other context or screenshots about the feature request here.

Update to Quarkus 1.7.1

Is your feature request related to a problem? Please describe.

Get to quarkus latest release

Describe the solution you'd like
Update to 1.7.1 and make sure all the tests pass

Describe alternatives you've considered
N/A

Additional context
N/A

Update repo name to follow the conventions

Describe the bug
The GitHub repository should be generator-jhipster-quarkus instead of jhipster-quarkus.

Additional context
It could help the generator to be correctly indexed on npm repository and on JHipster website (all generators that stat by generator-jhipster-XXX).

Caching

JHipster Spring proposes to use a dedicated caching solution (hazelcast, ehcache, etc).
As for now, Quarkus only supports infinispan.

The objective is to permit the user to choose between the default Hibernate 2nd level caching or infinispan.

[v7] Update Vue health checks screens

When the following PR #93 will be merged we need to rebase the v7 branch and update Vue screens just like we did in the original PR.

Vue is only available on JHipster master branch while we don't released a first JHipster 7 version.

Support Gradle as a build tool in the Quarkus blueprint

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Support JPA Filtering

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Creating a quarkus project without a client fails to start

Describe the bug
When creating a quarkus project without a client the maven project fails to start. The project should support generation without a client.

To Reproduce
Steps to reproduce the behavior:

  1. Run jhipster --blueprints quarkus
  2. When prompted for client select `none'.
  3. Run ./mvnw

Get error:

/opt/quarkusBpExample$ ./mvnw
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'build.plugins.plugin.version' for com.github.eirslett:frontend-maven-plugin must be a valid version but is '${frontend-maven-plugin.version}'. @ line 211, column 30
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project com.mycompany.myapp:quarkus-bp-example:1.0.0-SNAPSHOT (/opt/quarkusBpExample/pom.xml) has 1 error
[ERROR]     'build.plugins.plugin.version' for com.github.eirslett:frontend-maven-plugin must be a valid version but is '${frontend-maven-plugin.version}'. @ line 211, column 30
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

Expected behavior
Quarkus JHipster can generate without a client.

Screenshots

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context
Running on master as of ticket opening

Update local dev instructions

Describe the bug
There is a very small typo in the README around a cd command. This is to fix the type

To Reproduce
View npm link instructions

Expected behavior
Instructions have the right command

Screenshots
N/A

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

No-SQL Support

Quarkus proposes a MongoDB support.

The objective is to let the user choose MongoDB as data store and generate the according templates.

Data migration for Entities

Overview of the issue

Creating flyway scripts for entities migration

Motivation for or Use Case

Write now entities are being failed because there is no related table being generated in DB

Link to PR (if any)

#11

  • [ * ] Checking this box is mandatory (this is just to show you read everything)

Support sorting for entities

Is your feature request related to a problem? Please describe.
Sorting not working

Describe the solution you'd like
Sorting is working

Use Java11 by default

Is your feature request related to a problem? Please describe.
Java8 is EOL end of 2020, plus you can't pretend to be a hipster if you're still on Java8

Describe the solution you'd like
Use Java11 and the related language feature rather than Java 8

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Waiting for this PR
quarkusio/quarkus#5691

after creating app without database, tests are not working

After creating Quarkus application without a database and cache layer, tests are not working because liqubase config file is not presented

Just run below
mvn test

and the logs here :

[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.mycompany.myapp.web.rest.UserJWTControllerTest
[INFO] H2 database started in TCP server mode; server status: TCP server running at tcp://127.0.1.1:9092 (only local connections)
2020-09-02 11:43:15,081 INFO  [io.agr.pool] (main) Datasource '<default>': Initial size smaller than min. Connections will be created when necessary
2020-09-02 11:43:15,244 ERROR [io.qua.application] (main) Failed to start application: java.lang.IllegalStateException: liquibase.exception.ChangeLogParseException: config/liquibase/master.xml does not exist
        at io.quarkus.liquibase.runtime.LiquibaseRecorder.doStartActions(LiquibaseRecorder.java:89)
        at io.quarkus.deployment.steps.LiquibaseProcessor$configureRuntimeProperties41.deploy_0(LiquibaseProcessor$configureRuntimeProperties41.zig:98)
        at io.quarkus.deployment.steps.LiquibaseProcessor$configureRuntimeProperties41.deploy(LiquibaseProcessor$configureRuntimeProperties41.zig:36)
        at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:179)
        at io.quarkus.runtime.Application.start(Application.java:89)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:177)
        at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:151)
        at io.quarkus.test.junit.QuarkusTestExtension.ensureStarted(QuarkusTestExtension.java:278)
        at io.quarkus.test.junit.QuarkusTestExtension.beforeAll(QuarkusTestExtension.java:301)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$7(ClassBasedTestDescriptor.java:359)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:359)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:189)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:78)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:132)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:248)
        at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211)
        at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:154)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:127)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
        at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Caused by: liquibase.exception.ChangeLogParseException: config/liquibase/master.xml does not exist
        at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:106)
        at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:15)
        at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:217)
        at liquibase.Liquibase.validate(Liquibase.java:1559)
        at io.quarkus.liquibase.runtime.LiquibaseRecorder.validate(LiquibaseRecorder.java:131)
        at io.quarkus.liquibase.runtime.LiquibaseRecorder.doStartActions(LiquibaseRecorder.java:73)
        ... 49 more

[INFO] H2 database was shut down; server status: Not started
[ERROR] Tests run: 3, Failures: 0, Errors: 1, Skipped: 2, Time elapsed: 6.777 s <<< FAILURE! - in com.mycompany.myapp.web.rest.UserJWTControllerTest
[ERROR] com.mycompany.myapp.web.rest.UserJWTControllerTest.testAuthorizeFails  Time elapsed: 0.011 s  <<< ERROR!
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.IllegalStateException: liquibase.exception.ChangeLogParseException: config/liquibase/master.xml does not exist
Caused by: liquibase.exception.ChangeLogParseException: config/liquibase/master.xml does not exist

Integrate Zalando problems

Is your feature request related to a problem? Please describe.

  1. JHipster frontend required some predefined JSON documents representing server errors
  2. JAX-RS does not provide an Exception-to-JSON system

Describe the solution you'd like
Beside spring-zalando-problem, Zalando provides also a vanilla lib. Thanks to JAX-RS exception mapping feature, it's not that hard to build this Exception-to-JSON layer.

Describe alternatives you've considered
None

Additional context
Add any other context or screenshots about the feature request here.

Gradle integration

Is your feature request related to a problem? Please describe.
Gradle is an official option for JHipster, it must be implemented just as Maven is.

Describe the solution you'd like
Being able to build a generated application with Gradle.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
See #23

Add Auth 2.0 / OIDC Support

Is your feature request related to a problem? Please describe.

Please add OAuth 2.0 / OIDC support. This should be similar to our Spring Boot support in that it does login (on a monolith and gateway) and allows it to act as a resource server as well (for React Native and Ionic apps).

Describe the solution you'd like

I'd like to be able to choose OAuth 2.0 / OIDC for authentication, create some entities, start the app, and run npm run e2e to see all the tests pass.

This is the JDL I used to test Micronaut:

application {
  config {
    baseName blog,
    applicationType monolith,
    packageName com.jhipster.demo.blog,
    prodDatabaseType mysql,
    authenticationType oauth2,
    cacheProvider hazelcast,
    buildTool maven,
    useSass true,
    testFrameworks [protractor]
  }
  entities *
}

entity Blog {
  name String required minlength(3)
  handle String required minlength(2)
}

entity Post {
  title String required
  content TextBlob required
  date Instant required
}

entity Tag {
  name String required minlength(2)
}

relationship ManyToOne {
  Blog{user(login)} to User
  Post{blog(name)} to Blog
}

relationship ManyToMany {
  Post{tag(name)} to Tag{entry}
}

paginate Post, Tag with infinite-scroll

Support AWS lamda for microservice selection

Is your feature request related to a problem? Please describe.
If a user selects microservice for the type of application we could support allowing that microservice to be built and deployed to AWS as a lambda using the quarkus extension.

https://quarkus.io/guides/amazon-lambda
https://quarkus.io/guides/amazon-lambda-http

Describe the solution you'd like
The entities that the user creates would create the lambda endpoints and suppress the creation of non-lambda endpoints

Describe alternatives you've considered

Additional context
https://quarkus.io/guides/amazon-lambda
https://quarkus.io/guides/amazon-lambda-http

Native prod build doesn't include the front end

Describe the bug
When doing a native build the front end should be available as part of the build. Currently reported that the FE isn't available in a native prod build. From discussion here (#71)

To Reproduce
Generate project, add entities, run native prod build, start it up.

Expected behavior
JHipster frontend is available in the same fashion as the SpringBoot builds.

Screenshots

Desktop (please complete the following information):

Additional context
See also: #71

Database Authentication

Jhipster has an open endpoint to authenticate the user. The user provides credentials then thanks to the AuthenticationManagerBuilder and an application defined UserDetailService Spring do the authentication. Once successfully authenticated, the application forges a JWT which then be used by the frontend for the next request.

Quarkus authentication extension are exclusive, either you use the Database one or MP-JWT but as for now you can reproduce easiliy this kind of flow, so let's be creative πŸ˜„

Entity update fails with empty values

Describe the bug
Failed to update entity if it have empty value

To Reproduce

  1. import jdl like
entity Owner{
    user String unique required minlength(3) maxlength(128)
}

entity Person {
   name String required
    lastName String required
    middleName String required
    birthDate LocalDate required
    gender Gender required
    role String
}
relationship ManyToOne{	
    Person{owner(user) required} to Owner
    Person{ownerLink(user)} to Owner
}
  1. Try to update Person record setting ownerLink to empty value

Expected behavior
Entity updated

OpenAPI/SwaggerUI

Simply integrate the Quarkus built-in OpenAPI/SwaggerUI into JHipster web pages.

Add a health check endpoint to the quarkus apps

Is your feature request related to a problem? Please describe.
Enable microprofile health checking by default in quarkus generated apps

https://quarkus.io/guides/microprofile-health
Some design is also required to support the creation of a page dedicated to integrating the checks.

Describe the solution you'd like
JHipster health checks are supported in quarkus or a health check solution is included in the generated app

Describe alternatives you've considered
N.A

Additional context

Support task questions

Hi @danielpetisme ,
I would you like to contribute to this blueprint, I use already quarkus for my projects.
If you want, you can assigne me some issues. Thanks

Deprecation warning on some choices

Describe the bug
When running the blueprint in some cases the user will get:

WARNING! Deprecated: JHipster seems to be invoked using Yeoman command. Please use the JHipster CLI. Run jhipster <command> instead of yo jhipster:<command>

To Reproduce
Run on master. Select the choices below.

? Would you like to use Maven or Gradle for building the backend? Maven
WARNING! Deprecated: JHipster seems to be invoked using Yeoman command. Please use the JHipster CLI. Run jhipster <command> instead of yo jhipster:<command>
? Which *Framework* would you like to use for the client? No client
     info Using blueprint generator-jhipster-quarkus for common subgenerator
WARNING! Deprecated: JHipster seems to be invoked using Yeoman command. Please use the JHipster CLI. Run jhipster <command> instead of yo jhipster:<command>
? Would you like to enable internationalization support? Yes
? Please choose the native language of the application English
? Please choose additional languages to install 
WARNING! Deprecated: JHipster seems to be invoked using Yeoman command. Please use the JHipster CLI. Run jhipster <command> instead of yo jhipster:<command>

Expected behavior
No warnings

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context
Add any other context about the problem here.

Roadmap to add Quarkus blueprint to official blueprints page on the website

Is your feature request related to a problem? Please describe.

It would be great to see the Quarkus blueprint on the Officially Supported Blueprints page: https://www.jhipster.tech/modules/official-blueprints/

Is there a feature set that is missing that we should add to the blueprint to get it added or is it just a matter of adding a PR to the github.io project?

Describe the solution you'd like
Make the required changes to get it posted

Describe alternatives you've considered
N/A

Additional context
N/A

Audit

JHipster Spring proposes an Audit configuration and UI which is pretty neat.

As for now, Quarkus does not have any alternative so let's be creative πŸ˜„

Application docker support

Is your feature request related to a problem? Please describe.
The generator provide the standard Quarkus Dockerfile and also generate the classic JHipster docker files.

Describe the solution you'd like
The blueprint should merge and clean Docker files tailored for Quarkus.

Describe alternatives you've considered
N/A

Additional context
N/A

Regenerate and add sample project to CI

Is your feature request related to a problem? Please describe.
The sample project should be updated to a newer version and added to CI (see instructions here #68)

Describe the solution you'd like
Project includes CI on commits and is integrated with Sonar

Describe alternatives you've considered
N/A
Additional context
N/A

Use @Transactional properly in test methods

Is your feature request related to a problem? Please describe.
When a test is annotated @Transactional the data is not commited into the DB thus not visible in the application under test.

Describe the solution you'd like
The objective is to use @Transactional smoothly without any hacks.

Describe alternatives you've considered
The current solution is to manually manage the transaction

Additional context
quarkusio/quarkus#6536

Support Metrics Page

Is your feature request related to a problem? Please describe.
Jhipster generated interface has /admin/metrics page, but it didn't work

Describe the solution you'd like
Metrics page works

Gracefully manage the exception when anonymous user hitting /api/account

Is your feature request related to a problem? Please describe.
As for now, when a user an anonymous user hits the application homepage it generates a NPE and an ugly stack trace in the appplication logs.

https://github.com/jhipster/jhipster-quarkus/blob/master/generators/server/templates/quarkus/src/main/java/package/web/rest/AccountResource.java.ejs#L147
/api/account is not restricted, a not authenticated users can request this endpoint. The issue is that the SecurityContext does not have any User principal loaded since the user is not authenticated thus invoking getName on a null user principal throws an NPE.

Resteasy does not know how to to serialize this NPE and crash with a stack trace printed in the logs.

Describe the solution you'd like
Since the /api/account endpoint will be hitted by anonynous user by construction (this is the way the SPA works, the stack trace should be properly managed to prevent to scare the developer

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Active Record pattern

Quarkus Hibernate Panache proposes the active record and repository patterns.
Currently only the repository pattern is implemented (because it was the easiest one to duplicate from a JHipster Spring).

The objective is to proposes a new prompt to the user to choose between the 2 patterns and update the templates to generate active records.

Pagination

Quarkus does not provide out of the box support for Web pagination and does it for the data layer (https://quarkus.io/guides/hibernate-orm-panache#paging).

The objective is to propose a way to intercept the request query string and convert the default page, size argument used by the frontend into a Quarkus Page for the data layer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.