This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 17ee64c  2025/01/13 14:21:37: Generated dev website from 
groovy-website@1f624cf
17ee64c is described below

commit 17ee64c26870128167ef00cb3d7f2a7ebdd50091
Author: jenkins <[email protected]>
AuthorDate: Mon Jan 13 14:21:38 2025 +0000

    2025/01/13 14:21:37: Generated dev website from groovy-website@1f624cf
---
 wiki/grails-proposal.html | 574 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 574 insertions(+)

diff --git a/wiki/grails-proposal.html b/wiki/grails-proposal.html
new file mode 100644
index 0000000..2e6a016
--- /dev/null
+++ b/wiki/grails-proposal.html
@@ -0,0 +1,574 @@
+<!DOCTYPE html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--><head>
+    <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible' 
content='IE=edge'/><meta name='viewport' content='width=device-width, 
initial-scale=1'/><title>The Apache Groovy programming language - Developer 
docs - Grails Project Proposal</title><link href='../img/favicon.ico' 
type='image/x-ico' rel='icon'/><link rel='stylesheet' type='text/css' 
href='../css/bootstrap.css'/><link rel='stylesheet' type='text/css' 
href='../css/font-awesome.min.css'/><link rel='stylesheet' type='text/css' h 
[...]
+</head><body>
+    <div id='fork-me'>
+        <a href='https://github.com/apache/groovy'>
+            <img style='position: fixed; top: 20px; right: -58px; border: 0; 
z-index: 100; transform: rotate(45deg);' 
src='/img/horizontal-github-ribbon.png'/>
+        </a>
+    </div><div id='st-container' class='st-container st-effect-9'>
+        <nav class='st-menu st-effect-9' id='menu-12'>
+            <h2 class='icon icon-lab'>Socialize</h2><ul>
+                <li>
+                    <a href='https://groovy-lang.org/mailing-lists.html' 
class='icon'><span class='fa fa-envelope'></span> Discuss on the 
mailing-list</a>
+                </li><li>
+                    <a href='https://twitter.com/ApacheGroovy' 
class='icon'><span class='fa fa-twitter'></span> Groovy on Twitter</a>
+                </li><li>
+                    <a href='https://groovy-lang.org/events.html' 
class='icon'><span class='fa fa-calendar'></span> Events and conferences</a>
+                </li><li>
+                    <a href='https://github.com/apache/groovy' 
class='icon'><span class='fa fa-github'></span> Source code on GitHub</a>
+                </li><li>
+                    <a href='https://groovy-lang.org/reporting-issues.html' 
class='icon'><span class='fa fa-bug'></span> Report issues in Jira</a>
+                </li><li>
+                    <a href='http://stackoverflow.com/questions/tagged/groovy' 
class='icon'><span class='fa fa-stack-overflow'></span> Stack Overflow 
questions</a>
+                </li><li>
+                    <a href='http://groovycommunity.com/' class='icon'><span 
class='fa fa-slack'></span> Slack Community</a>
+                </li>
+            </ul>
+        </nav><div class='st-pusher'>
+            <div class='st-content'>
+                <div class='st-content-inner'>
+                    <!--[if lt IE 7]>
+                    <p class="browsehappy">You are using an 
<strong>outdated</strong> browser. Please <a 
href="http://browsehappy.com/";>upgrade your browser</a> to improve your 
experience.</p>
+                <![endif]--><div><div class='navbar navbar-default 
navbar-static-top' role='navigation'>
+                            <div class='container'>
+                                <div class='navbar-header'>
+                                    <button type='button' 
class='navbar-toggle' data-toggle='collapse' data-target='.navbar-collapse'>
+                                        <span class='sr-only'></span><span 
class='icon-bar'></span><span class='icon-bar'></span><span 
class='icon-bar'></span>
+                                    </button><a class='navbar-brand' 
href='../index.html'>
+                                        <i class='fa fa-star'></i> Apache 
Groovy
+                                    </a>
+                                </div><div class='navbar-collapse collapse'>
+                                    <ul class='nav navbar-nav navbar-right'>
+                                        <li class=''><a 
href='https://groovy-lang.org/learn.html'>Learn</a></li><li class=''><a 
href='https://groovy-lang.org/documentation.html'>Documentation</a></li><li 
class=''><a href='/download.html'>Download</a></li><li class=''><a 
href='https://groovy-lang.org/support.html'>Support</a></li><li class=''><a 
href='/'>Contribute</a></li><li class=''><a 
href='https://groovy-lang.org/ecosystem.html'>Ecosystem</a></li><li class=''><a 
href='/blog'>Blog pos [...]
+                                            <a data-effect='st-effect-9' 
class='st-trigger' href='#'>Socialize</a>
+                                        </li><li class=''>
+                                            <a href='../search.html'>
+                                                <i class='fa fa-search'></i>
+                                            </a>
+                                        </li>
+                                    </ul>
+                                </div>
+                            </div>
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li class='active'><a href='#doc'>Grails Project 
Proposal</a></li><li><a href='#_abstract' 
class='anchor-link'>Abstract</a></li><li><a href='#_proposal' 
class='anchor-link'>Proposal</a></li><li><a href='#_background' 
class='anchor-link'>Background</a></li><li><a href='#_rationale' 
class='anchor-link'>Rationale</a></li><li><a href='#_initial_ [...]
+<h2 id="_abstract">Abstract</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Grails is a powerful Groovy-based full-stack web application framework for 
the JVM built on top of Spring Boot.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_proposal">Proposal</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Grails is a full-stack web application framework for the JVM. It is 
intended to be a high-productivity framework by following the "convention over 
configuration" paradigm, providing a stand-alone development environment and 
hiding much of the configuration detail from the developer. Grails has long 
been developed under an Apache License v2.0 under an open governance community 
management process.</p>
+</div>
+<div class="paragraph">
+<p>So far Grails has been a project mostly sponsored by a single company. It 
has become clear that the single vendor backed model previously used by Grails 
isn’t the best strategy to take it forward. We propose to bring the Grails 
community under the umbrella of the Apache Software Foundation with an initial 
goal that Grails core and its critical plugins are brought into the ASF (see 
more details in the “Initial Goals” section). We propose that the Groovy 
project act as the sponsoring or [...]
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_background">Background</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Grails is a mature open source project. Work began in July 2005, with the 
0.1 release on March 29, 2006, and the 1.0 release announced on February 18, 
2008. The latest release was 6.2.0 which was released April 6, 2024. After 19 
years of development, Grails has grown into a powerful web application 
framework which leverages many of the latest technologies for building web 
applications on the JVM.</p>
+</div>
+<div class="paragraph">
+<p>Numerous vendors have consulting businesses based on building web 
applications using Grails. Other organizations use Grails for their internal 
web application development. While the Grails community is large, the project 
itself is also large. The existing model of expecting a single vendor to do the 
bulk of its maintenance is no longer viable. Moving to the ASF provides a 
vendor neutral home where all community members can feel safe contributing to 
Grails.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_rationale">Rationale</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Many modern web frameworks in the Java space are more complicated than 
needed and don’t embrace the Don’t Repeat Yourself (DRY) principles.
+Dynamic frameworks like Rails and Django helped pave the way to a more modern 
way of thinking about web applications. Grails builds on these concepts and 
dramatically reduces the complexity of building web applications on the Java 
platform. What makes it different, however, is that it does so by building on 
already established Java technologies.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_initial_goals">Initial Goals</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The initial goals of the Grails transition to the ASF are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>To establish a new home for an already fully functioning project in a 
setting which is welcoming for multiple vendors and individuals alike.</p>
+</li>
+<li>
+<p>While many Grails contributors have a long-time open source history and 
experience, not all are familiar with ASF governance practices. So, another 
goal will be to mentor and educate those involved if/as needed.</p>
+</li>
+<li>
+<p>As Grails has evolved, it has been split into small manageable pieces. This 
has made it easy to release parts individually but has made it harder to move 
the entire ecosystem across large changes (e.g. there have sometimes been 
circular dependencies). Also, because of Grails’ longevity, there is a rich 
ecosystem of plugins, but numerous plugins are out of date. So, a goal of this 
transition will be to bring across a fresh version of all of the critical 
Grails plugins. This has been du [...]
+</li>
+<li>
+<p>Since Spring Boot is now released every 6 months with only 12 months of OSS 
support per release, a Grails release will need to be released within 6 months 
of each Boot release to maintain Spring OSS support. Given the need for more 
frequent Grails releases due to Spring Boot, we will make an effort to reduce 
complexity and technical debt such that Grails releases take less effort with 
each release.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_current_status">Current Status</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Currently, Grails provides a fully functional implementation licensed under 
ALv2. The project home is at <a href="https://grails.org/"; 
class="bare">https://grails.org/</a> and the majority of development is 
coordinated under various repos on GitHub at <a 
href="https://github.com/grails/"; class="bare">https://github.com/grails/</a>. 
The project sports a very mature documentation and ecosystem of projects 
leveraging it.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_meritocracy">Meritocracy</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Grails, up to now, has been run by a few core project members with a lot of 
contributions coming from a wide community of participants in the project.
+We want to expand our diverse developer and user community and run the Grails 
project in the Apache way clearly signaling not only the licensing, but also 
the governance choice.</p>
+</div>
+<div class="paragraph">
+<p>Users and new contributors will be treated with respect and welcomed; they 
will earn merit in the project by providing quality patches and support that 
move the project forward.
+Those with a proven support and quality patch track record will be encouraged 
to become committers.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_community">Community</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>There are just a few core team members with over a hundred contributors to 
the project. If Grails is accepted into the ASF, transitioning the community to 
embrace the Apache Way of governance would be a primary initial goal. We would 
solicit major existing contributors to become committers on the project from 
the get go.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_core_developers">Core Developers</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Core developers include folks who are extremely skilled in working in the 
openly governed communities on code bases licensed under the ALv2. The core 
developers are NOT currently affiliated with the ASF, although quite a few 
contributors are.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_alignment">Alignment</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Grails is highly aligned with the Groovy project with many of the DSLs used 
within Grails being drivers for the requirements of DSL support within Groovy.
+The Groovy subproject Geb is often used for testing with Grails and Grails 
provides
+special Geb support. Grails also makes use of about a dozen ASF artifacts from 
other ASF projects (commons, logging, etc.)</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_known_risks">Known Risks</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>As noted above, development has been sponsored mostly by a single company 
and coordinated mostly by the core team so far.
+For Grails to fully transition to an "Apache Way" governance model it needs to 
start embracing the meritocracy-centric way of growing the community of 
contributors while balancing it with the needs for extreme stability and 
coherency of the core implementation.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_orphaned_products">Orphaned products</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The community proposing Grails for incubation is an active open source 
community. The primary vendor until now has been Object Computing (and for 
about a year, a related spin-off Unity Foundation). Currently Object Computing 
has paused significant new investment in the Grails project, but the size and 
diversity of the community should guarantee against the project being 
orphaned.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_inexperience_with_open_source">Inexperience with Open Source</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The majority of the proposers have day jobs that have them working near 
full-time on open source projects. Grails to date has always been developed as 
an open source project.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_homogeneous_developers">Homogeneous Developers</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Now that Object Computing is pausing significant new investment, the 
initial group of committers is expected to be heterogeneous when it comes to 
corporate affiliations. The Grails community is also extremely diverse in terms 
of geography and backgrounds of developers.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_reliance_on_salaried_developers">Reliance on Salaried Developers</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Most of the contributors are paid to work in the Java ecosystem. While we 
might wander from our current employers, we probably won’t go far from the Java 
family tree.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_relationships_with_other_apache_products">Relationships with Other 
Apache Products</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Grails relies fundamentally on Apache Groovy. It also depends on a number 
of other ASF projects including commons, ant, tomcat, and maven. Various Grails 
plugins (many are optional) also have ASF projects as dependencies.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_an_excessive_fascination_with_the_apache_brand">An Excessive 
Fascination with the Apache Brand</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>While we think that the Apache ‘branding’ will add strength to our 
project’s desire for ‘neutrality’, we have no plans for making excessive use of 
the Apache brand.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_documentation">Documentation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>See <a href="https://docs.grails.org/6.2.0/guide/single.html"; 
class="bare">https://docs.grails.org/6.2.0/guide/single.html</a> for the 
current state of the Grails documentation.
+A mature project website is also available at <a href="https://grails.org/"; 
class="bare">https://grails.org/</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_initial_source">Initial Source</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Initial source is available on GitHub under the ALv2</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-core"; 
class="bare">https://github.com/grails/grails-core</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The Grails 
Web Application Framework</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-gradle-plugin"; 
class="bare">https://github.com/grails/grails-gradle-plugin</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Gradle 
build plugin used by many projects and end Grails applications</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-static-website"; 
class="bare">https://github.com/grails/grails-static-website</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Static 
version of the grails.org website</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-doc"; 
class="bare">https://github.com/grails/grails-doc</a></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">Documentation Project For The Grails Web Application 
Framework</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-forge"; 
class="bare">https://github.com/grails/grails-forge</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This is 
Grails project creator. Grails projects may be created using the browser 
interface, Command Line, or via CURL.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-forge-ui"; 
class="bare">https://github.com/grails/grails-forge-ui</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">React.js 
app for start.grails.org</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/scaffolding"; 
class="bare">https://github.com/grails/scaffolding</a></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">Scaffolding plugin for Grails® framework</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/gpc/fields"; 
class="bare">https://github.com/gpc/fields</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">the fields 
plugin used by scaffolding and also independently.  A core plugin for grails 
web projects</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-angularjs-scaffolding"; 
class="bare">https://github.com/grails/grails-angularjs-scaffolding</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A plugin 
for generating client side assets based on domain</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-gsp"; 
class="bare">https://github.com/grails/grails-gsp</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GSP 
(Grails Server Pages) - A server-side view rendering technology based on 
Groovy</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-views"; 
class="bare">https://github.com/grails/grails-views</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Additional 
View Technologies for Grails</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-boot"; 
class="bare">https://github.com/grails/grails-boot</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Grails 
integrations with Spring Boot</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-async"; 
class="bare">https://github.com/grails/grails-async</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Repository 
for Grails async plugins</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-data-mapping"; 
class="bare">https://github.com/grails/grails-data-mapping</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GORM - 
Groovy Object Mapping</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/gorm-hibernate5"; 
class="bare">https://github.com/grails/gorm-hibernate5</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GORM for 
Hibernate 5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/gorm-hibernate6"; 
class="bare">https://github.com/grails/gorm-hibernate6</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GORM for 
Hibernate 6</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/gorm-mongodb"; 
class="bare">https://github.com/grails/gorm-mongodb</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GORM for 
MongoDB</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/gorm-neo4j"; 
class="bare">https://github.com/grails/gorm-neo4j</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GORM for 
Neo4j</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/gorm-graphql"; 
class="bare">https://github.com/grails/gorm-graphql</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">An 
automatic GraphQL schema generator for GORM</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-database-migration"; 
class="bare">https://github.com/grails/grails-database-migration</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Grails® 
framework Database Migration Plugin</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/gorm-docs"; 
class="bare">https://github.com/grails/gorm-docs</a></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">Documentation for GORM</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-rxgorm-docs"; 
class="bare">https://github.com/grails/grails-rxgorm-docs</a></p></td>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">Documentation for RxGORM <a 
href="https://gorm.grails.org/latest/rx/manual/index.html"; 
class="bare">https://gorm.grails.org/latest/rx/manual/index.html</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-spring-security-core"; 
class="bare">https://github.com/grails/grails-spring-security-core</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Grails 
Spring Security Core Plugin</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-spring-security-rest"; 
class="bare">https://github.com/grails/grails-spring-security-rest</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Grails 
plugin to implement token-based, RESTful authentication using Spring 
Security</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-spring-security-ui"; 
class="bare">https://github.com/grails/grails-spring-security-ui</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The Spring 
Security UI plugin provides CRUD screens and other user management 
workflows.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-spring-security-oauth2"; 
class="bare">https://github.com/grails/grails-spring-security-oauth2</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Spring 
security Oauth Grails 3 plugin</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-spring-security-acl"; 
class="bare">https://github.com/grails/grails-spring-security-acl</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-spring-security-cas"; 
class="bare">https://github.com/grails/grails-spring-security-cas</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-plugins/grails-spring-security-ldap"; 
class="bare">https://github.com/grails-plugins/grails-spring-security-ldap</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-testing-support"; 
class="bare">https://github.com/grails/grails-testing-support</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">Trait-based testing library for Grails framework</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/geb"; 
class="bare">https://github.com/grails/geb</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Geb 
Functional Testing for Grails® framework</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-functional-tests"; 
class="bare">https://github.com/grails/grails-functional-tests</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Functional 
Test Application for Grails 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-plugin-converters"; 
class="bare">https://github.com/grails/grails-plugin-converters</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Legacy 
converters plugin</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-plugins-metadata"; 
class="bare">https://github.com/grails/grails-plugins-metadata</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">grails-plugins.json used by <a 
href="https://grails.org/plugins.html"; 
class="bare">https://grails.org/plugins.html</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-redis"; 
class="bare">https://github.com/grails/grails-redis</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Redis 
plugin for Grails</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-cache"; 
class="bare">https://github.com/grails/grails-cache</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Grails 
Cache Plugin</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/elasticsearch-grails-plugin"; 
class="bare">https://github.com/grails/elasticsearch-grails-plugin</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The 
Elasticsearch Grails plugin</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-quartz"; 
class="bare">https://github.com/grails/grails-quartz</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">This 
project provides integration of the Quartz scheduling framework into the Grails 
Framework</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/github-actions"; 
class="bare">https://github.com/grails/github-actions</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">custom 
github actions for workflows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/github-pages-deploy-action"; 
class="bare">https://github.com/grails/github-pages-deploy-action</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GitHub 
action for building a project and deploying it to GitHub pages.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-wrapper"; 
class="bare">https://github.com/grails/grails-wrapper</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Grails 
Wrapper</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails/grails-profiles"; 
class="bare">https://github.com/grails/grails-profiles</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/base"; 
class="bare">https://github.com/grails-profiles/base</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/web"; 
class="bare">https://github.com/grails-profiles/web</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/profile"; 
class="bare">https://github.com/grails-profiles/profile</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/plugin"; 
class="bare">https://github.com/grails-profiles/plugin</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/web-plugin"; 
class="bare">https://github.com/grails-profiles/web-plugin</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/rest-api"; 
class="bare">https://github.com/grails-profiles/rest-api</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/rest-api-plugin"; 
class="bare">https://github.com/grails-profiles/rest-api-plugin</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/vue"; 
class="bare">https://github.com/grails-profiles/vue</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/react"; 
class="bare">https://github.com/grails-profiles/react</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles/angular"; 
class="bare">https://github.com/grails-profiles/angular</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/web"; 
class="bare">https://github.com/grails-profiles-tests/web</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/plugin"; 
class="bare">https://github.com/grails-profiles-tests/plugin</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/web-plugin"; 
class="bare">https://github.com/grails-profiles-tests/web-plugin</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/rest-api"; 
class="bare">https://github.com/grails-profiles-tests/rest-api</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/rest-api-plugin"; 
class="bare">https://github.com/grails-profiles-tests/rest-api-plugin</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/vue"; 
class="bare">https://github.com/grails-profiles-tests/vue</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/react"; 
class="bare">https://github.com/grails-profiles-tests/react</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a 
href="https://github.com/grails-profiles-tests/angular"; 
class="bare">https://github.com/grails-profiles-tests/angular</a></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_required_resources">Required Resources</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_mailing_lists">Mailing lists</h3>
+<div class="listingblock">
+<div class="content">
+<pre>[email protected]
[email protected]
[email protected]
[email protected]
[email protected]</pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_git_repository">Git Repository</h3>
+<div class="paragraph">
+<p>See Initial Source Above</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_issue_tracking">Issue Tracking</h3>
+<div class="paragraph">
+<p>GitHub Issues</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_other_resources">Other Resources</h3>
+<div class="paragraph">
+<p>Means of setting up regular builds for Grails on builds.apache.org</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_initial_committers">Initial Committers</h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Søren Berg Glasius (ASF: sbglasius)</p>
+</li>
+<li>
+<p>James Fredley (<a 
href="mailto:[email protected]";>[email protected]</a>)</p>
+</li>
+<li>
+<p>Mattias Reichel (GitHub: matrei)</p>
+</li>
+<li>
+<p>Sergio del Amo Caballero (ASF: sdelamo)</p>
+</li>
+<li>
+<p>James Daugherty (<a 
href="mailto:[email protected]";>[email protected]</a>)</p>
+</li>
+<li>
+<p>Scott Murphy (GitHub: codeconsole)</p>
+</li>
+<li>
+<p>David Estes (<a 
href="mailto:[email protected]";>[email protected]</a>)</p>
+</li>
+<li>
+<p>Brian Koehmstedt (<a href="mailto:[email protected]";>[email protected]</a>)</p>
+</li>
+<li>
+<p>Graeme Rocher (ASF: grocher)</p>
+</li>
+<li>
+<p>Puneet Behl (<a href="mailto:[email protected]";>[email protected]</a>)</p>
+</li>
+<li>
+<p>Paul King (ASF: paulk)</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_champion">Champion</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Paul King</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_nominated_mentors">Nominated Mentors</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Paul King
+Søren Berg Glasius</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_sponsoring_entity">Sponsoring Entity</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>We would like to propose the Groovy project to sponsor the incubation of 
Grails.</p>
+</div>
+</div>
+</div></div></div></div></div><footer id='footer'>
+                            <div class='row'>
+                                <div class='colset-3-footer'>
+                                    <div class='col-1'>
+                                        <h1>Groovy</h1><ul>
+                                            <li><a 
href='https://groovy-lang.org/learn.html'>Learn</a></li><li><a 
href='https://groovy-lang.org/documentation.html'>Documentation</a></li><li><a 
href='/download.html'>Download</a></li><li><a 
href='https://groovy-lang.org/support.html'>Support</a></li><li><a 
href='/'>Contribute</a></li><li><a 
href='https://groovy-lang.org/ecosystem.html'>Ecosystem</a></li><li><a 
href='/blog'>Blog posts</a></li><li><a 
href='https://groovy.apache.org/events.ht [...]
+                                        </ul>
+                                    </div><div class='col-2'>
+                                        <h1>About</h1><ul>
+                                            <li><a 
href='https://github.com/apache/groovy'>Source code</a></li><li><a 
href='https://groovy-lang.org/security.html'>Security</a></li><li><a 
href='https://groovy-lang.org/learn.html#books'>Books</a></li><li><a 
href='https://groovy-lang.org/thanks.html'>Thanks</a></li><li><a 
href='http://www.apache.org/foundation/sponsorship.html'>Sponsorship</a></li><li><a
 href='https://groovy-lang.org/faq.html'>FAQ</a></li><li><a 
href='https://groovy-lang.or [...]
+                                        </ul>
+                                    </div><div class='col-3'>
+                                        <h1>Socialize</h1><ul>
+                                            <li><a 
href='https://groovy-lang.org/mailing-lists.html'>Discuss on the 
mailing-list</a></li><li><a href='https://twitter.com/ApacheGroovy'>Groovy on 
Twitter</a></li><li><a href='https://groovy-lang.org/events.html'>Events and 
conferences</a></li><li><a href='https://github.com/apache/groovy'>Source code 
on GitHub</a></li><li><a 
href='https://groovy-lang.org/reporting-issues.html'>Report issues in 
Jira</a></li><li><a href='http://stackoverflow. [...]
+                                        </ul>
+                                    </div><div class='col-right'>
+                                        <p>
+                                            The Groovy programming language is 
supported by the <a href='http://www.apache.org'>Apache Software Foundation</a> 
and the Groovy community.
+                                        </p><div text-align='right'>
+                                            <img src='../img/asf_logo.png' 
title='The Apache Software Foundation' alt='The Apache Software Foundation' 
style='width:60%'/>
+                                        </div><p>Apache&reg; and the Apache 
feather logo are either registered trademarks or trademarks of The Apache 
Software Foundation.</p>
+                                    </div>
+                                </div><div class='clearfix'>&copy; 2003-2025 
the Apache Groovy project &mdash; Groovy is Open Source: <a 
href='http://www.apache.org/licenses/LICENSE-2.0.html' alt='Apache 2 
License'>license</a>, <a 
href='https://privacy.apache.org/policies/privacy-policy-public.html'>privacy 
policy</a>.</div>
+                            </div>
+                        </footer></div>
+                </div>
+            </div>
+        </div>
+    </div><script src='../js/vendor/jquery-1.10.2.min.js' 
defer></script><script src='../js/vendor/classie.js' defer></script><script 
src='../js/vendor/bootstrap.js' defer></script><script 
src='../js/vendor/sidebarEffects.js' defer></script><script 
src='../js/vendor/modernizr-2.6.2.min.js' defer></script><script 
src='../js/plugins.js' defer></script><script 
src='https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.min.js'></script><script>document.addEventListener('DOMContentLoa
 [...]
+</body></html>
\ No newline at end of file


Reply via email to