Hide last authors
Thomas Mortagne 20.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
vmassol 1.1 4
Vincent Massol 38.2 5 All XWiki sources are stored in [[Git>>http://git-scm.com/]] repositories on {{scm}}GitHub{{/scm}}. XWiki is an [[OW2 project>>https://projects.ow2.org/view/xwiki/]], but we're using GitHub to store our sources.
vmassol 1.1 6
Vincent Massol 34.3 7 You can browse the source repositories and download/clone the sources by using {{scm}}GitHub{{/scm}}. If you're looking for sources corresponding to a given XWiki version you'll need to switch to that version's branch in GitHub's UI.
VincentMassol 1.20 8
Vincent Massol 14.5 9 = Top Level Projects =
VincentMassol 1.10 10
Manuel Smeria 32.2 11 XWiki is not a single product, but an ecosystem of {{scm}}top-level projects{{/scm}}.
Vincent Massol 9.1 12
Vincent Massol 34.2 13 Here's the list of repositories (one repository per top level project) maintained by the XWiki Core Development Team (a.k.a Core XWiki Committers) and that you should see if you browse the Git repositories at https://github.com/xwiki :
Vincent Massol 14.3 14
Vincent Massol 23.2 15 |=Git Repository name|=Description
Vincent Massol 23.5 16 |[[xwiki-commons>>commons:Main.WebHome]]|Technical libraries common to several other top level projects. Can be used by projects outside of the XWiki ecosystem; not related to the wiki domain.
Vincent Massol 33.2 17 |[[xwiki-rendering>>rendering:Main.WebHome]]|Rendering library to convert some input syntax into another output syntax. Can be used by projects outside of the XWiki ecosystem. Uses ##xwiki-commons##.
Thomas Mortagne 37.1 18 |[[xwiki-platform>>platform:Main.WebHome]]|Reusable components/parts used by other top level projects, making up a wiki runtime. Uses ##xwiki-commons## and ##xwiki-rendering##. Also provide the default Distribution and the Standard Flavor.
Vincent Massol 33.1 19 |xwiki-dev-tools|Various internal subprojects for improving the XWiki development experience (release scripts, helper to easily debug XWiki inside Eclipse, etc).
Vincent Massol 23.1 20
Manuel Smeria 32.2 21 {{info}}
22 In order to better understand the relationships between the Platform and other top level projects, check how XWiki is [[Architected>>platform:DevGuide.Architecture]].
23 {{/info}}
Vincent Massol 23.4 24
Vincent Massol 25.1 25 = Contrib Projects =
Vincent Massol 14.3 26
Vincent Massol 34.1 27 In addition to the Top Level Projects mentioned above (and for which only XWiki Core committers have the rights to commit to), we've also created an {{scm user="xwiki-contrib"}}XWiki Contrib{{/scm}} organization on GitHub where everyone could contribute easily to XWiki-related projects (If you're interested see the [[documentation for Contrib projects>>contrib:Main.WebHome]]).
Vincent Massol 14.3 28
Vincent Massol 34.1 29 Note that GitHub offers free hosting for open source projects for every registered user, so you don't have to ask for access to the ##xwiki-contrib## repositories if you just want to host your own code. That said we would love for you to put your project on ##xwiki-contrib## since it makes it easy for users/developers to find XWiki-related projects under a single location (it also makes better advertising for your own project). By using ##xwiki-contrib## you also gain [[a wiki and a JIRA project if you want to>>contrib:Main.WebHome#HHostingtools]] (among other tools).
Sergiu Dumitriu 27.1 30
Thomas Mortagne 36.1 31 = Attic =
32
33 Finally abandonned project are moved to {{scm user="xwiki-attic"}}the xwiki-attic organization{{/scm}}.
34
Vincent Massol 25.1 35 = Project Structure =
Vincent Massol 23.1 36
Vincent Massol 22.1 37 == XWiki Commons Structure ==
38
39 |=Directory name|=Description
Vincent Massol 25.1 40 |xwiki-commons/xwiki-commons-pom|The top level Maven build descriptor (a.k.a POM). It's referenced by all other build modules.
41 |xwiki-commons/xwiki-commons-core|Commons libraries (JARs)
42 |xwiki-commons/xwiki-commons-tools|Build tools used to build other commons modules.
Vincent Massol 22.1 43
44 == XWiki Rendering Structure ==
45
46 See the [[Rendering Project>>rendering:Main.WebHome]].
47
Vincent Massol 14.3 48 == XWiki Platform Structure ==
49
50 |=Directory name|=Description
Vincent Massol 25.1 51 |xwiki-platform/xwiki-platform-core|All core modules (JARs, skins, extensions, Web, etc)
52 |xwiki-platform/xwiki-platform-tools|Build tools and various other misc. tools.
Thomas Mortagne 38.1 53 |xwiki-platform/xwiki-platform-distribution|Distributed packages (WAR, installers, Standard Flavor, etc)
Vincent Massol 14.3 54
Vincent Massol 25.3 55 = Getting Sources =
VincentMassol 1.12 56
Thomas Mortagne 29.2 57 Go to {{scm}}GitHub{{/scm}}, select the repository you wish to get and follow the GitHub instructions.
VincentMassol 1.12 58
Manuel Smeria 32.2 59 Then [[build>>Building]] the sources.
Caleb James DeLisle 18.1 60
Thomas Mortagne 39.1 61 Alternatively, locate the XWiki artifact for which you wish to get the sources of in our [[Maven Repository>>https://nexus.xwiki.org/nexus/content/repositories/releases/]] and download the associated source JAR. For example to get the sources for the "XWiki Commons Component API" module, get the JAR file ending with ##-sources## [[here>>https://nexus.xwiki.org/nexus/content/repositories/releases/org/xwiki/commons/xwiki-commons-component-api/4.5.2/]].
Vincent Massol 32.1 62
63 = Branches and Tags =
64
Manuel Smeria 32.2 65 Check our [[Versioning and Release practices>>VersioningAndReleasePractices#HReleasesandSCM]].
Vincent Massol 34.1 66
Vincent Massol 42.1 67 = GitHub Setup =
68
69 * We use dependabot to check for security issues (example for [[xwiki-platform>>https://github.com/xwiki/xwiki-platform/network/alerts]])
70 * We also use dependabot to automatically issue PullRequests when new dependency versions are found. Our goal is to always be the most up to date possible. Example for [[xwiki-platform>>https://github.com/xwiki/xwiki-platform/blob/master/.github/dependabot.yml]]
71
Vincent Massol 35.1 72 = History =
Vincent Massol 34.1 73
Vincent Massol 35.1 74 Originally the sources were put on SourceForge in CVS in 2003. They were then moved to a Subversion instance and are now in git on GitHub.
Vincent Massol 34.1 75
Vincent Massol 35.1 76 Some details:
Thomas Mortagne 36.1 77
Vincent Massol 35.1 78 * An old archived version when the sources were in SVN can be [[accessed through WebArchive>>http://web.archive.org/web/20150922144425/http://svnsearch.org/svnsearch/repos/XWIKI/search]].
Vincent Massol 42.2 79 * To get the first commit of XWiki, checkout ##xwiki-platform## and issue: {{code language="sh"}}git rev-list --max-parents=0 --tags --branches --reverse | head -1 | xargs git log{{/code}} (another less good way: {{code language="sh"}}git log --reverse XWIKI_0_1_10{{/code}}).
Vincent Massol 35.1 80
81 {{info}}
82 Some trivia:
83 * The first commit of XWiki was done by Ludovic on 15 December 2003, at 09:13:33 Paris/France time.
84 * The first version of XWiki was taking less than 6MB of disk space (uncompressed and including its libraries).
85 {{/info}}

Get Connected