{"id":19736138,"url":"https://github.com/arnauld/sbt-vaadin-plugin","last_synced_at":"2025-04-30T04:32:01.018Z","repository":{"id":138358141,"uuid":"2132951","full_name":"Arnauld/sbt-vaadin-plugin","owner":"Arnauld","description":"A simple SBT plugin for Vaadin","archived":false,"fork":false,"pushed_at":"2011-11-27T12:02:26.000Z","size":93,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-16T07:09:28.709Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arnauld.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-07-31T16:41:06.000Z","updated_at":"2015-02-06T09:45:25.000Z","dependencies_parsed_at":"2023-03-13T10:54:19.597Z","dependency_job_id":null,"html_url":"https://github.com/Arnauld/sbt-vaadin-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnauld%2Fsbt-vaadin-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnauld%2Fsbt-vaadin-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnauld%2Fsbt-vaadin-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnauld%2Fsbt-vaadin-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arnauld","download_url":"https://codeload.github.com/Arnauld/sbt-vaadin-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224197978,"owners_count":17271999,"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":[],"created_at":"2024-11-12T01:05:26.064Z","updated_at":"2024-11-12T01:05:26.580Z","avatar_url":"https://github.com/Arnauld.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"Warning! New Usage\n=======================\n\n`0.0.2-SNAPSHOT` change:\n\nThe new version (still snapshot) of the plugin has been build with sbt `0.11.1` and scala `2.9.1`. \nUnfortunately sbt team has one more time change the way the plugins are packaged. \nFurther more the siasia's `xsbt-web-plugin` has also changed, and requires some configuration change to\nmake it work.\n\nHere is the result of my two hours pain to make the new version plugin work:\n\n## in `build.sbt`: \n\n*  `jettyPort` has been replaced by `port` \n* `jetty` configuration has been replaced by a more generic `container` \n\nthus one should have now:\n\n```scala\nscalaVersion := \"2.9.1\"\n\nseq((webSettings ++ vaadinSettings ++ Seq(\n  port := 8081,\n  vaadinWidgetSet := \"scalaadin.gwt.CombinedWidgetset\"\n)) :_*)\n```\n\nand within the dependencies:\n\n```scala\nlibraryDependencies ++= Seq(\n  ...\n  // jetty\n  \"org.eclipse.jetty\" % \"jetty-server\" % \"7.4.2.v20110526\" % \"container;provided\",\n  \"org.eclipse.jetty\" % \"jetty-webapp\" % \"7.4.2.v20110526\" % \"container;provided\",\n  \"org.eclipse.jetty\" % \"jetty-servlet\" % \"7.4.2.v20110526\" % \"container;provided\",\n  \"javax.servlet\" % \"servlet-api\" % \"2.5\" % \"provided-\u003edefault\",\n  ...\n  //test\n  \"org.scala-tools.testing\" %% \"specs\" % \"1.6.9\" % \"test\",\n  ...\n)\n```\n\n## in `project/plugins/build.sbt`:\n\nSimilar to the `%%` that automatically bind the scala version, plugins are now tied to sbt version.\nFor such plugins, the standard way is to now use the `addSbtPlugin` directive to add dependency\non such plugins. `xsbt-web-plugin` use a non standard approach, so it requires a special management.\n\n```scala\n// remove this once plugins are working\nretrieveManaged := true // and the dependencies will be copied to lib_managed as a build-local cache\n\nresolvers ++= Seq(\n  \"Web plugin repo\" at \"http://siasia.github.com/maven2\",\n  \"Arnauld\" at \"https://github.com/Arnauld/arnauld.github.com/raw/master/maven2\"\n)\n\naddSbtPlugin(\"org.technbolts\" % \"sbt-vaadin-plugin\" %  \"0.0.2-SNAPSHOT\")\n\nlibraryDependencies \u003c++= (sbtVersion) { (sbt_ver) =\u003e\n    Seq(\"com.github.siasia\" %% \"xsbt-web-plugin\" % (sbt_ver+\"-0.2.10\"))\n}\n```\n\nUsage: 0.01-SNAPSHOT\n====================\n\nAdd the plugin to your project in `project/plugins/build.sbt`:\n\n    resolvers += \"Arnauld\" at \"https://github.com/Arnauld/arnauld.github.com/raw/master/maven2\",\n\ne.g.\n\n    resolvers ++= Seq(\n      \"Web plugin repo\" at \"http://siasia.github.com/maven2\",\n      \"Arnauld\" at \"https://github.com/Arnauld/arnauld.github.com/raw/master/maven2\"\n    )\n\n    libraryDependencies \u003c++= sbtVersion({ sbt_version:String =\u003e \n        Seq(\"com.github.siasia\" %% \"xsbt-web-plugin\" % sbt_version,\n            \"org.technbolts\" %% \"sbt-vaadin-plugin\" %  \"0.0.1-SNAPSHOT\")})\n\n\nAdd the Web and Vaadin settings to your project in `build.sbt`:\n\ne.g.\n\n    seq((webSettings ++ vaadinSettings ++ Seq(\n      jettyPort := 8081,\n      vaadinWidgetSet := \"scalaadin.gwt.CombinedWidgetset\",\n    )) :_*)\n\n\nThis override the jetty port, and define the name of the `widgetset`\n\nTo generate the widgetset used by vaadin\n\n    sbt\u003e vaadin-generate-widgetset\n    ...\n\nAccording to the settings, this will generate `scalaadin/gwt/CombinedWidgetset.gwt.xml` in `src/main/resources`\n\nTo compile the widgetset\n\n    sbt\u003e vaadin-compile-widgetset\n    ...\n\nAccording to the settings, this will generate all GWT files in `src/main/webapp/VAADIN/`\n\n\nSettings (all plugin versions)\n==============================\n\n* `gwtVersion` by default `2.3.0`\n* `vaadinVersion` by default `6.6.3`\n* `vaadinWidgetSet` the name of the combined widget set that aggregates all widgetset found in the classpath to a single one.\n* `vaadinClientWidgetSetDestination` define where GWT compiles the widget, by default on `src/main/webapp/VAADIN/widgetsets`\n\nExample:\n\n    seq((webSettings ++ vaadinSettings ++ Seq(\n      jettyPort := 8081,\n      vaadinWidgetSet := \"scalaadin.gwt.CombinedWidgetset\",\n      vaadinVersion := \"6.6.3\"\n    )) :_*)\n\n\nVaadin\n------\n\nIn order to use the widgetset, one must override the default widgetset used by Vaadin.\nIn `web.xml` add the widgetset declaration\n\n    \u003cinit-param\u003e\n        \u003cparam-name\u003ewidgetset\u003c/param-name\u003e\n        \u003cparam-value\u003escalaadin.gwt.CombinedWidgetset\u003c/param-value\u003e\n    \u003c/init-param\u003e\n\ne.g.\n\n    ...\n    \u003cservlet\u003e\n        \u003cservlet-name\u003eScalaadinApplication\u003c/servlet-name\u003e\n        \u003cservlet-class\u003ecom.vaadin.terminal.gwt.server.ApplicationServlet\u003c/servlet-class\u003e\n        \u003cinit-param\u003e\n            \u003cdescription\u003eVaadin application class to start\u003c/description\u003e\n            \u003cparam-name\u003eapplication\u003c/param-name\u003e\n            \u003cparam-value\u003escalaadin.ScalaadinApplication\u003c/param-value\u003e\n        \u003c/init-param\u003e\n        \u003cinit-param\u003e\n            \u003cparam-name\u003ewidgetset\u003c/param-name\u003e\n            \u003cparam-value\u003escalaadin.gwt.CombinedWidgetset\u003c/param-value\u003e\n        \u003c/init-param\u003e\n    \u003c/servlet\u003e\n\n\nInspirations and related\n========================\n\n* [SBT 0.10.0](https://github.com/harrah/xsbt/wiki)\n* [SBT web plugin](https://github.com/siasia/xsbt-web-plugin)\n* [GWT web plugin](https://github.com/thunderklaus/sbt-gwt-plugin)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnauld%2Fsbt-vaadin-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farnauld%2Fsbt-vaadin-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnauld%2Fsbt-vaadin-plugin/lists"}