Wiki source code of Development Tools

Last modified by Thomas Mortagne on 2023/08/14 15:41

Hide last authors
Ludovic Dubost 19.1 1 = Development Tools =
ThomasMortagne 1.1 2
Ludovic Dubost 19.1 3 You will find here some development tools to be able to easier contribute to XWiki project. If you're an [[XWiki committer>>Community.Committership]] you can access some [[licenses for these tools>>DevelopmentToolLicenses]].
ThomasMortagne 1.1 4
Thomas Mortagne 26.1 5 {{toc/}}
ThomasMortagne 1.1 6
Ludovic Dubost 19.1 7 == Java ==
ThomasMortagne 1.1 8
ThomasMortagne 1.14 9 The core technologies/programming language on which XWiki is based.
10
Ludovic Dubost 19.1 11 === Eclipse ===
ThomasMortagne 1.1 12
Ludovic Dubost 19.1 13 {{info}}
Sergiu Dumitriu 25.2 14 Look at [[Building in Eclipse>>Community.BuildingInEclipse]] for some tutorials about configuring your workspace
Ludovic Dubost 19.1 15 {{/info}}
stevejones 14.1 16
Ludovic Dubost 19.1 17 * URL: http://www.eclipse.org
Sergiu Dumitriu 25.2 18 * Description: Very well known and powerful open source development platform mostly targeting Java development.
Ludovic Dubost 19.1 19 * OS: Windows / Mac OS X / Linux
Vincent Massol 15.1 20
Ludovic Dubost 19.1 21 === IntelliJ IDEA ===
Vincent Massol 15.1 22
Ludovic Dubost 19.1 23 {{info}}
Sergiu Dumitriu 25.2 24 Look at [[Working in Intellij IDEA>>Community.BuildingInIdea]] for some tutorials about configuring your workspace
Ludovic Dubost 19.1 25 {{/info}}
Vincent Massol 15.1 26
Ludovic Dubost 19.1 27 * URL: http://www.jetbrains.com/idea/
Sergiu Dumitriu 25.2 28 * 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.
Ludovic Dubost 19.1 29 * OS: Windows / Mac OS X / Linux
ThomasMortagne 1.1 30
Thomas Mortagne 39.1 31 == Bash
32
Thomas Mortagne 40.1 33 Those on Unix/Linux systems can find various helpers scripts on [[https://github.com/xwiki/xwiki-dev-tools/tree/master/bash]].
Thomas Mortagne 39.1 34
Guillaume Delhumeau 28.1 35 == In-Page editing ==
36
Eduard Moraru 29.1 37 === It's All Text ===
Guillaume Delhumeau 28.1 38
39 * URL: https://addons.mozilla.org/en-US/firefox/addon/its-all-text/
40 * 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.
41 * OS: Windows / Mac OS X / Linux
42
43 === gEdit ===
44
45 * URL: https://wiki.gnome.org/Apps/Gedit
46 * Description: A text editor very appreciated by developers. With syntax highlighting and a lot of available plug-ins.
47 * OS: Linux with ports for Windows and Mac OS X
48
49 === Velocity highlighting for gEdit ===
50
51 * URL: https://github.com/xwiki-contrib/gedit-velocity-highlighting
52 * Description: a file to add to have the Velocity Syntax support in gEdit.
53
Ludovic Dubost 19.1 54 == Atlassian JIRA issue tracker ==
55
ThomasMortagne 1.16 56 The main issue tracking system used by all XWiki projects.
ThomasMortagne 1.15 57
Sergiu Dumitriu 25.2 58 === Online ===
ThomasMortagne 1.1 59
Thomas Mortagne 31.1 60 * URL: https://jira.xwiki.org
ThomasMortagne 1.1 61
Ludovic Dubost 19.1 62 === Jira client ===
ThomasMortagne 1.2 63
Ludovic Dubost 19.1 64 * URL: http://almworks.com/jiraclient
Sergiu Dumitriu 25.2 65 * 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 : [[XWiki Jiraclient license>>attach:jiraclient_xwiki.license||title="XWiki Jiraclient license"]]
Ludovic Dubost 19.1 66 * Environment: Windows / Mac OS X / Linux
ThomasMortagne 1.10 67
Thomas Mortagne 22.1 68 == Git ==
ThomasMortagne 1.15 69
Ludovic Dubost 19.1 70 The main version control system used for all XWiki projects sources.
ThomasMortagne 1.16 71
Thomas Mortagne 22.1 72 === GitHub ===
ThomasMortagne 1.1 73
Thomas Mortagne 22.1 74 That's where sources are actually hosted, it offers some online tools and help on how to use git.
ThomasMortagne 1.17 75
Thomas Mortagne 22.1 76 === Git shell client ===
ThomasMortagne 1.1 77
Thomas Mortagne 22.1 78 * URL: http://git-scm.com/
79 * Description: The official git client. Present in almost all Unix/Linux repositories distributions.
80 * Environment: Mac OS X / Linux. For Windows see http://code.google.com/p/msysgit/
Thomas Mortagne 6.1 81
Ludovic Dubost 19.1 82 == Maven ==
83
ThomasMortagne 1.18 84 The main build system used by all XWiki projects.
85
Ludovic Dubost 19.1 86 === M2Eclipse ===
ThomasMortagne 1.1 87
Thomas Mortagne 26.1 88 * URL: http://www.eclipse.org/m2e/
89 * Description: Integrate a Maven project with Eclipse and Eclipse plugins
Ludovic Dubost 19.1 90 * Environment: All Eclipse supported OS
ThomasMortagne 1.1 91
Ludovic Dubost 19.1 92 === IntelliJ Idea integrated maven ===
ThomasMortagne 1.7 93
Ludovic Dubost 19.1 94 * URL: http://www.jetbrains.com/idea/
95 * Description: Since version 7, IntelliJ natively support maven.
96 * Environment: All IntelliJ Idea supported OS
ThomasMortagne 1.18 97
Ludovic Dubost 19.1 98 === Maven shell client ===
Thomas Mortagne 7.1 99
Ludovic Dubost 19.1 100 * URL: http://maven.apache.org
101 * Description: The official maven client. See [[Installing Maven>>Community.Building#HInstallingMaven]] for more.
102 * Environment: Windows / Mac OS X / Linux
Thomas Mortagne 35.1 103 * Bash completion: https://github.com/juven/maven-bash-completion
Thomas Mortagne 8.1 104
Ludovic Dubost 19.1 105 == Checkstyle ==
ThomasMortagne 1.9 106
Manuel Leduc 36.1 107 The system used by maven to automates the process of checking Java code for XWiki coding standard. Configuration file : [[checkstyle.xml>>https://raw.githubusercontent.com/xwiki/xwiki-commons/master/xwiki-commons-tools/xwiki-commons-tool-verification-resources/src/main/resources/checkstyle.xml]].
ThomasMortagne 1.19 108
Ludovic Dubost 19.1 109 === XWiki Checkstyle maven plugin ===
ThomasMortagne 1.9 110
Ludovic Dubost 19.1 111 * URL: [[Community.CodeStyle]]
112 * Environment: Windows / Mac OS X / Linux
ThomasMortagne 1.19 113
Ludovic Dubost 19.1 114 === Eclipse-cs ===
Thomas Mortagne 11.1 115
Thomas Mortagne 37.1 116 * URL: https://github.com/checkstyle/eclipse-cs
Ludovic Dubost 19.1 117 * 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."
118 * Environment: All Eclipse supported OS
Thomas Mortagne 18.1 119
Eduard Moraru 29.1 120 {{warning}}
Eduard Moraru 29.2 121 Don't use checkstyle.xml configuration file alone, or you'll get ##cannot initialize module TreeWalker - Unable to instantiate org.xwiki.tool.checkstyle.XWikiClassFanOutComplexityCheck
Thomas Mortagne 34.1 122 ## errors in Eclipse while it tries to build your project. Instead, put the latest version of https://search.maven.org/search?q=a:xwiki-commons-tool-verification-resources jar in Eclipse's ##dropins/## (recommended) or ##plugins/## folder. This jar contains a couple of XWiki specific checkstyle modules that are defined in XWiki's checkstyle.xml and without which the Eclipse-cs can not properly process the xml.
Eduard Moraru 29.1 123 {{/warning}}
Thomas Mortagne 27.1 124
Lucas Charpentier (Sereza7) 38.1 125 === CheckStyle-IDEA ===
126
127 * URL: https://plugins.jetbrains.com/plugin/1065-checkstyle-idea
128 * Description: " This plugin provides both real-time and on-demand scanning of Java files with CheckStyle from within IDEA."
129 * Environment: All IDEA supported OS
130
131 {{info}}
132 Clone the https://github.com/xwiki/xwiki-commons project and use the checkstyle.xml directly from the xwiki-commons-tool-verification-resources package.
133 {{/info}}
134
Ludovic Dubost 19.1 135 === Checkstyle official shell client ===
Thomas Mortagne 11.1 136
Ludovic Dubost 19.1 137 * URL: http://checkstyle.sourceforge.net/
138 * Description: The official Checktyle client.
139 * Environment: Windows / Mac OS X / Linux
140
141 == AspectJ ==
142
Thomas Mortagne 11.1 143 The tool used by XWiki mainly to keep deprecated methods/Class isolated from the "clean" code.
144
Vincent Massol 29.3 145 === Eclipse AJDT plugin ===
Vincent Massol 17.1 146
Ludovic Dubost 19.1 147 * URL: http://www.eclipse.org/ajdt/
148 * Description: very useful to build/edit aspectJ files
149 * Environment: All Eclipse supported OS
Vincent Massol 17.1 150
Ludovic Dubost 19.1 151 == Nexus ==
152
Vincent Massol 17.1 153 Used to perform cleanup of XWiki's remote repository (+ for staging and deployment in the future)
Vincent Massol 30.1 154
155 == YourKit ==
156
157 Use to debug performance issues (memory, CPU) by profiling XWiki.
Thomas Mortagne 33.1 158
159 == [[Pre configured development VM>>Onboarding.VM]] ==

Get Connected