Wiki source code of Development Tools

Last modified by Manuel Leduc on 2020/04/10 11:31

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 == In-Page editing ==
32
33 === It's All Text ===
34
35 * URL: https://addons.mozilla.org/en-US/firefox/addon/its-all-text/
36 * 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.
37 * OS: Windows / Mac OS X / Linux
38
39 === gEdit ===
40
41 * URL: https://wiki.gnome.org/Apps/Gedit
42 * Description: A text editor very appreciated by developers. With syntax highlighting and a lot of available plug-ins.
43 * OS: Linux with ports for Windows and Mac OS X
44
45 === Velocity highlighting for gEdit ===
46
47 * URL: https://github.com/xwiki-contrib/gedit-velocity-highlighting
48 * Description: a file to add to have the Velocity Syntax support in gEdit.
49
50 == Atlassian JIRA issue tracker ==
51
52 The main issue tracking system used by all XWiki projects.
53
54 === Online ===
55
56 * URL: https://jira.xwiki.org
57
58 === Jira client ===
59
60 * URL: http://almworks.com/jiraclient
61 * 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"]]
62 * Environment: Windows / Mac OS X / Linux
63
64 == Git ==
65
66 The main version control system used for all XWiki projects sources.
67
68 === GitHub ===
69
70 That's where sources are actually hosted, it offers some online tools and help on how to use git.
71
72 === Git shell client ===
73
74 * URL: http://git-scm.com/
75 * Description: The official git client. Present in almost all Unix/Linux repositories distributions.
76 * Environment: Mac OS X / Linux. For Windows see http://code.google.com/p/msysgit/
77
78 == Maven ==
79
80 The main build system used by all XWiki projects.
81
82 === M2Eclipse ===
83
84 * URL: http://www.eclipse.org/m2e/
85 * Description: Integrate a Maven project with Eclipse and Eclipse plugins
86 * Environment: All Eclipse supported OS
87
88 === IntelliJ Idea integrated maven ===
89
90 * URL: http://www.jetbrains.com/idea/
91 * Description: Since version 7, IntelliJ natively support maven.
92 * Environment: All IntelliJ Idea supported OS
93
94 === Maven shell client ===
95
96 * URL: http://maven.apache.org
97 * Description: The official maven client. See [[Installing Maven>>Community.Building#HInstallingMaven]] for more.
98 * Environment: Windows / Mac OS X / Linux
99 * Bash completion: https://github.com/juven/maven-bash-completion
100
101 == Checkstyle ==
102
103 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]].
104
105 === XWiki Checkstyle maven plugin ===
106
107 * URL: [[Community.CodeStyle]]
108 * Environment: Windows / Mac OS X / Linux
109
110 === Eclipse-cs ===
111
112 * URL: http://eclipse-cs.sourceforge.net/
113 * 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."
114 * Environment: All Eclipse supported OS
115
116 {{warning}}
117 Don't use checkstyle.xml configuration file alone, or you'll get ##cannot initialize module TreeWalker - Unable to instantiate org.xwiki.tool.checkstyle.XWikiClassFanOutComplexityCheck
118 ## 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.
119 {{/warning}}
120
121 === Checkstyle official shell client ===
122
123 * URL: http://checkstyle.sourceforge.net/
124 * Description: The official Checktyle client.
125 * Environment: Windows / Mac OS X / Linux
126
127 == AspectJ ==
128
129 The tool used by XWiki mainly to keep deprecated methods/Class isolated from the "clean" code.
130
131 === Eclipse AJDT plugin ===
132
133 * URL: http://www.eclipse.org/ajdt/
134 * Description: very useful to build/edit aspectJ files
135 * Environment: All Eclipse supported OS
136
137 == Nexus ==
138
139 Used to perform cleanup of XWiki's remote repository (+ for staging and deployment in the future)
140
141 == YourKit ==
142
143 Use to debug performance issues (memory, CPU) by profiling XWiki.
144
145 == [[Pre configured development VM>>Onboarding.VM]] ==

Get Connected