{"id":17280839,"url":"https://github.com/lefou/mill-vaadin","last_synced_at":"2026-02-17T07:33:32.212Z","repository":{"id":59251048,"uuid":"330917185","full_name":"lefou/mill-vaadin","owner":"lefou","description":"WIP mill plugin to support Vaadin projects","archived":false,"fork":false,"pushed_at":"2025-01-22T17:04:01.000Z","size":1590,"stargazers_count":1,"open_issues_count":19,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T23:02:20.025Z","etag":null,"topics":["mill","mill-module","mill-plugin","scala","vaadin"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lefou.png","metadata":{"files":{"readme":"Readme.adoc","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"lefou"}},"created_at":"2021-01-19T08:47:02.000Z","updated_at":"2025-01-22T17:04:06.000Z","dependencies_parsed_at":"2023-02-08T09:15:19.402Z","dependency_job_id":"6dc2fb30-b130-4f65-9b87-ab6c8a131bff","html_url":"https://github.com/lefou/mill-vaadin","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefou%2Fmill-vaadin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefou%2Fmill-vaadin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefou%2Fmill-vaadin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lefou%2Fmill-vaadin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lefou","download_url":"https://codeload.github.com/lefou/mill-vaadin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248855960,"owners_count":21172673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mill","mill-module","mill-plugin","scala","vaadin"],"created_at":"2024-10-15T09:22:09.351Z","updated_at":"2025-10-13T23:39:59.584Z","avatar_url":"https://github.com/lefou.png","language":"Scala","funding_links":["https://github.com/sponsors/lefou"],"categories":[],"sub_categories":[],"readme":"= Plugin to Build Vaadin Application with the Mill Build Tool\n:version: 0.0.4\n\nThis is an experimental project to build Vaadin Applications with the https://github.com/com-lihaoyi/mill[Mill Build Tool].\n\n== Early stage\n\nIn this early stage we just try to build a Vaadin Application _somehow_.\nThat means, we don't follow design concepts typically used in Mill, but instead re-use some shared Vaadin Build Tooling (also used by latest Maven and Gradle plugins) and also use the same directory layout. This means, _we can't use Mills efficient up-to-date checking and caching capabilities_.\n\nThe reason for this is easy: Vaadin used various tools and also often changes these tools. Some of these tools are simple not designed for being used in isolation (e.g. node/npm/pnpm), and other still have some hardcoded path.\n\nOnce we are able to build Vaadin applications in a robust way, I will try to move more and more parts into well-designed and isolated targets. This will be most likely a laborious and incremental path. Any contribution are very welcome!\n\n== Next steps\n\n=== Separate `development` builds from `production` builds\n\nThe idea is to have two separated Mill modules, e.g. a `prod` submodule.\n\nAs `development` builds will closely work based on node.js, we will make these the default (and only) mode.\n\nProduction builds will be slower and don't need to watch their sources for changes, so we can copy all relevant files to a dedicated location (`prod` sub-module), where we run the build in production mode.\n\n=== Select Vaadin version\n\nAs Vaadin build plugins are highly coupled to their release version, we need to make the version configurable. This is already prepared in the worker, but currently the used version is fixed.\n\n== Download\n\nOnce, released, mill-vaadin will be available from Maven Central.\n\n== Usage\n\n.`build.sc`\n[source,scala,subs=\"attributes,verbatim\"]\n----\nimport $ivy.`de.tototec::de.tobiasroeser.mill.vaadin::{version}`\n\nimport de.tobiasroeser.mill.vaadin.VaadinModule\n\nobject foo extends JavaModule with VaadinModule\n----\n\n== Configuration / Documentation\n\nTo stay compatible with Gradle and Maven, our Vaadin project should have the same `src/main/{java,resources}`-layout. For convenience, you can use `mill.scalalib.MavenModule` instead of (or in addition too) `mill.scalalib.JavaModule` (or for Scala: `mill.scalalib.SbtModule` for `mill.scalalib.ScalaModule`), which already used this layout.\n\nTo\n\n== License\n\nThis project is published under the Apache License, Version 2.0.\n\n== Supporters\n\nThe development of this plugin was initiated and sponsored by https://iba-cg.de/[iba Consulting Gesellschaft mbH \u0026 Co KG].\n\n\n== Changelog\n\n=== mill-vaadin 0.0.4 - 2023-06-12\n\n* Added support for Mill API 0.11\n* Update Vaadin Flow tooling to 23.3.12\n* Various internal version bumps\n\n=== mill-vaadin 0.0.3 - 2023-03-08\n\n* Added support for Mill 0.11.0-M4\n* Updated Vaadin tooling to 23.3.4\n\n=== mill-vaadin 0.0.2 - 2022-09-29\n\n* Made use of `pnpm` configurable\n\n=== mill-vaadin 0.0.1 - 2022-09-21\n\nEarly development stage.\n\nWe just try to build a Vaadin Application _somehow_.\nThat means, we don't follow design concepts typically used in Mill, but instead re-use some shared Vaadin Build Tooling (also used by latest Maven and Gradle plugins) and also use the same directory layout.\nThis means, _we can't use Mills efficient up-to-date checking and caching capabilities_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flefou%2Fmill-vaadin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flefou%2Fmill-vaadin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flefou%2Fmill-vaadin/lists"}