-
Notifications
You must be signed in to change notification settings - Fork 5
/
build.gradle
128 lines (121 loc) · 4.27 KB
/
build.gradle
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
117
118
119
120
121
122
123
124
125
126
127
128
plugins {
id 'SwimRuntimeFramework'
// id 'SwimRuntimePublish'
}
description = 'Swim Runtime'
ext.homepage = 'https://github.com/swimos/swim/tree/main/swim-java/swim-runtime'
ext.moduleName = null
dependencies {
api project(':swim-core')
api project(':swim-host')
api project(':swim-polyglot')
}
javadoc {
title 'Swim Runtime'
options.overview = "${projectDir}/overview.html"
options.group('Core',
'swim.args',
'swim.avro',
'swim.codec',
'swim.collections',
'swim.concurrent',
'swim.csv',
'swim.dataflow',
'swim.db',
'swim.deflate',
'swim.http',
'swim.http2',
'swim.io',
'swim.io.http',
'swim.io.mqtt',
'swim.io.warp',
'swim.io.ws',
'swim.json',
'swim.math',
'swim.mqtt',
'swim.observable',
'swim.protobuf',
'swim.recon',
'swim.security',
'swim.spatial',
'swim.streamlet',
'swim.structure',
'swim.uri',
'swim.util',
'swim.warp',
'swim.web',
'swim.ws',
'swim.xml')
options.group('Host',
'swim.api',
'swim.auth',
'swim.cli',
'swim.client',
'swim.actor',
'swim.java',
'swim.kernel',
'swim.meta',
'swim.remote',
'swim.server',
'swim.service',
'swim.service.web',
'swim.store',
'swim.store.db',
'swim.store.mem',
'swim.system')
options.group('Polyglot',
'swim.dynamic',
'swim.dynamic.api',
'swim.dynamic.java',
'swim.dynamic.observable',
'swim.dynamic.structure',
'swim.js',
'swim.vm',
'swim.vm.js')
// Google Analytics Tracking Code
options.addBooleanOption("-allow-script-in-comments", true)
options.header = "<script async src=\"https://www.googletagmanager.com/gtag/js?id=UA-79441805-2\"></script>\n";
"<script>\n";
" window.dataLayer = window.dataLayer || [];\n";
" function gtag(){dataLayer.push(arguments);}\n";
" gtag('js', new Date());\n";
" gtag('config', 'UA-79441805-2');\n";
"</script>\n";
options.addStringOption('-module-source-path', [
"${projectDir}/swim-core/*/src/main/java",
"${projectDir}/swim-host/*/src/main/java",
"${projectDir}/swim-polyglot/*/src/main/java"].join(':'))
}
subprojects {
afterEvaluate {
localizeDependencies(project) // override maven dependencies with project dependencies
}
}
def localizeDependencies(subproject) {
if (subproject.plugins.hasPlugin(JavaLibraryPlugin)) {
subproject.configurations.api.dependencies.toArray().each { dependency ->
if (dependency instanceof ExternalModuleDependency && dependency.group == 'org.swimos') {
subproject.configurations.api.dependencies.remove(dependency)
subproject.dependencies {
api project(':' + dependency.name)
}
}
}
subproject.configurations.implementation.dependencies.toArray().each { dependency ->
if (dependency instanceof ExternalModuleDependency && dependency.group == 'org.swimos') {
subproject.configurations.implementation.dependencies.remove(dependency)
subproject.dependencies {
implementation project(':' + dependency.name)
}
}
}
subproject.configurations.testImplementation.dependencies.toArray().each { dependency ->
if (dependency instanceof ExternalModuleDependency && dependency.group == 'org.swimos') {
subproject.configurations.testImplementation.dependencies.remove(dependency)
subproject.dependencies {
testImplementation project(':' + dependency.name)
}
}
}
}
}