{
  "builder": {
    "id": ""
  },
  "buildType": "https://mobyproject.org/buildkit@v1",
  "materials": [
    {
      "uri": "pkg:docker/eclipse-temurin@25-jre?platform=linux%2Famd64",
      "digest": {
        "sha256": "9c9e7c4f5f3840e5254be62ea9a7de56b2d0af23864032a8a3654bf63c31cd5b"
      }
    },
    {
      "uri": "pkg:docker/maven@3.9.12-eclipse-temurin-25?platform=linux%2Famd64",
      "digest": {
        "sha256": "4f82a03a7d6679281952d628131299b1be88d7030a49c6a2b7d2ba2642e44e3e"
      }
    }
  ],
  "invocation": {
    "configSource": {},
    "parameters": {
      "frontend": "dockerfile.v0",
      "args": {
        "label:com.docker.compose.project": "deploy",
        "label:com.docker.compose.service": "backend",
        "label:com.docker.compose.version": "2.20.2"
      },
      "locals": [
        {
          "name": "context"
        },
        {
          "name": "dockerfile"
        }
      ]
    },
    "environment": {
      "platform": "linux/amd64"
    }
  },
  "buildConfig": {
    "llbDefinition": [
      {
        "id": "step0",
        "op": {
          "Op": {
            "source": {
              "identifier": "docker-image://docker.io/library/eclipse-temurin:25-jre@sha256:9c9e7c4f5f3840e5254be62ea9a7de56b2d0af23864032a8a3654bf63c31cd5b"
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        }
      },
      {
        "id": "step1",
        "op": {
          "Op": {
            "file": {
              "actions": [
                {
                  "input": 0,
                  "secondaryInput": -1,
                  "output": 0,
                  "Action": {
                    "mkdir": {
                      "path": "/app",
                      "mode": 493,
                      "makeParents": true,
                      "timestamp": -1
                    }
                  }
                }
              ]
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        },
        "inputs": [
          "step0:0"
        ]
      },
      {
        "id": "step2",
        "op": {
          "Op": {
            "source": {
              "identifier": "docker-image://docker.io/library/maven:3.9.12-eclipse-temurin-25@sha256:4f82a03a7d6679281952d628131299b1be88d7030a49c6a2b7d2ba2642e44e3e"
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        }
      },
      {
        "id": "step3",
        "op": {
          "Op": {
            "file": {
              "actions": [
                {
                  "input": 0,
                  "secondaryInput": -1,
                  "output": 0,
                  "Action": {
                    "mkdir": {
                      "path": "/workspace",
                      "mode": 493,
                      "makeParents": true,
                      "timestamp": -1
                    }
                  }
                }
              ]
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        },
        "inputs": [
          "step2:0"
        ]
      },
      {
        "id": "step4",
        "op": {
          "Op": {
            "source": {
              "identifier": "local://context",
              "attrs": {
                "local.followpaths": "[\"pom.xml\",\"src\"]",
                "local.sharedkeyhint": "context"
              }
            }
          },
          "constraints": {}
        }
      },
      {
        "id": "step5",
        "op": {
          "Op": {
            "file": {
              "actions": [
                {
                  "input": 0,
                  "secondaryInput": 1,
                  "output": 0,
                  "Action": {
                    "copy": {
                      "src": "/pom.xml",
                      "dest": "/workspace/",
                      "mode": -1,
                      "followSymlink": true,
                      "dirCopyContents": true,
                      "createDestPath": true,
                      "allowWildcard": true,
                      "allowEmptyWildcard": true,
                      "timestamp": -1
                    }
                  }
                }
              ]
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        },
        "inputs": [
          "step3:0",
          "step4:0"
        ]
      },
      {
        "id": "step6",
        "op": {
          "Op": {
            "file": {
              "actions": [
                {
                  "input": 0,
                  "secondaryInput": 1,
                  "output": 0,
                  "Action": {
                    "copy": {
                      "src": "/src",
                      "dest": "/workspace/src",
                      "mode": -1,
                      "followSymlink": true,
                      "dirCopyContents": true,
                      "createDestPath": true,
                      "allowWildcard": true,
                      "allowEmptyWildcard": true,
                      "timestamp": -1
                    }
                  }
                }
              ]
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        },
        "inputs": [
          "step5:0",
          "step4:0"
        ]
      },
      {
        "id": "step7",
        "op": {
          "Op": {
            "exec": {
              "meta": {
                "args": [
                  "/bin/sh",
                  "-c",
                  "mvn -q -DskipTests package"
                ],
                "env": [
                  "PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                  "JAVA_HOME=/opt/java/openjdk",
                  "LANG=en_US.UTF-8",
                  "LANGUAGE=en_US:en",
                  "LC_ALL=en_US.UTF-8",
                  "JAVA_VERSION=jdk-25.0.2+10",
                  "MAVEN_HOME=/usr/share/maven",
                  "MAVEN_CONFIG=/root/.m2"
                ],
                "cwd": "/workspace",
                "removeMountStubsRecursive": true
              },
              "mounts": [
                {
                  "input": 0,
                  "dest": "/",
                  "output": 0
                }
              ]
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        },
        "inputs": [
          "step6:0"
        ]
      },
      {
        "id": "step8",
        "op": {
          "Op": {
            "file": {
              "actions": [
                {
                  "input": 0,
                  "secondaryInput": 1,
                  "output": 0,
                  "Action": {
                    "copy": {
                      "src": "/workspace/target/ocr-platform-backend-0.1.0-SNAPSHOT.jar",
                      "dest": "/app/ocr-platform-backend.jar",
                      "mode": -1,
                      "followSymlink": true,
                      "dirCopyContents": true,
                      "createDestPath": true,
                      "allowWildcard": true,
                      "allowEmptyWildcard": true,
                      "timestamp": -1
                    }
                  }
                }
              ]
            }
          },
          "platform": {
            "Architecture": "amd64",
            "OS": "linux"
          },
          "constraints": {}
        },
        "inputs": [
          "step1:0",
          "step7:0"
        ]
      },
      {
        "id": "step9",
        "op": {
          "Op": null
        },
        "inputs": [
          "step8:0"
        ]
      }
    ],
    "digestMapping": {
      "sha256:4cb1059cb5b8c3d2272b81745678fa1275416c2d9eb3b83bbfa158bf8bd372b7": "step9",
      "sha256:6a06952278006e6516f4e477da2364b15c8be3c9e43cbc903e6f0ab552a19cbf": "step8",
      "sha256:6f342e9effcc2e2b896f23e9139b0131a2c10110ed24e88ddaeaeef510484d69": "step0",
      "sha256:a4662927b3c9155ffccaefe7ab12ff58a99ace60bb0bcc2c46b64805506fe536": "step4",
      "sha256:aa874524294b54a8dbabb55a8a37339aecb72ce2d1a448684205559259ecad89": "step5",
      "sha256:ac13d829b9cb5951f911d6e1012f9310ca581b039f32389c72fabc8ae9e46f83": "step7",
      "sha256:c2caef42c36a9866e3ea0297ecda2688d320d92bf8e6ffb0c47e269bbc283456": "step2",
      "sha256:c359e1445ee87c38ff3e1fbc220f67960a7623ea5b28ef09182634c4053cc46a": "step3",
      "sha256:e2bf9a904e552a7dd8d5321109925d844f57f76ca1563e0872ea8fb2bdd90436": "step1",
      "sha256:e512b9b7f68032c04e2b321d74fc361ffd9073034d365412e535a1eeae6de029": "step6"
    }
  },
  "metadata": {
    "buildInvocationID": "lcvxk9ic2kl00q0qum8idecv9",
    "buildStartedOn": "2026-05-12T16:37:09.379553444+08:00",
    "buildFinishedOn": "2026-05-12T16:40:25.011115673+08:00",
    "completeness": {
      "parameters": true,
      "environment": true,
      "materials": false
    },
    "reproducible": false,
    "https://mobyproject.org/buildkit@v1#metadata": {
      "source": {
        "locations": {
          "step0": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 7
                    },
                    "end": {
                      "line": 7
                    }
                  }
                ]
              }
            ]
          },
          "step1": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 8
                    },
                    "end": {
                      "line": 8
                    }
                  }
                ]
              }
            ]
          },
          "step2": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 1
                    },
                    "end": {
                      "line": 1
                    }
                  }
                ]
              }
            ]
          },
          "step3": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 2
                    },
                    "end": {
                      "line": 2
                    }
                  }
                ]
              }
            ]
          },
          "step4": {},
          "step5": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 3
                    },
                    "end": {
                      "line": 3
                    }
                  }
                ]
              }
            ]
          },
          "step6": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 4
                    },
                    "end": {
                      "line": 4
                    }
                  }
                ]
              }
            ]
          },
          "step7": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 5
                    },
                    "end": {
                      "line": 5
                    }
                  }
                ]
              }
            ]
          },
          "step8": {
            "locations": [
              {
                "ranges": [
                  {
                    "start": {
                      "line": 9
                    },
                    "end": {
                      "line": 9
                    }
                  }
                ]
              }
            ]
          }
        },
        "infos": [
          {
            "filename": "Dockerfile",
            "data": "RlJPTSBtYXZlbjozLjkuMTItZWNsaXBzZS10ZW11cmluLTI1IEFTIGJ1aWxkCldPUktESVIgL3dvcmtzcGFjZQpDT1BZIHBvbS54bWwgLgpDT1BZIHNyYyAuL3NyYwpSVU4gbXZuIC1xIC1Ec2tpcFRlc3RzIHBhY2thZ2UKCkZST00gZWNsaXBzZS10ZW11cmluOjI1LWpyZQpXT1JLRElSIC9hcHAKQ09QWSAtLWZyb209YnVpbGQgL3dvcmtzcGFjZS90YXJnZXQvb2NyLXBsYXRmb3JtLWJhY2tlbmQtMC4xLjAtU05BUFNIT1QuamFyIC9hcHAvb2NyLXBsYXRmb3JtLWJhY2tlbmQuamFyCkVYUE9TRSAxODA5MApFTlRSWVBPSU5UIFsiamF2YSIsICItamFyIiwgIi9hcHAvb2NyLXBsYXRmb3JtLWJhY2tlbmQuamFyIl0KCg==",
            "llbDefinition": [
              {
                "id": "step0",
                "op": {
                  "Op": {
                    "source": {
                      "identifier": "local://dockerfile",
                      "attrs": {
                        "local.differ": "none",
                        "local.followpaths": "[\"Dockerfile\",\"Dockerfile.dockerignore\",\"dockerfile\"]",
                        "local.sharedkeyhint": "dockerfile"
                      }
                    }
                  },
                  "constraints": {}
                }
              },
              {
                "id": "step1",
                "op": {
                  "Op": null
                },
                "inputs": [
                  "step0:0"
                ]
              }
            ],
            "digestMapping": {
              "sha256:5aea577c394c2b829507c83cadb21f0b567364e21aa72e28dddfe624ab454256": "step1",
              "sha256:e711205d871a8518f3f47a2eaf2cd300bf0298df98cf8ca7c8d8c0ec6796dca9": "step0"
            }
          }
        ]
      },
      "layers": {
        "step0:0": [
          [
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:0c3db79307ab91dad11fad2b136a2b56df6efeeb567c4c99e6e316b63885c9f6",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:f421a7e99ead34566fcb11403f6f38675b53035f39937394893eaf7d87c39f83",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:e280c6d15855f771612e1a2b87b4017044c5b0a25b494bbd3650ff99821f5334",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:686138d9e74281d31c5183128c0c32205f175148f993052cf2851229f81bb775",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:78ee28fdc7b79c0b6ab856b0507461a1481dd11c493be7dd9732b0f69a1eb34f",
              "size": -1
            }
          ]
        ],
        "step1:0": [
          [
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:0c3db79307ab91dad11fad2b136a2b56df6efeeb567c4c99e6e316b63885c9f6",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:f421a7e99ead34566fcb11403f6f38675b53035f39937394893eaf7d87c39f83",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:e280c6d15855f771612e1a2b87b4017044c5b0a25b494bbd3650ff99821f5334",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:686138d9e74281d31c5183128c0c32205f175148f993052cf2851229f81bb775",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:78ee28fdc7b79c0b6ab856b0507461a1481dd11c493be7dd9732b0f69a1eb34f",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:690e0aca1c30811196038d22a2e6257d3ae634618daba6735de32a9703cb23b8",
              "size": -1
            }
          ]
        ],
        "step2:0": [
          [
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:efafae78d70c98626c521c246827389128e7d7ea442db31bc433934647f0c791",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:15ee837808d0ba8c9adb24973c82d618202cc764cd8e147f0c47529959093c5a",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:02465eb218491149325af7531950adfc1960ffc98a6691ffb7c2458fa6d5d29f",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:7456d4dfe11e687d42c246e75af028de0b814d3863caa742594afa396fefcbaa",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:35652a9e58a4f260ff762c205a31286001340a4b20208a715e1779ae2ab0bd81",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:463b7bd3ddadf01379dae0cbb88c7e131a64e09381ddb9ded18672b5d3b3400e",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:31c13ab2b066f8cbf722244473302d32f225edfd9c378f44d2a78f42207cd14f",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:cb00e2f8ab5a0c095ed1160f9f32b4d2401e0df67616b104d0eccf440cbc3009",
              "size": -1
            }
          ]
        ],
        "step3:0": [
          []
        ],
        "step4:0": [
          []
        ],
        "step5:0": [
          []
        ],
        "step6:0": [
          []
        ],
        "step7:0": [
          []
        ],
        "step8:0": [
          [
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:0c3db79307ab91dad11fad2b136a2b56df6efeeb567c4c99e6e316b63885c9f6",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:f421a7e99ead34566fcb11403f6f38675b53035f39937394893eaf7d87c39f83",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:e280c6d15855f771612e1a2b87b4017044c5b0a25b494bbd3650ff99821f5334",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:686138d9e74281d31c5183128c0c32205f175148f993052cf2851229f81bb775",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:78ee28fdc7b79c0b6ab856b0507461a1481dd11c493be7dd9732b0f69a1eb34f",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:690e0aca1c30811196038d22a2e6257d3ae634618daba6735de32a9703cb23b8",
              "size": -1
            },
            {
              "mediaType": "application/vnd.docker.image.rootfs.diff.tar",
              "digest": "sha256:c424ea27c3f2db59c30f4f7dd3875e7200865c112f4680332c271bd332c3af6a",
              "size": -1
            }
          ]
        ]
      }
    }
  }
}