Skip to content

Commit 27e36c8

Browse files
authored
Merge pull request #519 from facultyai/build-julia-components
Add Julia build pipeline
2 parents 75f2769 + 2b5ccf4 commit 27e36c8

File tree

5 files changed

+17623
-24
lines changed

5 files changed

+17623
-24
lines changed

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,9 @@ man
3232
R
3333
DESCRIPTION
3434
NAMESPACE
35-
!R/zzz.R
35+
!R/themes.R
36+
37+
# Julia build artifacts
38+
deps/
39+
src/*.jl
40+
Project.toml

gulpfile.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const del = require('del');
33
const mkdirp = require('mkdirp');
44
const rename = require('gulp-rename');
55
const footer = require('gulp-footer');
6+
const replace = require('gulp-replace');
67

78
function cleanLib() {
89
mkdirp.sync('lib');
@@ -60,6 +61,18 @@ function addThemesToRNamespace() {
6061
.pipe(dest('.', {overwrite: true}));
6162
}
6263

64+
function moveJlThemesToSrc() {
65+
return src('jl/themes.jl').pipe(dest('src'));
66+
}
67+
68+
function addThemesToJlNamespace() {
69+
// modify generated DashBootstrapComponents.jl file to include themes.jl
70+
let anchor = 'include("dbc_tabs.jl")';
71+
return src('src/DashBootstrapComponents.jl')
72+
.pipe(replace(anchor, anchor + '\ninclude("themes.jl")\n'))
73+
.pipe(dest('src'));
74+
}
75+
6376
exports.postPyBuild = series(copyDist, copyGeneratedFiles, cleanGeneratedFiles);
6477
exports.clean = parallel(
6578
cleanGeneratedFiles,
@@ -73,3 +86,10 @@ exports.postRBuild = series(
7386
cleanGeneratedFiles,
7487
addThemesToRNamespace
7588
);
89+
exports.postJlBuild = series(
90+
copyDist,
91+
copyGeneratedFiles,
92+
cleanGeneratedFiles,
93+
moveJlThemesToSrc,
94+
addThemesToJlNamespace
95+
);

jl/themes.jl

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
export prepend_bootswatch, dbc_themes
2+
3+
function prepend_bootswatch(suffix)
4+
BOOTSWATCH_BASE = "https://stackpath.bootstrapcdn.com/bootswatch/4.5.2/"
5+
return string(BOOTSWATCH_BASE, suffix)
6+
end
7+
8+
dbc_themes = (
9+
BOOTSTRAP = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css",
10+
GRID = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap-grid.min.css",
11+
CERULEAN = prepend_bootswatch("cerulean/bootstrap.min.css"),
12+
COSMO = prepend_bootswatch("cosmo/bootstrap.min.css"),
13+
CYBORG = prepend_bootswatch("cyborg/bootstrap.min.css"),
14+
DARKLY = prepend_bootswatch("darkly/bootstrap.min.css"),
15+
FLATLY = prepend_bootswatch("flatly/bootstrap.min.css"),
16+
JOURNAL = prepend_bootswatch("journal/bootstrap.min.css"),
17+
LITERA = prepend_bootswatch("litera/bootstrap.min.css"),
18+
LUMEN = prepend_bootswatch("lumen/bootstrap.min.css"),
19+
LUX = prepend_bootswatch("lux/bootstrap.min.css"),
20+
MATERIA = prepend_bootswatch("materia/bootstrap.min.css"),
21+
MINTY = prepend_bootswatch("minty/bootstrap.min.css"),
22+
PULSE = prepend_bootswatch("pulse/bootstrap.min.css"),
23+
SANDSTONE = prepend_bootswatch("sandstone/bootstrap.min.css"),
24+
SIMPLEX = prepend_bootswatch("simplex/bootstrap.min.css"),
25+
SKETCHY = prepend_bootswatch("sketchy/bootstrap.min.css"),
26+
SLATE = prepend_bootswatch("slate/bootstrap.min.css"),
27+
SOLAR = prepend_bootswatch("solar/bootstrap.min.css"),
28+
SPACELAB = prepend_bootswatch("spacelab/bootstrap.min.css"),
29+
SUPERHERO = prepend_bootswatch("superhero/bootstrap.min.css"),
30+
UNITED = prepend_bootswatch("united/bootstrap.min.css"),
31+
YETI = prepend_bootswatch("yeti/bootstrap.min.css")
32+
)

0 commit comments

Comments
 (0)