Development Tools
Development Tools
You will find here some development tools to be able to easier contribute to XWiki project. If you're an XWiki committer you can access some licenses for these tools.
- Java
- Bash
- In-Page editing
- Atlassian JIRA issue tracker
- Git
- Maven
- Checkstyle
- AspectJ
- Nexus
- YourKit
- Pre configured development VM
Java
The core technologies/programming language on which XWiki is based.
Eclipse
- URL: http://www.eclipse.org
- Description: Very well known and powerful open source development platform mostly targeting Java development.
- OS: Windows / Mac OS X / Linux
IntelliJ IDEA
- URL: http://www.jetbrains.com/idea/
- Description: Another development platform. There is an Open Source community version, and for the XWiki developers we have an open source license for the Ultimate version.
- OS: Windows / Mac OS X / Linux
Bash
Those on Unix/Linux systems can find various helpers scripts on https://github.com/xwiki/xwiki-dev-tools/tree/master/bash.
In-Page editing
It's All Text
- URL: https://addons.mozilla.org/en-US/firefox/addon/its-all-text/
- Description: A lot of code is editable directly in the wiki. However, it is not very fun to write code directly in an HTML textarea, so this extension for firefox starts your favourite text editor (with syntax highlighting, etc...) and synchronise it with the textarea. Note: it works for every website, not only XWiki.
- OS: Windows / Mac OS X / Linux
gEdit
- URL: https://wiki.gnome.org/Apps/Gedit
- Description: A text editor very appreciated by developers. With syntax highlighting and a lot of available plug-ins.
- OS: Linux with ports for Windows and Mac OS X
Velocity highlighting for gEdit
- URL: https://github.com/xwiki-contrib/gedit-velocity-highlighting
- Description: a file to add to have the Velocity Syntax support in gEdit.
Atlassian JIRA issue tracker
The main issue tracking system used by all XWiki projects.
Online
Jira client
- URL: http://almworks.com/jiraclient
- Description: Desktop client for Atlassian JIRA issue tracker. XWiki project has global Jira Client license that anyone can use to access XWiki project jira server :
- Environment: Windows / Mac OS X / Linux
Git
The main version control system used for all XWiki projects sources.
GitHub
That's where sources are actually hosted, it offers some online tools and help on how to use git.
Git shell client
- URL: http://git-scm.com/
- Description: The official git client. Present in almost all Unix/Linux repositories distributions.
- Environment: Mac OS X / Linux. For Windows see http://code.google.com/p/msysgit/
Maven
The main build system used by all XWiki projects.
M2Eclipse
- URL: http://www.eclipse.org/m2e/
- Description: Integrate a Maven project with Eclipse and Eclipse plugins
- Environment: All Eclipse supported OS
IntelliJ Idea integrated maven
- URL: http://www.jetbrains.com/idea/
- Description: Since version 7, IntelliJ natively support maven.
- Environment: All IntelliJ Idea supported OS
Maven shell client
- URL: http://maven.apache.org
- Description: The official maven client. See Installing Maven for more.
- Environment: Windows / Mac OS X / Linux
- Bash completion: https://github.com/juven/maven-bash-completion
Checkstyle
The system used by maven to automates the process of checking Java code for XWiki coding standard. Configuration file : checkstyle.xml.
XWiki Checkstyle maven plugin
- URL: CodeStyle
- Environment: Windows / Mac OS X / Linux
Eclipse-cs
- URL: https://github.com/checkstyle/eclipse-cs
- Description: "With the Checkstyle Eclipse plug-in your code is constantly inspected for problems. Within the Eclipse workbench you are notified of problems via the Eclipse Problems View and source code annotations just as you would see with compiler errors or warnings."
- Environment: All Eclipse supported OS
CheckStyle-IDEA
- URL: https://plugins.jetbrains.com/plugin/1065-checkstyle-idea
- Description: " This plugin provides both real-time and on-demand scanning of Java files with CheckStyle from within IDEA."
- Environment: All IDEA supported OS
Checkstyle official shell client
- URL: http://checkstyle.sourceforge.net/
- Description: The official Checktyle client.
- Environment: Windows / Mac OS X / Linux
AspectJ
The tool used by XWiki mainly to keep deprecated methods/Class isolated from the "clean" code.
Eclipse AJDT plugin
- URL: http://www.eclipse.org/ajdt/
- Description: very useful to build/edit aspectJ files
- Environment: All Eclipse supported OS
Nexus
Used to perform cleanup of XWiki's remote repository (+ for staging and deployment in the future)
YourKit
Use to debug performance issues (memory, CPU) by profiling XWiki.