Hello contributors,
We've decided to change how we manage official gwt modules a bit,
to allow modernization and faster updates to gwt-user while still
supporting developers who need backward compatibility. We're now
allowing creation of repositories at
github.com/gwtproject
by contributors who wish to help in this effort - send an email to the
list to request creation of a project, and we'll make it happen. CLAs
will not be required for these projects, and changes can be managed via
GitHub pull requests.
Contributed code must follow a few guidelines - here is a brief (but not official or exhaustive) list:
* Support deployment to maven central, using org.gwtproject groupIds
* Use org.gwtproject package
* Projects to be created must be updated versions of existing
modules already within the GWT project sources - we are not looking to
adopt new projects at this time.
While the new project gets going, we will accept most pull requests
for the contributor who has adopted that module, and will enable
jenkins builds and SNAPSHOT releases for that project. Once it has
reached a stable state, we will require a review from a trusted
contributor for the existing code and for all future pull requests.
Then, once it has been reviewed, we will start official releases to
maven central.
Updated modules should try to remain backward compatible (except
for package name) at least for the first release, then make appropriate
use of "@Deprecated" when preparing for breaking changes. Anything
already annotated with Deprecated can be removed, since users who are
looking to move to this will have already checked their code for
deprecation warnings. These practices will enable teams to switch to
these new projects by replacing imports with com.google.gwt.modulename
with org.gwtproject.modulename. More advice to come from the work we've
done thus far.
Since this will only include existing modules that are already part
of GWT, we already have a reference for what tests should look like,
what they should cover, but of course contributors can also add more.
Removing support for old browsers is reasonable as well, since teams who
require legacy will have the versions still in gwt-user to fall back
on.
As we make use of this new way of contributing to GWT, we'll make
this process more official based on things we learn along the way.