On 09 Sep 2016, at 10:51, Vincent Massol
<vincent(a)massol.net> wrote:
Hi devs,
Context
=======
I’d like to propose a new best practice for extensions and especially recommended ones.
We already have the following on
http://dev.xwiki.org/xwiki/bin/view/Community/ApplicationDevelopmentBestPra…:
"In your POM always try to depend on the oldest version of
commons/rendering/platform dependencies for which your code works. At least, ensure that
your Applications works on the latest LTS version of XWiki. This will allow the largest
number of users to use your application.”
In addition on the definition of a Recommended Extension at
http://extensions.xwiki.org/xwiki/bin/view/ExtensionCode/RecommendedExtensi…
we say:
“Works at least with the latest stable XWiki versions and with the LTS version”
This proposal is about ensuring that an extension works with the latest stable XWiki
version.
Proposal
========
1) Always create a LATEST branch for recommended extensions
2) On this branch depend on LATEST for parent pom. For example:
<parent>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-pom</artifactId>
<version>LATEST</version>
</parent>
Note 1: For extensions using
https://github.com/xwiki-contrib/parent we also need to
release latest version of those poms as part of the XWiki
commons/rendering/platform/enterprise release process.
Note 2: The advantage of using LATEST is that it doesn’t require maintenance from the
extensions whenever new versions of XWiki commons/rendering/platform/enterprise are
released. It does require to update the contrib parent poms though.
Actually I’ve just realized that this is not true… When you make changes to master you
need to backport them to the LATEST release branch too so it could be quite tedious
actually.
Any idea to salvage this proposal to have something that can be applied today?
The other solution (but it’s much more work and not for today) would be to find ways to
modify the PackageMojo code to support running XWiki under various versions.
Thanks
-Vincent
3) On
ci.xwiki.org, make sure that the job is
defined to build 2 branches. You can also leave the branch name empty and Jenkins will
then build all available branches as I’ve done for IRC Bot app:
http://ci.xwiki.org/job/Contrib%20-%20IRC%20Bot%20Application/configure (check the “Source
Code Management” section).
WDYT?
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org