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/ApplicationDevelopmentBestPractices:
"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/RecommendedExtensions/RecommendedDefinition/
 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.

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
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to