Bug in Project.toml of docs #37
Annotations
10 errors and 2 warnings
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:3-107
```@example Forest
#= Forest
Alejandro Morales
Centre for Crop Systems Analysis - Wageningen University
In this example we extend the tree example into a forest, where
each tree is described by a separate graph object and parameters driving the
growth of these trees vary across individuals following a predefined distribution.
This tutorial requires using the Distributions.jl package:
The data types, rendering methods and growth rules are the same as in the binary
tree example:
=#
using VirtualPlantLab
using Distributions, Plots, ColorTypes
import GLMakie
# Data types
module TreeTypes
import VirtualPlantLab
# Meristem
struct Meristem <: VirtualPlantLab.Node end
# Bud
struct Bud <: VirtualPlantLab.Node end
# Node
struct Node <: VirtualPlantLab.Node end
# BudNode
struct BudNode <: VirtualPlantLab.Node end
# Internode (needs to be mutable to allow for changes over time)
Base.@kwdef mutable struct Internode <: VirtualPlantLab.Node
length::Float64 = 0.10 # Internodes start at 10 cm
end
# Leaf
Base.@kwdef struct Leaf <: VirtualPlantLab.Node
length::Float64 = 0.20 # Leaves are 20 cm long
width::Float64 = 0.1 # Leaves are 10 cm wide
end
# Graph-level variables
Base.@kwdef struct treeparams
growth::Float64 = 0.1
budbreak::Float64 = 0.25
phyllotaxis::Float64 = 140.0
leaf_angle::Float64 = 30.0
branch_angle::Float64 = 45.0
end
end
import .TreeTypes
# Create geometry + color for the internodes
function VirtualPlantLab.feed!(turtle::Turtle, i::TreeTypes.Internode, data)
# Rotate turtle around the head to implement elliptical phyllotaxis
rh!(turtle, data.phyllotaxis)
HollowCylinder!(turtle, length = i.length, height = i.length/15, width = i.length/15,
move = true, colors = RGB(0.5,0.4,0.0))
return nothing
end
# Create geometry + color for the leaves
function VirtualPlantLab.feed!(turtle::Turtle, l::TreeTypes.Leaf, data)
# Rotate turtle around the arm for insertion angle
ra!(turtle, -data.leaf_angle)
# Generate the leaf
Ellipse!(turtle, length = l.length, width = l.width, move = false,
colors = RGB(0.2,0.6,0.2))
# Rotate turtle back to original direction
ra!(turtle, data.leaf_angle)
return nothing
end
# Insertion angle for the bud nodes
function VirtualPlantLab.feed!(turtle::Turtle, b::TreeTypes.BudNode, data)
# Rotate turtle around the arm for insertion angle
ra!(turtle, -data.branch_angle)
end
# Rules
meristem_rule = Rule(TreeTypes.Meristem, rhs = mer -> TreeTypes.Node() +
(TreeTypes.Bud(), TreeTypes.Leaf()) +
TreeTypes.Internode() + TreeTypes.Meristem())
function prob_break(bud)
# We move to parent node in the branch where the bud was created
node = parent(bud)
# We count the number of internodes between node and the first Meristem
# moving down the graph
check, steps = has_descendant(node, condition = n -> data(n) isa TreeTypes.Meristem)
steps = Int(ceil(steps/2)) # Because it will count both the nodes and the internodes
# Compute probability of bud break and determine whether it happens
if check
prob = min(1.0, steps*graph_data(bud).budbreak)
return rand() < prob
# If there is no meristem, an error happened since the model does not allow
# for this
else
error("No meristem found in branch")
end
end
branch_rule = Rule(TreeTypes.Bud,
lhs = prob_break,
rhs = bud -> TreeTypes.BudNode() + TreeTypes.Internode() + TreeTypes.Meristem())
```
exception =
ArgumentError: Package Distributions not found in current path.
- Run `import Pkg; Pkg.add("Distributions")` to install the Distributions package.
Stacktrace:
[1] macro expansion
@ ./loading.jl:1630 [inlined]
[2] macro expansion
@ ./lock.jl:267 [inlined]
[3]
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:131-152
```@example Forest
getInternode = Query(TreeTypes.Internode)
function elongate!(tree, query)
for x in apply(tree, query)
x.length = x.length*(1.0 + data(tree).growth)
end
end
function growth!(tree, query)
elongate!(tree, query)
rewrite!(tree)
end
function simulate(tree, query, nsteps)
new_tree = deepcopy(tree)
for i in 1:nsteps
growth!(new_tree, query)
end
return new_tree
end
```
exception =
UndefVarError: `TreeTypes` not defined
Stacktrace:
[1] top-level scope
@ forest.md:132
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:174-178
```@example Forest
growths = rand(LogNormal(-2, 0.3), 10, 10)
histogram(vec(growths))
savefig("growths.png") ## hide
```
exception =
UndefVarError: `LogNormal` not defined
Stacktrace:
[1] top-level scope
@ forest.md:175
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:184-188
```@example Forest
budbreaks = rand(Beta(2.0, 10), 10, 10)
histogram(vec(budbreaks))
savefig("budbreaks.png") ## hide
```
exception =
UndefVarError: `Beta` not defined
Stacktrace:
[1] top-level scope
@ forest.md:185
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:195-198
```@example Forest
forest = vec(create_tree.(origins, growths, budbreaks, orientations));
nothing #hide
```
exception =
UndefVarError: `growths` not defined
Stacktrace:
[1] top-level scope
@ forest.md:196
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:213-216
```@example Forest
newforest = [simulate(tree, getInternode, 2) for tree in forest];
nothing #hide
```
exception =
UndefVarError: `forest` not defined
Stacktrace:
[1] top-level scope
@ forest.md:214
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:221-224
```@example Forest
pl = render(Scene(newforest))
GLMakie.save("newforest1.png", pl) ## hide
```
exception =
UndefVarError: `newforest` not defined
Stacktrace:
[1] top-level scope
@ forest.md:222
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:231-235
```@example Forest
newforest = [simulate(tree, getInternode, 15) for tree in newforest];
pl = render(Scene(newforest))
GLMakie.save("newforest2.png", pl) ## hide
```
exception =
UndefVarError: `newforest` not defined
Stacktrace:
[1] top-level scope
@ forest.md:232
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:248-256
```@example Forest
using Base.Threads
newforest = deepcopy(forest)
@threads for i in 1:length(forest)
newforest[i] = simulate(forest[i], getInternode, 6)
end
pl = render(Scene(newforest, parallel = true))
GLMakie.save("newforest3.png", pl) ## hide
```
exception =
UndefVarError: `forest` not defined
Stacktrace:
[1] top-level scope
@ forest.md:250
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/utilities/utilities.jl#L44
failed to run `@example` block in src/tutorials/from_tree_forest/forest.md:262-271
```@example Forest
newforest = deepcopy(forest)
for step in 1:15
@threads for i in 1:length(newforest)
newforest[i] = simulate(newforest[i], getInternode, 1)
end
end
pl = render(Scene(newforest, parallel = true))
GLMakie.save("newforest4.png", pl) ## hide
```
exception =
UndefVarError: `forest` not defined
Stacktrace:
[1] top-level scope
@ forest.md:263
[2] eval
@ ./boot.jl:370 [inlined]
[3] #58
@ ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:754 [inlined]
[4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:753
[6] (::IOCapture.var"#5#9"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:170
[7] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:514
[8] with_logger
@ ./logging.jl:626 [inlined]
[9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
@ IOCapture ~/.julia/packages/IOCapture/Y5rEA/src/IOCapture.jl:167
[10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
@ Documenter ~/.julia/packages/Documenter/bC7iq/src/expander_pipeline.jl:752
|
Documentation:
../../../.julia/packages/Documenter/bC7iq/src/documents.jl#L100
In file src/VPLVerse/SkyDomes/API.md: the following unsupported keyword arguments have been set in the `@index` node:
Private = true
Public = true
|
Documentation
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, julia-actions/setup-julia@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|