Wiki source code of Development Tools

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

Show last authors
1 = Development Tools =
2
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]].
4
5 {{toc/}}
6
7 == Java ==
8
9 The core technologies/programming language on which XWiki is based.
10
11 === Eclipse ===
12
13 {{info}}
14 Look at [[Building in Eclipse>>Community.BuildingInEclipse]] for some tutorials about configuring your workspace
15 {{/info}}
16
17 * URL: http://www.eclipse.org
18 * Description: Very well known and powerful open source development platform mostly targeting Java development.
19 * OS: Windows / Mac OS X / Linux
20
21 === IntelliJ IDEA ===
22
23 {{info}}
24 Look at [[Working in Intellij IDEA>>Community.BuildingInIdea]] for some tutorials about configuring your workspace
25 {{/info}}
26
27 * URL: http://www.jetbrains.com/idea/
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.
29 * OS: Windows / Mac OS X / Linux
30
31 == Bash
32
33 Those on Unix/Linux systems can find various helpers scripts on [[https://github.com/xwiki/xwiki-dev-tools/tree/master/bash]].
34
35 == In-Page editing ==
36
37 === It's All Text ===
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
54 == Atlassian JIRA issue tracker ==
55
56 The main issue tracking system used by all XWiki projects.
57
58 === Online ===
59
60 * URL: https://jira.xwiki.org
61
62 === Jira client ===
63
64 * URL: http://almworks.com/jiraclient
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"]]
66 * Environment: Windows / Mac OS X / Linux
67
68 == Git ==
69
70 The main version control system used for all XWiki projects sources.
71
72 === GitHub ===
73
74 That's where sources are actually hosted, it offers some online tools and help on how to use git.
75
76 === Git shell client ===
77
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/
81
82 == Maven ==
83
84 The main build system used by all XWiki projects.
85
86 === M2Eclipse ===
87
88 * URL: http://www.eclipse.org/m2e/
89 * Description: Integrate a Maven project with Eclipse and Eclipse plugins
90 * Environment: All Eclipse supported OS
91
92 === IntelliJ Idea integrated maven ===
93
94 * URL: http://www.jetbrains.com/idea/
95 * Description: Since version 7, IntelliJ natively support maven.
96 * Environment: All IntelliJ Idea supported OS
97
98 === Maven shell client ===
99
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
103 * Bash completion: https://github.com/juven/maven-bash-completion
104
105 == Checkstyle ==
106
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]].
108
109 === XWiki Checkstyle maven plugin ===
110
111 * URL: [[Community.CodeStyle]]
112 * Environment: Windows / Mac OS X / Linux
113
114 === Eclipse-cs ===
115
116 * URL: https://github.com/checkstyle/eclipse-cs
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
119
120 {{warning}}
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
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.
123 {{/warning}}
124
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
135 === Checkstyle official shell client ===
136
137 * URL: http://checkstyle.sourceforge.net/
138 * Description: The official Checktyle client.
139 * Environment: Windows / Mac OS X / Linux
140
141 == AspectJ ==
142
143 The tool used by XWiki mainly to keep deprecated methods/Class isolated from the "clean" code.
144
145 === Eclipse AJDT plugin ===
146
147 * URL: http://www.eclipse.org/ajdt/
148 * Description: very useful to build/edit aspectJ files
149 * Environment: All Eclipse supported OS
150
151 == Nexus ==
152
153 Used to perform cleanup of XWiki's remote repository (+ for staging and deployment in the future)
154
155 == YourKit ==
156
157 Use to debug performance issues (memory, CPU) by profiling XWiki.
158
159 == [[Pre configured development VM>>Onboarding.VM]] ==

Get Connected