{"id":19428,"date":"2015-06-02T10:30:51","date_gmt":"2015-06-02T05:00:51","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=19428"},"modified":"2015-10-14T13:07:22","modified_gmt":"2015-10-14T07:37:22","slug":"upgrading-grails-plugins","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/upgrading-grails-plugins\/","title":{"rendered":"Let&#8217;s upgrade existing plugins to Grails3"},"content":{"rendered":"<p>Now that Grails 3, the most anticipated <a href=\"http:\/\/www.tothenew.com\/grails-application-development\">release of Grails<\/a> is out, which comes with lot of new features like:<\/p>\n<ul>\n<li>Gradle Build System.<\/li>\n<li>Notion of application profiles.<\/li>\n<li>Redesigned API based on Traits.<\/li>\n<li>New shell &amp; Code generation API.<\/li>\n<li>Build in support for Spock\/Geb functional tests.<\/li>\n<li>Gradle Test Running etc.<\/li>\n<\/ul>\n<p>The Grails core team always maintained that this would be the re-defining Grails version. A lot of Grails internals have been re-written. This is a great thing for the framework itself, but it also surfaces a lot of concerns for the &#8220;Grails Users&#8221;. Some of them are:<\/p>\n<ul>\n<li>How will I be able to migrate my existing Grails app?<\/li>\n<li>Does it bring any changes to how we use Grails?<\/li>\n<li>What happens to the existing plugins and how will they be migrated to 3.x version?<\/li>\n<\/ul>\n<p>A lot of these concerns are well founded as the core team has mentioned on numerous occasions that they are not holding themselves back by backward compatibility. That in itself is a big decision but we have to say that it is a correct one as well if Grails has to maintain its glory.<\/p>\n<p>When it comes to Grails, one of it&#8217;s biggest strength is it&#8217;s plugin repository. However, with 3.x, most of the plugins have become unusable(remember no backward compatibility). This is where we, the Grails community need to play a solid role and contribute. We at TTN Digital (erstwhile Intelligrape) are taking this responsibility very seriously and trying to pay back to the great framework and the community behind it.<\/p>\n<p>We started working on migration of existing Grails plugins to the latest version(Grails 3). So far we&#8217;ve migrated 3 plugins:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/kefirfromperm\/grails-asynchronous-mail\" target=\"_blank\">grails-asynchronous-mail<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/gpc\/grails-export\" target=\"_blank\">grails-export<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/puneetbehl\/grails-clojure\" target=\"_blank\">grails-clojure<\/a><\/li>\n<\/ul>\n<p>Also, I would like to commend that docs are very helpful. It&#8217;s very easy to migrate existing plugins by following <a href=\"http:\/\/grails.github.io\/grails-doc\/latest\/guide\/upgrading.html#upgradingPlugins\" target=\"_blank\">Grails Docs: Upgrading Plugins<\/a><\/p>\n<p>We are currently working on few more plugins and will keep sharing our experience.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now that Grails 3, the most anticipated release of Grails is out, which comes with lot of new features like: Gradle Build System. Notion of application profiles. Redesigned API based on Traits. New shell &amp; Code generation API. Build in support for Spock\/Geb functional tests. Gradle Test Running etc. The Grails core team always maintained [&hellip;]<\/p>\n","protected":false},"author":57,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0},"categories":[7,1],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/19428"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=19428"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/19428\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=19428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=19428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=19428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}