-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
136 lines (116 loc) · 3.48 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
129
130
131
132
133
134
135
136
//*********************************************
// Required by build script to generate tutorial
buildscript {
repositories {
}
dependencies {
}
}
plugins {
id 'org.asciidoctor.jvm.convert' version '3.1.0'
}
apply plugin: "java"
apply plugin: "war"
apply plugin: 'idea'
apply plugin: 'eclipse-wtp'
import org.asciidoctor.gradle.jvm.AsciidoctorTask
//*********************************************
// Required to build a BCD-UI webapp
dependencies {
repositories {
mavenCentral()
maven {
url "https://github.com/businesscode/maven-repo/raw/master"
}
}
implementation 'de.businesscode.bcdui:bcd-ui-core:5.6.0-SNAPSHOT'
implementation 'de.businesscode.bcdui:bcd-ui-theme-bcd:5.6.0-SNAPSHOT'
implementation 'com.oracle.database.jdbc:ojdbc8:19.6.0.0'
}
//*********************************************
// Settings for creating a war
webAppDirName = "web"
war {
archiveBaseName = "bcduidocu"
includeEmptyDirs = false
}
//*********************************************
// Generate tutorial HTML from all.adoc
task buildTutorial(type: AsciidoctorTask) {
ext.taskDestDirName = "$buildDir/htmldocs/tutorial"
def taskSource = "tutorial"
// Resources under ./images/ are per default copied by AsciidoctorTask
sources {
include "index.adoc"
}
baseDirFollowsSourceDir()
configure {
attributes 'source-highlighter' : 'coderay',
'coderay-linenums-mode' : 'table',
icons : 'font',
linkattrs : true,
encoding : 'UTF-8'
outputDir = file(taskDestDirName)
sourceDir = file(taskSource)
}
outputOptions {
backends = ['html5'] // ['html5','pdf']
separateOutputDirs = false
}
}
//*********************************************
// This collects BCD-UI docu (tutorial, js-api, java-api) to /docs
// The resulting structure is aligned with GitHub
// This task requires BCD-UI cloned next to BCD-UI-Docu and task bcduiBuildDocu being executed there already
// GitHub pages is setup to use /docs
task updateDocs( type: Copy ) {
group 'bcdui'
dependsOn buildTutorial
def bcduiDocuFolder = '../BCD-UI/Docu/build/htmldocs'
doFirst {
delete 'docs'
}
if( ! file(bcduiDocuFolder).exists() )
logger.warn("$bcduiDocuFolder not found (execute bcduiBuildDocu in BCD-UI), only collecting tutorial")
into 'docs' // This is a GitHub pages friendly location
// From BCD-UI-Tutorial project
from( buildTutorial.taskDestDirName ) {
into "tutorial"
}
// From BCD-UI project
from( bcduiDocuFolder )
from( '../BCD-UI/Docu/xsd' ) {
into 'xsd'
}
from( '../BCD-UI/Docu/build/jsApiStubs/bcduiApiStubs.js' ) {
into 'resources'
}
// Replace version and date placeholders
doLast {
fileTree( dir: "docs" ).each { f ->
String content = f.getText("UTF-8")
if( content.contains("--bcd-dyn-replace-current-version-date--") ) {
content = content.replaceAll('--bcd-dyn-replace-current-version-date--', (getProperty('bcdui.version') + " (" + (String) new Date().format('yyyy-MM-dd'))+")")
f.write(content, "UTF-8")
}
}
}
}
//*********************************************
// For Eclipse WTP, we set the context path
// Will then usually be http://localhost:8080/BCD-UI-Docu
eclipse {
wtp {
component {
contextPath = 'BCD-UI-Docu'
}
}
}
//*********************************************
// For Intellij IDEA
// Will then usually be http://localhost:8080/BCD-UI-Docu
idea {
module {
jdkName = '11'
}
}