This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
The following commit(s) were added to refs/heads/master by this push:
new 7b379012a7 [JAMES-4175] upgrade jekyll version
7b379012a7 is described below
commit 7b379012a73652a48efe0692e5f9f4218781ce9c
Author: Jean Helou <[email protected]>
AuthorDate: Sat Feb 28 20:48:41 2026 +0100
[JAMES-4175] upgrade jekyll version
Updates build documentation
Creates dedicated nix devshell for jekyll in the homepage directory
---
docs/modules/community/pages/contributing.adoc | 4 +-
docs/modules/community/pages/website.adoc | 69 ++++-
docs/modules/community/partials/antora.adoc | 2 +-
flake.nix | 2 +-
src/homepage/Gemfile.lock | 80 +++--
src/homepage/flake.nix | 42 +++
src/homepage/gemset.nix | 399 +++++++++++++++++++++++++
7 files changed, 553 insertions(+), 45 deletions(-)
diff --git a/docs/modules/community/pages/contributing.adoc
b/docs/modules/community/pages/contributing.adoc
index cd12338254..ac506ac11e 100644
--- a/docs/modules/community/pages/contributing.adoc
+++ b/docs/modules/community/pages/contributing.adoc
@@ -194,7 +194,9 @@ patch is more likely to be committed quickly.
There is work in progress to support a more reproductible dev environment so
you don't have to figure out what to install or how.
-If you already have the nix package manager installed you should be able to
use the following command to enter the predefined build env :
+This work is based on nix flakes if you are not familiar with nix or flakes
you can find more information in the
https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix3-flake.html[official
documentation], https://wiki.nixos.org/wiki/Flakes[official wiki] or in
https://zero-to-nix.com/concepts/flakes/[dedicated] community
https://nix.dev/concepts/flakes[resources].
+
+If you already have the nix package manager installed you should be able to
use the following command to enter the predefined build env (experimental nix
flag `flakes` is required, `nix-command` is recommended as it is used in many
examples) with :
```
nix develop --no-update-lock-file
diff --git a/docs/modules/community/pages/website.adoc
b/docs/modules/community/pages/website.adoc
index 4ece0bb671..6cfdbd50d3 100644
--- a/docs/modules/community/pages/website.adoc
+++ b/docs/modules/community/pages/website.adoc
@@ -22,49 +22,92 @@ https://james.staged.apache.org[staging version] of the
website.
====
== Building the homepage
+
You can use jekyll to build the website. Go into `{path}` and run the
following command
-[,shell]
+=== Docker
+
+[WARNING]
+====
+The official docker image `jekyll/jekyll` is unmaintained and is not
compatible with jekyll version beyond 4.2.2.
+In this documentation we suggest a replacement `jvconseil/jekyll-docker` but
note that this is not an official image.
+Use at your own risks.
+====
+
+[source,shell]
----
-$ docker run --rm -v="$PWD:/srv/jekyll:Z" -it jekyll/jekyll:$JEKYLL_VERSION
jekyll build
+$ docker run --rm -v="$PWD:/srv/jekyll:Z" -it jvconseil/jekyll-docker:4 jekyll
build
----
The resulting deployable content will be available in the `{path}/_site/`
directory.
In order to test the homepage, you can use this command:
-[,shell]
+[source,shell]
----
-$ docker run --rm -v $PWD/site:/srv/jekyll -p 4000:4000 -it jekyll/jekyll
jekyll serve
+$ docker run --rm -v $PWD/site:/srv/jekyll -p 4000:4000 -it
jvconseil/jekyll-docker:4 jekyll serve
----
The site will be available at http://localhost:4000/
If you need to update the current site, checkout the branch asf-site from
Apache git:
-[,shell]
+[source,shell]
----
$ git clone https://git-wip-us.apache.org/repos/asf/james-site.git
$ cd james-site
$ git checkout origin/asf-site -b asf-site
----
-And replace in the previous commands `$PWD/site` by
-`<james-site-clone-directory>/content`, for example:
+make sure to build the site then copy the output to
-[,shell]
+[source,shell]
----
-$ docker run -v $PWD:/origin -v $PWD/../james-site/content:/destination
james/homepage master
-$ docker run -v $PWD/.m2:/root/.m2 -v $PWD/../james-site/content:/origin -v
$PWD/site:/destination james/site master
+$ docker run --rm -v="$PWD:/srv/jekyll:Z" -it jvconseil/jekyll-docker:4 jekyll
build
+$ cp ../james-site/content
----
Then just push the new site:
-[,shell]
+[source,shell]
----
$ cd ../james-site
$ git push origin asf-site
----
+=== Experimental nix environment
+
+From the root of the repository checkout, you can use the flake's devshell
+
+[source,shell]
+----
+$ cd src/homepage
+$ nix develop
+----
+
+Then use jekyll directly
+
+[source,shell]
+----
+$ jekyll serve
+# or
+$ jekyll build
+----
+
+==== Gemset update for nix
+
+Updating the gemset to track the gemfile updates is a bit involved :
+
+. ensure you are out of all nix devshell (check using `echo $SHLVL` it should
be 1)
+. create a temporary shell for gem manipulation `nix-shell -p ruby -p bundix`
+. update the gemfile then run
++
+[,shell]
+----
+BUNDLE_FORCE_RUBY_PLATFORM="true" bundle lock --update
+bundix -l
+----
+. exit the temporary shell and enter the devShell again `nix develop`
+
== Maven site
The maven site deploy phase uses and requires locally configuring credentials
to
@@ -100,7 +143,7 @@ The docker file in `src/site-docker` is currently broken:
prepare for some tinkering before building using this method.
====
-[,shell]
+[source,shell]
----
$ docker build -t james/site src/site-docker
$ docker run -v $PWD/.m2:/root/.m2 -v $PWD:/origin -v $PWD/site:/destination
james/site master
@@ -109,7 +152,7 @@ $ docker run -v $PWD/.m2:/root/.m2 -v $PWD:/origin -v
$PWD/site:/destination jam
=== Nix development shell
Enter the xref:contributing.adoc#_experimental_nix_support[james experimental
-development shell]
+development shell] with `nix develop`.
1. run `mvn clean package site -Djib.skip`
2. Test the built site in your browser from the `{path}/target/site` folder
diff --git a/docs/modules/community/partials/antora.adoc
b/docs/modules/community/partials/antora.adoc
index fedaff768d..69a03a8b6a 100644
--- a/docs/modules/community/partials/antora.adoc
+++ b/docs/modules/community/partials/antora.adoc
@@ -48,7 +48,7 @@ Go to `http://localhost` in your browser.
=== Build with the nix enviroment
Enter the xref:contributing.adoc#_experimental_nix_support[james experimental
-development shell]
+development shell] with `nix develop`
. Build the Antora content locally
+
diff --git a/flake.nix b/flake.nix
index fb7d562565..a9c9d1c71b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -29,11 +29,11 @@
packages = with pkgs; [
antora # build documentation
bundler # homepage and blog
+ bundix
cacert # ssl certificate management
dive # explore generated docker images
git # version control
jdk # build and run james
- jekyll # homepage and blog
maven # build james
];
MAVEN_OPTS = "-Djna.library.path=" + pkgs.lib.makeLibraryPath
[pkgs.udev];
diff --git a/src/homepage/Gemfile.lock b/src/homepage/Gemfile.lock
index c2acc28395..7511910c03 100644
--- a/src/homepage/Gemfile.lock
+++ b/src/homepage/Gemfile.lock
@@ -1,72 +1,94 @@
GEM
remote: https://rubygems.org/
specs:
- addressable (2.8.1)
- public_suffix (>= 2.0.2, < 6.0)
+ addressable (2.8.9)
+ public_suffix (>= 2.0.2, < 8.0)
+ base64 (0.3.0)
+ bigdecimal (4.0.1)
colorator (1.1.0)
- concurrent-ruby (1.1.10)
+ concurrent-ruby (1.3.6)
+ csv (3.3.5)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
- ffi (1.15.5)
+ ffi (1.17.3)
+ ffi (1.17.3-x86_64-linux-musl)
forwardable-extended (2.6.0)
- http_parser.rb (0.8.0)
- i18n (1.12.0)
+ google-protobuf (4.34.0)
+ bigdecimal
+ rake (~> 13.3)
+ google-protobuf (4.34.0-x86_64-linux-musl)
+ bigdecimal
+ rake (~> 13.3)
+ http_parser.rb (0.8.1)
+ i18n (1.14.8)
concurrent-ruby (~> 1.0)
- jekyll (4.2.2)
+ jekyll (4.4.1)
addressable (~> 2.4)
+ base64 (~> 0.2)
colorator (~> 1.0)
+ csv (~> 3.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
- jekyll-sass-converter (~> 2.0)
+ jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
- kramdown (~> 2.3)
+ json (~> 2.6)
+ kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
- mercenary (~> 0.4.0)
+ mercenary (~> 0.3, >= 0.3.6)
pathutil (~> 0.9)
- rouge (~> 3.0)
+ rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
- terminal-table (~> 2.0)
+ terminal-table (>= 1.8, < 4.0)
+ webrick (~> 1.7)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
- jekyll-sass-converter (2.2.0)
- sassc (> 2.0.1, < 3.0)
+ jekyll-sass-converter (3.1.0)
+ sass-embedded (~> 1.75)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
- kramdown (2.4.0)
- rexml
+ json (2.18.1)
+ kramdown (2.5.2)
+ rexml (>= 3.4.4)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
- liquid (4.0.3)
- listen (3.7.1)
+ liquid (4.0.4)
+ listen (3.10.0)
+ logger
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
+ logger (1.7.0)
mercenary (0.4.0)
- minima (2.5.1)
+ minima (2.5.2)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
- public_suffix (5.0.0)
+ public_suffix (7.0.2)
+ rake (13.3.1)
rb-fsevent (0.11.2)
- rb-inotify (0.10.1)
+ rb-inotify (0.11.1)
ffi (~> 1.0)
- rexml (3.2.5)
- rouge (3.30.0)
+ rexml (3.4.4)
+ rouge (4.7.0)
safe_yaml (1.0.5)
- sassc (2.4.0)
- ffi (~> 1.9)
- terminal-table (2.0.0)
- unicode-display_width (~> 1.1, >= 1.1.1)
- unicode-display_width (1.8.0)
+ sass-embedded (1.97.3)
+ google-protobuf (~> 4.31)
+ rake (>= 13)
+ sass-embedded (1.97.3-x86_64-linux-musl)
+ google-protobuf (~> 4.31)
+ terminal-table (3.0.2)
+ unicode-display_width (>= 1.1.1, < 3)
+ unicode-display_width (2.6.0)
webrick (1.9.2)
PLATFORMS
+ ruby
x86_64-linux-musl
DEPENDENCIES
@@ -75,7 +97,7 @@ DEPENDENCIES
webrick
RUBY VERSION
- ruby 3.1.1p18
+ ruby 3.3.10p183
BUNDLED WITH
2.3.25
diff --git a/src/homepage/flake.nix b/src/homepage/flake.nix
new file mode 100644
index 0000000000..6a0f73e6a2
--- /dev/null
+++ b/src/homepage/flake.nix
@@ -0,0 +1,42 @@
+{
+ description = "james homepage build env";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
+ };
+
+ outputs =
+ { self, nixpkgs }@inputs:
+ let
+ forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.all;
+ in
+ {
+ devShell = forAllSystems (
+ system:
+ let
+ pkgs = import nixpkgs { inherit system; };
+ env = pkgs.bundlerEnv {
+ name = "james homepagebuild env";
+ gemdir = ./.;
+ groups = [
+ "default"
+ "development"
+ "test"
+ ];
+
+ meta = with pkgs.lib; {
+ description = "james homepagebuild env";
+ platforms = platforms.unix;
+ };
+ };
+ in
+ pkgs.mkShell {
+ buildInputs = [
+ env
+ env.wrappedRuby
+ pkgs.bundix
+ ];
+ }
+ );
+ };
+}
\ No newline at end of file
diff --git a/src/homepage/gemset.nix b/src/homepage/gemset.nix
new file mode 100644
index 0000000000..8dd3858952
--- /dev/null
+++ b/src/homepage/gemset.nix
@@ -0,0 +1,399 @@
+{
+ addressable = {
+ dependencies = ["public_suffix"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "11ali533wx91fh93xlk88gjqq8w0p7kxw09nlh41hwc9wv5ly5fc";
+ type = "gem";
+ };
+ version = "2.8.9";
+ };
+ base64 = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
+ type = "gem";
+ };
+ version = "0.3.0";
+ };
+ bigdecimal = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "19y406nx17arzsbc515mjmr6k5p59afprspa1k423yd9cp8d61wb";
+ type = "gem";
+ };
+ version = "4.0.1";
+ };
+ colorator = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
+ concurrent-ruby = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1aymcakhzl83k77g2f2krz07bg1cbafbcd2ghvwr4lky3rz86mkb";
+ type = "gem";
+ };
+ version = "1.3.6";
+ };
+ csv = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf";
+ type = "gem";
+ };
+ version = "3.3.5";
+ };
+ em-websocket = {
+ dependencies = ["eventmachine" "http_parser.rb"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1a66b0kjk6jx7pai9gc7i27zd0a128gy73nmas98gjz6wjyr4spm";
+ type = "gem";
+ };
+ version = "0.5.3";
+ };
+ eventmachine = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
+ type = "gem";
+ };
+ version = "1.2.7";
+ };
+ ffi = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0k1xaqw2jk13q3ss7cnyvkp8fzp75dk4kazysrxgfd1rpgvkk7qf";
+ type = "gem";
+ };
+ version = "1.17.3";
+ };
+ forwardable-extended = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v";
+ type = "gem";
+ };
+ version = "2.6.0";
+ };
+ google-protobuf = {
+ dependencies = ["bigdecimal" "rake"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0cg5kc8ihi3y33510p5jcbpknnv42lxray3scs07r072zcqfmymz";
+ type = "gem";
+ };
+ version = "4.34.0";
+ };
+ "http_parser.rb" = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0yh924g697spcv4hfigyxgidhyy6a7b9007rnac57airbcadzs4s";
+ type = "gem";
+ };
+ version = "0.8.1";
+ };
+ i18n = {
+ dependencies = ["concurrent-ruby"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1994i044vdmzzkyr76g8rpl1fq1532wf0sb21xg5r1ilj5iphmr8";
+ type = "gem";
+ };
+ version = "1.14.8";
+ };
+ jekyll = {
+ dependencies = ["addressable" "base64" "colorator" "csv" "em-websocket"
"i18n" "jekyll-sass-converter" "jekyll-watch" "json" "kramdown"
"kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"
"terminal-table" "webrick"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1h8qpki1zcw4srnzmbba2gwajycm50w53kxq8l6vicm5azc484ac";
+ type = "gem";
+ };
+ version = "4.4.1";
+ };
+ jekyll-feed = {
+ dependencies = ["jekyll"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1hzwmjrxi57x68i7jx5rxi8qlcbqcbg3di55wywrp53pr0bap6k8";
+ type = "gem";
+ };
+ version = "0.17.0";
+ };
+ jekyll-sass-converter = {
+ dependencies = ["sass-embedded"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hr4hsir8lm8aw3yj9zi7hx2xs4k00xn9inh24642d6iy625v4l3";
+ type = "gem";
+ };
+ version = "3.1.0";
+ };
+ jekyll-seo-tag = {
+ dependencies = ["jekyll"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0638mqhqynghnlnaz0xi1kvnv53wkggaq94flfzlxwandn8x2biz";
+ type = "gem";
+ };
+ version = "2.8.0";
+ };
+ jekyll-watch = {
+ dependencies = ["listen"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w";
+ type = "gem";
+ };
+ version = "2.2.1";
+ };
+ json = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "11prr7nrxh1y4rfsqa51gy4ixx63r18cz9mdnmk0938va1ajf4gy";
+ type = "gem";
+ };
+ version = "2.18.1";
+ };
+ kramdown = {
+ dependencies = ["rexml"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1yh2gwpwhh0p4vc0aabzn0hb55av0wkcq3gh3w8zkdk69hh4598v";
+ type = "gem";
+ };
+ version = "2.5.2";
+ };
+ kramdown-parser-gfm = {
+ dependencies = ["kramdown"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
+ liquid = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1czxv2i1gv3k7hxnrgfjb0z8khz74l4pmfwd70c7kr25l2qypksg";
+ type = "gem";
+ };
+ version = "4.0.4";
+ };
+ listen = {
+ dependencies = ["logger" "rb-fsevent" "rb-inotify"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1ln9c0vx165hkfbn2817qw4m6i77xcxh6q0r5v6fqfhlcbdq5qf6";
+ type = "gem";
+ };
+ version = "3.10.0";
+ };
+ logger = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
+ type = "gem";
+ };
+ version = "1.7.0";
+ };
+ mercenary = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0f2i827w4lmsizrxixsrv2ssa3gk1b7lmqh8brk8ijmdb551wnmj";
+ type = "gem";
+ };
+ version = "0.4.0";
+ };
+ minima = {
+ dependencies = ["jekyll" "jekyll-feed" "jekyll-seo-tag"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0nm4ib1pz431ydrd2q0hzw10aykmsf74644992mz1864gcxlwhww";
+ type = "gem";
+ };
+ version = "2.5.2";
+ };
+ pathutil = {
+ dependencies = ["forwardable-extended"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4";
+ type = "gem";
+ };
+ version = "0.16.2";
+ };
+ public_suffix = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0mx84s7gn3xabb320hw8060v7amg6gmcyyhfzp0kawafiq60j54i";
+ type = "gem";
+ };
+ version = "7.0.2";
+ };
+ rake = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "175iisqb211n0qbfyqd8jz2g01q6xj038zjf4q0nm8k6kz88k7lc";
+ type = "gem";
+ };
+ version = "13.3.1";
+ };
+ rb-fsevent = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423";
+ type = "gem";
+ };
+ version = "0.11.2";
+ };
+ rb-inotify = {
+ dependencies = ["ffi"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0";
+ type = "gem";
+ };
+ version = "0.11.1";
+ };
+ rexml = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hninnbvqd2pn40h863lbrn9p11gvdxp928izkag5ysx8b1s5q0r";
+ type = "gem";
+ };
+ version = "3.4.4";
+ };
+ rouge = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0fd77qcz603mli4lyi97cjzkv02hsfk60m495qv5qcn02mkqk9fv";
+ type = "gem";
+ };
+ version = "4.7.0";
+ };
+ safe_yaml = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56";
+ type = "gem";
+ };
+ version = "1.0.5";
+ };
+ sass-embedded = {
+ dependencies = ["google-protobuf" "rake"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "19ppjqgp43spmg8s457jgpsys98ii48frx0911xzmb73kak6s4y4";
+ type = "gem";
+ };
+ version = "1.97.3";
+ };
+ terminal-table = {
+ dependencies = ["unicode-display_width"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr";
+ type = "gem";
+ };
+ version = "3.0.2";
+ };
+ unicode-display_width = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj";
+ type = "gem";
+ };
+ version = "2.6.0";
+ };
+ webrick = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ca1hr2rxrfw7s613rp4r4bxb454i3ylzniv9b9gxpklqigs3d5y";
+ type = "gem";
+ };
+ version = "1.9.2";
+ };
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]