-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
103 lines (96 loc) · 2.35 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
/*
* https://guides.gradle.org/creating-new-gradle-builds/
* https://github.com/asciidoctor/asciidoctor-gradle-plugin
*/
plugins {
id 'base'
id "com.palantir.git-version" version "0.15.0"
id "org.asciidoctor.jvm.convert" version "3.3.2"
id 'org.asciidoctor.jvm.pdf' version '3.3.2'
id 'org.asciidoctor.jvm.gems' version '3.3.2'
}
description = 'cards+ asciidoc book'
version = gitVersion();
repositories {
mavenCentral()
ruby.gems()
}
dependencies {
asciidoctorGems 'rubygems:rouge:3.28.0'
}
// tag::adoc[]
asciidoctorj {
requires 'rouge'
requires file('src/main/ruby/glob-include-processor.rb')
modules {
diagram {
version '2.2.1'
}
pdf {
version '1.6.2'
}
}
logLevel 'INFO'
options doctype: 'book'
attributes 'source-highlighter': 'rouge'
attributes 'sectlink': true
attributes 'sectanchors': true
attributes 'numbered': true
attributes 'idprefix': ''
attributes 'idseparator': '-'
attributes 'author': 'Robert Bruckbauer'
attributes 'email': 'bruckbauer@gmx.at'
attributes 'website': 'https://cardsplus.info'
attributes 'revnumber': version
attributes 'revdate': new Date().format('yyyy/MM/dd')
attributes 'revyear': new Date().format('yyyy')
attributes 'revremark': description
}
// end::adoc[]
// tag::html[]
asciidoctor {
build.dependsOn it
dependsOn asciidoctorGemsPrepare
baseDirFollowsSourceDir()
attributes 'toc': 'left'
attributes 'toclevels': '5'
attributes 'imagesdir': 'images'
sourceDir file('doc')
sources {
include 'index.adoc', 'pitch.adoc'
}
resources {
from('doc') {
include '**/*.jpg'
include '**/*.png'
include '**/*.svg'
}
into './images'
}
outputDir file('pages/html')
outputs.upToDateWhen { false }
}
task html(dependsOn: 'asciidoctor')
// end::html[]
// tag::pdf[]
pdfThemes.local 'a4', { themeDir = 'etc' }
asciidoctorPdf {
build.dependsOn it
dependsOn asciidoctorGemsPrepare
baseDirFollowsSourceDir()
attributes 'toc': 'left'
attributes 'toclevels': '3'
attributes 'imagesdir': file('doc')
attributes 'imagesoutdir': file('build/pdf/images')
attributes 'media': 'print'
theme 'a4'
fontsDir file('fonts')
sourceDir file('doc')
sources {
include 'index.adoc'
}
outputDir file('pages/pdf')
outputs.upToDateWhen { false }
}
task pdf(dependsOn: 'asciidoctorPdf')
// end::pdf[]