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') 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.5.0' compile 'com.github.ooxi:serialized-php-parser:0.5.0' compile 'io.pebbletemplates:pebble-spring5:3.0.3' 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.32') testCompile ('org.springframework.security:spring-security-test') testCompile 'io.springfox:springfox-swagger2:2.9.2' } bootJar { launchScript() } compileFrontend.dependsOn 'yarn' processResources.dependsOn 'compileFrontend'