aboutsummaryrefslogtreecommitdiff
path: root/juick-server/build.gradle
blob: c412f0f86a3cd97a3596607b3b884724e9b498c6 (plain) (blame)
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
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'com.moowork.node'
apply plugin: 'io.github.swagger2markup'
apply plugin: 'org.asciidoctor.convert'

task compileFrontend(type: YarnTask) {
    inputs.files(fileTree('node_modules'))
    inputs.files(fileTree('src'))
    inputs.file('package.json')
    inputs.file('webpack.config.js')
    outputs.dir('src/main/resources/static')
    args = ['run', 'compile']
}

ext {
    swaggerOutputDir = file("${buildDir}/swagger")
    docsOutputDir = file("${buildDir}/docs")
}

test {
    systemProperty 'io.springfox.staticdocs.outputDir', swaggerOutputDir
    outputs.dir swaggerOutputDir
}

convertSwagger2markup {
    dependsOn test
    swaggerInput "${swaggerOutputDir}/swagger.json"
    outputDir swaggerOutputDir
    config = [
            'swagger2markup.markupLanguage' : 'ASCIIDOC',
            'swagger2markup.pathsGroupedBy' : 'TAGS'
    ]
}
task asciidocIndex (type: Copy) {
    from 'src/docs'
    into swaggerOutputDir
    include '*.adoc'
}
asciidoctor {
    dependsOn convertSwagger2markup
    dependsOn asciidocIndex
    sourceDir = swaggerOutputDir
    sources {
        include 'index.adoc', 'overview.adoc', 'definitions.adoc', 'paths.adoc'
    }
    attributes = [
            doctype: 'book',
            toc: 'left',
            toclevels: '3',
            numbered: '',
            sectlinks: '',
            sectanchors: '',
            hardbreaks: '',
            src: swaggerOutputDir,
            generated: docsOutputDir
            ]
    outputDir = docsOutputDir
}

dependencies {
    compile project(':juick-common')
    compile 'com.github.ben-manes.caffeine:caffeine:2.6.2'
    compile("org.springframework.boot:spring-boot-starter-cache")
    compile ('org.springframework.boot:spring-boot-starter-security')
    compile ('org.springframework.boot:spring-boot-starter-jdbc')
    compile("org.springframework.boot:spring-boot-starter-security")
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-websocket")
    compile 'org.springframework.boot:spring-boot-devtools'
    
    compileOnly 'io.springfox:springfox-core:2.9.2'

    compile 'org.apache.commons:commons-email:1.5'
    compile 'com.github.scribejava:scribejava-apis:5.5.0'
    compile 'com.github.pengrad:java-telegram-bot-api:4.1.0'
    compile 'com.github.messenger4j:messenger4j:1.0.0'
    compile 'org.springframework.social:spring-social-twitter:1.1.2.RELEASE'
    compile 'com.twelvemonkeys.imageio:imageio-jpeg:3.4.1'
    compile 'org.imgscalr:imgscalr-lib:4.2'
    compile 'org.twitter4j:twitter4j-core:4.0.7'

    compile 'xpp3:xpp3:1.1.4c'

    compile 'rocks.xmpp:xmpp-core-client:0.8.1-SNAPSHOT'
    compile 'rocks.xmpp:xmpp-extensions-client:0.8.1-SNAPSHOT'

    compile "javax.inject:javax.inject:1"
    compile "javax.xml.bind:jaxb-api:2.3.0"
    compile 'org.glassfish.jaxb:jaxb-runtime:2.3.0.1'

    compile 'com.rometools:rome:1.11.0'
    compile 'com.rometools:rome-modules:1.11.0'

    compile 'org.flywaydb:flyway-core:5.1.4'

    runtime 'mysql:mysql-connector-java:5.1.45'
    runtime 'com.h2database:h2:1.4.196'
    runtime "commons-fileupload:commons-fileupload:1.3.3"

    compile 'com.github.scribejava:scribejava-apis:5.6.0'
    compile 'com.github.ooxi:serialized-php-parser:0.5.0'
    compile 'io.pebbletemplates:pebble-spring5:3.0.5'
    compile 'com.atlassian.commonmark:commonmark:0.11.0'
    compile 'com.atlassian.commonmark:commonmark-ext-autolink:0.11.0'

    testCompile ("org.springframework.boot:spring-boot-starter-test")
    testCompile ('net.sourceforge.htmlunit:htmlunit:2.33')
    testCompile ('org.springframework.security:spring-security-test')

    testCompile 'io.springfox:springfox-swagger2:2.9.2'
}

bootJar {
    launchScript()
}

bootRun {
    sourceResources sourceSets.main
}

bootRun.dependsOn ':generateDebugKey'
compileFrontend.dependsOn 'yarn'
processResources.dependsOn 'compileFrontend'