cradle:
  cabal:
    - path: "./codegen/src"
      component: "lib:codegen"
    - path: "./codegen/exe"
      component: "exe:codegen-exe"
    - path: "./codegen/test"
      component: "spec:codegen"

    - path: "./libtorch-ffi/src"
      component: "lib:libtorch-ffi"
    - path: "./libtorch-ffi/test"
      component: "libtorch-ffi:test:spec"

    - path: "./libtorch-ffi-helper/src"
      component: "lib:libtorch-ffi-helper"

    - path: "./hasktorch/src"
      component: "lib:hasktorch"
    - path: "./hasktorch/test"
      component: "hasktorch:test:spec"

    - path: "./examples/alexNet"
      component: "exe:alexNet"
    - path: "./examples/autograd"
      component: "exe:autograd"
    - path: "./examples/distill"
      component: "exe:distill"
    - path: "./examples/gaussian-process"
      component: "exe:gaussian-process"
    - path: "./examples/gd-field"
      component: "exe:gd-field"
    - path: "./examples/image-processing"
      component: "exe:image-processing"
    - path: "./examples/load-torchscript"
      component: "exe:load-torchscript"
    - path: "./examples/matrix-factorization"
      component: "exe:matrix-factorization"
    - path: "./examples/minimal-text-example"
      component: "exe:minimal-text-example"
    - path: "./examples/mnist-mlp"
      component: "exe:mnist-mlp"
    - path: "./examples/mnist-mixed-precision"
      component: "exe:mnist-mixed-precision"
    - path: "./examples/optimizers"
      component: "exe:optimizers"
    - path: "./examples/regression"
      component: "exe:regression"
    - path: "./examples/rnn"
      component: "exe:rnn"
    - path: "./examples/serialization"
      component: "exe:serialization"
    - path: "./examples/static-mnist"
      component: "lib:static-mnist"
    - path: "./examples/static-mnist-cnn"
      component: "exe:static-mnist-cnn"
    - path: "./examples/static-mnist-mlp"
      component: "exe:static-mnist-mlp"
    - path: "./examples/static-xor-mlp"
      component: "exe:static-xor-mlp"
    - path: "./examples/test"
      component: "spec:examples"
    - path: "./examples/typed-transformer"
      component: "exe:typed-transformer"
    - path: "./examples/vae"
      component: "exe:vae"
    - path: "./examples/xor-mlp"
      component: "exe:xor-mlp"
    - path: "./examples/csv-test"
      component: "exe:csv-test"
    - path: "./examples/iris-classification"
      component: "exe:iris-classification"

    - path: "./experimental/bounding-box"
      component: "exe:bounding-box"
    - path: "./experimental/dataloader-cifar10"
      component: "exe:dataloader-cifar10"
    - path: "./experimental/untyped-nlp"
      component: "exe:untyped-nlp"

    - path: "./experimental/gradually-typed/src"
      component: "lib:hasktorch-gradually-typed"
    - path: "./experimental/gradually-typed/test"
      component: "hasktorch-gradually-typed:test:spec"
    - path: "./experimental/gradually-typed/examples/linear-regression"
      component: "hasktorch-gradually-typed:exe:linear-regression"
    - path: "./experimental/gradually-typed/examples/two-layer-network"
      component: "hasktorch-gradually-typed:exe:two-layer-network"
    - path: "./experimental/gradually-typed/examples/neural-interpreter"
      component: "hasktorch-gradually-typed:exe:neural-interpreter"