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