diff --git a/all-spark-notebook/hooks/run_hook b/all-spark-notebook/hooks/run_hook index 99b75db9..d4c9976c 100755 --- a/all-spark-notebook/hooks/run_hook +++ b/all-spark-notebook/hooks/run_hook @@ -6,14 +6,3 @@ set -e \`\`\` $(docker run --rm ${IMAGE_NAME} bash -c '$SPARK_HOME/bin/spark-submit --version' 2>&1) \`\`\` - - -## R Packages - -\`\`\` -$(docker run --rm ${IMAGE_NAME} R --version) -\`\`\` - -\`\`\` -$(docker run --rm ${IMAGE_NAME} R --silent -e 'installed.packages(.Library)[, c(1,3)]') -\`\`\` diff --git a/datascience-notebook/hooks/run_hook b/datascience-notebook/hooks/run_hook index e772bb06..b5457a56 100755 --- a/datascience-notebook/hooks/run_hook +++ b/datascience-notebook/hooks/run_hook @@ -10,13 +10,3 @@ $(docker run --rm ${IMAGE_NAME} julia -E 'using InteractiveUtils; versioninfo()' \`\`\` $(docker run --rm ${IMAGE_NAME} julia -E 'import Pkg; Pkg.status()') \`\`\` - -## R Packages - -\`\`\` -$(docker run --rm ${IMAGE_NAME} R --version) -\`\`\` - -\`\`\` -$(docker run --rm ${IMAGE_NAME} R --silent -e 'installed.packages(.Library)[, c(1,3)]') -\`\`\` diff --git a/r-notebook/hooks/run_hook b/r-notebook/hooks/run_hook deleted file mode 100755 index 110d2123..00000000 --- a/r-notebook/hooks/run_hook +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -e - -## R Packages - -\`\`\` -$(docker run --rm ${IMAGE_NAME} R --version) -\`\`\` - -\`\`\` -$(docker run --rm ${IMAGE_NAME} R --silent -e 'installed.packages(.Library)[, c(1,3)]') -\`\`\` diff --git a/tagging/images_hierarchy.py b/tagging/images_hierarchy.py index acdcd285..e11e5870 100644 --- a/tagging/images_hierarchy.py +++ b/tagging/images_hierarchy.py @@ -9,7 +9,7 @@ from taggers import TaggerInterface, \ RVersionTagger, TensorflowVersionTagger, JuliaVersionTagger, \ SparkVersionTagger, HadoopVersionTagger, JavaVersionTagger from manifests import ManifestInterface, \ - CondaEnvironmentManifest, AptPackagesManifest + CondaEnvironmentManifest, AptPackagesManifest, RPackagesManifest @dataclass @@ -39,7 +39,8 @@ ALL_IMAGES = { ), "r-notebook": ImageDescription( parent_image="minimal-notebook", - taggers=[RVersionTagger] + taggers=[RVersionTagger], + manifests=[RPackagesManifest] ), "tensorflow-notebook": ImageDescription( parent_image="scipy-notebook", @@ -47,7 +48,8 @@ ALL_IMAGES = { ), "datascience-notebook": ImageDescription( parent_image="scipy-notebook", - taggers=[RVersionTagger, JuliaVersionTagger] + taggers=[RVersionTagger, JuliaVersionTagger], + manifests=[RPackagesManifest] ), "pyspark-notebook": ImageDescription( parent_image="scipy-notebook", @@ -55,6 +57,7 @@ ALL_IMAGES = { ), "all-spark-notebook": ImageDescription( parent_image="pyspark-notebook", - taggers=[RVersionTagger] + taggers=[RVersionTagger], + manifests=[RPackagesManifest] ) } diff --git a/tagging/manifests.py b/tagging/manifests.py index f0a3614a..9185f840 100644 --- a/tagging/manifests.py +++ b/tagging/manifests.py @@ -72,3 +72,15 @@ class AptPackagesManifest(ManifestInterface): "", quoted_output(container, "apt list --installed") ]) + + +class RPackagesManifest(ManifestInterface): + @staticmethod + def markdown_piece(container) -> str: + return "\n".join([ + "## R Packages", + "", + quoted_output(container, "R --version"), + "", + quoted_output(container, "R --silent -e 'installed.packages(.Library)[, c(1,3)]'") + ])