forked from WeTheInternet/collide
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcollide.xml
116 lines (103 loc) · 3.7 KB
/
collide.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="UTF-8"?>
<project id="collide"><!-- we use id here because we want global id's to be unique -->
<properties>
<!--
Some supplied vars you can use:
${BASE} - The deploy directory where collide is launched from
. - Shorthand for ${BASE}
${WEBROOT} - The workspace directory, where collide is called from
_ - Shorthand for ${WEBROOT}
${LIB} - Defaults to ${BASE}/lib
-->
<PASSWD></PASSWD><!-- Put any text inside here to require password on entry -->
<HOST>0.0.0.0</HOST>
<PORT>8080</PORT>
<PLUGINS>gwt</PLUGINS>
<VERTX>
{
webRoot : "${WEBROOT}",
staticFiles: "${BASE}/static"
}
</VERTX>
<BOOTSTRAP>
load("vertx.js")
var eb = vertx.eventBus;
var bootstrapConfig = vertx.config;
if (!bootstrapConfig || !bootstrapConfig.webRoot || !bootstrapConfig.staticFiles) {
console.error("Collide does not know which directory to serve :(!");
}
var webFeConfig = {
port: $PORT,
host: "$HOST",
bridge: true,
webRoot: bootstrapConfig.webRoot,
staticFiles: bootstrapConfig.staticFiles
};
var participantListConfig = {
password:"${PASSWD}"
}
var workspaceConfig = {
webRoot: bootstrapConfig.webRoot
,plugins: ['gwt']
}
</BOOTSTRAP>
</properties>
<module id="main" type="vertx">
<src>java</src><!-- Default to ., which is launch directory -->
<classpath>
<src>.</src>
<jar>${LIB}/gwt-user.jar</jar>
<jar>${LIB}/collide-server.jar</jar>
<jar>${LIB}/guava-12.0.jar</jar>
<jar>${LIB}/gson-2.2.1.jar</jar>
<jar>${LIB}/jsr305.jar</jar>
<jar>${LIB}/org.eclipse.jgit-1.3.0.201202151440-r.jar</jar>
<jar>${LIB}/waveinabox-import-0.3.jar</jar>
</classpath>
<bootstrap file="./bootstrap.js"></bootstrap>
<config>$VERTX</config>
<bootstrap>
$BOOTSTRAP
// Start the FE server. Starting several instances to handle concurrent HTTP requests.
vertx.deployVerticle("com.google.collide.server.fe.WebFE", webFeConfig, 10, function() {
// Server was started.
});
// Load the participant list verticle that manages auth and client identity.
vertx.deployVerticle("com.google.collide.server.participants.Participants", participantListConfig, 1, function() {
// Server was started.
});
// Load the collaborative document sessions that manages OT and file content flushes to disk.
vertx.deployVerticle("com.google.collide.server.documents.EditSessions", null, 1, function() {
// Server was started.
});
// Load the collaborative document sessions that manages OT and file content flushes to disk.
vertx.deployVerticle("com.google.collide.server.filetree.FileTree", null, 1, function() {
// Server was started.
});
// Load the collaborative document sessions that manages OT and file content flushes to disk.
vertx.deployVerticle("com.google.collide.server.workspace.WorkspaceState", workspaceConfig, 1, function() {
// Server was started.
});
</bootstrap>
<main>${LIB}/vertx/bin/vertx</main><!-- Default vertx launch location -->
</module>
<module id="gwt" type="plugin" inherits="main">
<classpath inherits="super">
<jar>${LIB}/xapi-gwt-0.3.jar</jar>
<jar>${LIB}/xapi-dev-0.3.jar</jar>
<jar>${LIB}/gwt-dev.jar</jar>
<jar>${LIB}/gwt-codeserver.jar</jar>
</classpath>
<bootstrap>
$BOOTSTRAP
// Load the maven controller that handles running maven tasks on behalf of a user.
vertx.deployVerticle("com.google.collide.server.maven.MavenController", workspaceConfig, 1, function() {
// Server was started.
});
// Load the plugin controller which allows adding services to collide, such as gwt super dev mode, ant builds, terminal, maven, etc..
vertx.deployVerticle("com.google.collide.plugin.server.PluginManager", workspaceConfig, 1, function() {
});
</bootstrap>
<main>com.google.collide.plugin.server.gwt.GwtServerPlugin</main>
</module>
</project>