Changes for page Debugging

Last modified by Marius Dumitru Florea on 2017/08/25 12:03

<
From version < 44.1 >
edited by Marius Dumitru Florea
on 2017/08/25 12:02
To version < 45.1
edited by Marius Dumitru Florea
on 2017/08/25 12:03
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,0 +1,155 @@
1 +{{warning}}
2 +The GWT WYSIWYG editor is no longer available starting with XWiki 9.7. It has been replaced by [[CKEditor>>extensions:Extension.CKEditor Integration.WebHome]].
3 +{{/warning}}
4 +
5 +{{toc start="2"/}}
6 +
7 +== Eclipse with GWT ==
8 +
9 +=== Download and install GWT ===
10 +
11 +* [[GWT SDK>>url:http://www.gwtproject.org/gettingstarted.html]]
12 +* Eclipse Plugin
13 +** [[Installation Instructions>>https://developers.google.com/eclipse/docs/install-eclipse-4.2]]
14 +** Direct download [[link>>http://dl.google.com/eclipse/plugin/4.2]]
15 +* [[Browser Plugin>>http://gwt.googleusercontent.com/samples/MissingPlugin/MissingPlugin.html]]
16 +
17 +=== Download a recent XWiki snapshot ===
18 +
19 +* [[http://maven.xwiki.org/snapshots/org/xwiki/enterprise/xwiki-enterprise-jetty-hsqldb/]]
20 +
21 +=== Import gwt projects into workspace ===
22 +
23 +Checkout source code for e.g. [[xwiki/xwiki-platform>>https://github.com/xwiki/xwiki-platform]] from Github, which is described [[here >>http://dev.xwiki.org/xwiki/bin/view/Community/SourceRepository#HGettingSources]].
24 +
25 +Go into project directory "./xwiki-platform-core/xwiki-platform-wysiwyg/xwiki-platform-wysiwyg-client/", open a command prompt and run the following command to prevent Eclipse from importing the project as maven project.
26 +
27 +{{code language="console"}}
28 +>mvn eclipse:clean eclipse:eclipse
29 +{{/code}}
30 +
31 +{{info}}
32 +If you have never done this before, have a look at [[Building XWiki from sources>>http://dev.xwiki.org/xwiki/bin/view/Community/Building#HInstallingMaven]]
33 +{{/info}}
34 +
35 +Add the following preferences to the "maven-eclipse-plugin" and "gwt-maven-plugin" plugin in "./xwiki-platform-core/xwiki-platform-wysiwyg/xwiki-platform-wysiwyg-client/pom.xml"
36 +
37 +{{code language="xml"}}
38 +<plugin>
39 + <groupId>org.apache.maven.plugins</groupId>
40 + <artifactId>maven-eclipse-plugin</artifactId>
41 + <version>2.9</version>
42 + <configuration>
43 + <projectNameTemplate>[groupId].[artifactId]</projectNameTemplate>
44 + <addGroupIdToProjectName>false</addGroupIdToProjectName>
45 + <wtpversion>2.0</wtpversion>
46 + <projectnatures>
47 + <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
48 + <nature>org.eclipse.jdt.core.javanature</nature>
49 + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
50 + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
51 + <nature>com.google.gwt.eclipse.core.gwtNature</nature>
52 + </projectnatures>
53 + </configuration>
54 +</plugin>
55 +<plugin>
56 + <groupId>org.codehaus.mojo</groupId>
57 + <artifactId>gwt-maven-plugin</artifactId>
58 + <configuration>
59 + <includes>org/xwiki/gwt/wysiwyg/WysiwygTestSuite.java</includes>
60 + <buildOutputDirectory>${webappDirectory}/WEB-INF/classes</buildOutputDirectory>
61 + <module>org.xwiki.gwt.wysiwig.Wsyiwyg</module>
62 + <webappDirectory>${webappDirectory}</webappDirectory>
63 + <hostedWebapp>${webappDirectory}</hostedWebapp>
64 + </configuration>
65 +</plugin>
66 +{{/code}}
67 +
68 +Within adding this you have to skip the Checkstyle configurations to be able to build the project by adding {{code language="xml"}}<skip>true</skip>{{/code}}.
69 +
70 +{{code language="xml"}}
71 +<plugin>
72 + <groupId>org.apache.maven.plugins</groupId>
73 + <artifactId>maven-checkstyle-plugin</artifactId>
74 + <configuration>
75 + <skip>true</skip>
76 + </configuration>
77 +</plugin>
78 +{{/code}}
79 +
80 +Open Eclipse, go to the Package Explorer and right-click {{code}}Import...> Existing Projects into Workspace> xwiki-platform-wysiwyg-client{{/code}}. After that you may have errors in your project. To solve this delete the target folders and run
81 +
82 +{{code language="console"}}
83 +>mvn clean install
84 +{{/code}}
85 +
86 +=== Debug Configurations ===
87 +
88 +Next right-click on Project {{code}}Debug As...> Debug Configurations{{/code}} and set configurations as shown on the following images.
89 +
90 +Go to {{code}}Web Application> New launch configuration{{/code}} to the Main tab, set
91 +
92 +* the Project (e.g. "xwiki-platform-wysiwyg-client")
93 +* and Main class "com.google.gwt.dev.DevMode".
94 +
95 +[[[[image:xwiki-wysiwyg-plugins-1-project-debug-configurations-marked.PNG||width="680px"]]>>attach:xwiki-wysiwyg-plugins-1-project-debug-configurations-marked.PNG]]
96 +
97 +Hit the "Server" tab and uncheck "Run built-in server".
98 +
99 +[[[[image:xwiki-wysiwyg-plugins-2-project-debug-configurations.PNG||width="680px"]]>>attach:xwiki-wysiwyg-plugins-2-project-debug-configurations.PNG]]
100 +
101 +Switch to the "GWT" tab and add the following URL {{code}}http://localhost:8080/xwiki/bin/edit/Sandbox/Test?editor=wysiwyg{{/code}}
102 +
103 +[[[[image:xwiki-wysiwyg-plugins-3-project-debug-configurations.PNG||width="680px"]]>>attach:xwiki-wysiwyg-plugins-3-project-debug-configurations.PNG]]
104 +
105 +Next switch the tab and add the following arguments.
106 +
107 +{{code}}
108 +-noserver
109 +-war C:\Temp\xwiki-enterprise-jetty-hsqldb-5.2-20130627.090543-2\xwiki-enterprise-jetty-hsqldb-5.2-SNAPSHOT\webapps\xwiki
110 +-startupUrl http://localhost:8080/xwiki/bin/edit/Sandbox/Test?editor=wysiwyg
111 +-remoteUI "${gwt_remote_ui_server_port}:${unique_id}"
112 +-logLevel INFO
113 +-codeServerPort auto org.xwiki.gwt.wysiwyg.Wysiwyg org.xwiki.gwt.wysiwyg.WysiwygDev
114 +{{/code}}
115 +
116 +{{warning}}
117 +Replace "C:\Temp\xwiki-enterprise-jetty-hsqldb-5.2-20130627.090543-2\xwiki-enterprise-jetty-hsqldb-5.2-SNAPSHOT\webapps\xwiki" with the location of your current XWiki snapshot.
118 +{{/warning}}
119 +
120 +Change the "Working Directory" to "other" and paste the location of your current XWiki snapshot.
121 +
122 +[[[[image:xwiki-wysiwyg-plugins-4-project-debug-configurations.PNG||width="680px"]]>>attach:xwiki-wysiwyg-plugins-4-project-debug-configurations.PNG]]
123 +
124 +Right-click your certain project (e.g. xwiki-platform-wysiwyg-client) in eclipse and select {{code}}Properties> Google> Web Toolkit{{/code}} and check {{code}}Use Google Web Toolkit{{/code}}
125 +
126 +{{warning}}
127 +As of a eclipse bug you maybe have to repeat that step another time before the setting gets active.
128 +{{/warning}}
129 +
130 +If you need to debug more than just one project at the same time, you have to repeat these steps for e.g. (% class="box code" %)xwiki-platform-gwt-user(%%) and modificate the classpath of the launch configuration. In practice this means for each project that is dependent of you have to add its source/resource directories. Follow these steps as described here and shown by the screenshot.
131 +
132 +* select "Classpath" tab
133 +* select "User Entries"
134 +* press "Advanced"
135 +* select "Add folder"
136 +
137 +[[[[image:xwiki-wysiwyg-plugins-7-project-debug-configurations.PNG||width="680px"]]>>attach:xwiki-wysiwyg-plugins-7-project-debug-configurations.PNG]]
138 +
139 +{{warning}}
140 +These dependencies must be before "(default classpath)" as shown by the screenshot, so the hosted mode can recognize direct change.
141 +{{/warning}}
142 +
143 +Go to the directory of your current XWiki snapshot, open a command prompt and run {{code}}start_xwiki_debug.bat{{/code}}
144 +
145 +{{info}}
146 +Your environment variables have to be in 8.3 DOS path format to execute this batch-file
147 +{{/info}}
148 +
149 +Right-click on Project {{code}}Debug As...> Debug Configurations> Debug{{/code}}. Maybe there will pop-up the following dialog, you don't have to consider this, just confirm with "yes".
150 +
151 +[[image:xwiki-wysiwyg-plugins-5-project-debug-configurations.PNG]]
152 +
153 +Now set e.g. a breakpoint and double click the URL like shown in the picture below to debug the wysiwyg-editor.
154 +
155 +[[image:xwiki-wysiwyg-plugins-6-project-debug-configurations.PNG]]

Get Connected