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

Add hello-world and todo-mvc Quarkus examples (500USD bounty) #3549

Open
lihaoyi opened this issue Sep 15, 2024 · 9 comments
Open

Add hello-world and todo-mvc Quarkus examples (500USD bounty) #3549

lihaoyi opened this issue Sep 15, 2024 · 9 comments
Labels

Comments

@lihaoyi
Copy link
Member

lihaoyi commented Sep 15, 2024


From the maintainer Li Haoyi: I'm putting a 500USD bounty on this issue, payable by bank transfer on a merged PR implementing this.


Mill's example test suite has examples for hello-world and todo-mvc projects using in Java using Spring-Boot and Micronaut built using Mill (https://github.com/com-lihaoyi/mill/tree/main/example/javalib/web). They're not super fleshed out, but they exist.

We should add similar hello-world/todo-mvc examples for the Quarkus web framework, which according to the IntelliJ dev survey is relatively popular (between Spring-Boot and Micronaut https://www.jetbrains.com/lp/devecosystem-2023/java/)

@lihaoyi lihaoyi added the bounty label Sep 15, 2024
@lolgab
Copy link
Member

lolgab commented Sep 16, 2024

I'm giving a shot to this.

@lolgab
Copy link
Member

lolgab commented Sep 17, 2024

quarkus, in its maven and gradle plugins, does some code generation which seems to be necessary to create the main method to run applications. I'm going to create a contrib module to mimic what we need from the Maven plugin.
Another missing thing which would be nice to have, is support for pom artifacts to centralize the version management for a framework.
In quarkus you add:

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-bom</artifactId>
        <version>${quarkus.platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

And then you can add dependencies without setting the version, which will be automatically derived from the pom in quarkus-bom. I think this could be a nice addition to mill (maybe we could have dependencies like ivy"groupid:artifactid" without version, and derive the version from the pom artifacts.
But I'm not going to work on this in the scope of quarkus.

@lefou
Copy link
Member

lefou commented Sep 17, 2024

The import-scope Maven dependencies are called BOM - Bill of Material. There are open requests for it in Mill and coursier:

I think @alexarchambault will work on it in the next months (#3496).

@llvee
Copy link

llvee commented Sep 23, 2024

@lolgab Did you complete this? If not maybe I will give this a shot in 24 hours from now.

@lolgab
Copy link
Member

lolgab commented Sep 23, 2024

I haven't completed it yet.

@llvee
Copy link

llvee commented Sep 23, 2024

@lolgab Would you like some help with it? Have you made a lot of progress?

@omarsoufiane

This comment was marked as off-topic.

@llvee
Copy link

llvee commented Oct 14, 2024

@lolgab Have you made any new progress on this?

@lolgab
Copy link
Member

lolgab commented Oct 14, 2024

No, I haven't. Feel free to work on it 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants