From fd9536941798baf0ad375cb59b12061e4ee6878f Mon Sep 17 00:00:00 2001 From: Adam Welc Date: Tue, 1 Nov 2022 00:13:37 -0700 Subject: [PATCH] [move] Add example of user code organized into multiple packages (#5676) * [move] Add example of user code organized into multiple packages * Addressed review comments * Added copyright headers --- sui_programmability/examples/multi_package/README.md | 5 +++++ .../examples/multi_package/dep_package/Move.toml | 9 +++++++++ .../multi_package/dep_package/sources/dep_module.move | 10 ++++++++++ .../examples/multi_package/main_package/Move.toml | 10 ++++++++++ .../main_package/sources/main_module.move | 11 +++++++++++ 5 files changed, 45 insertions(+) create mode 100644 sui_programmability/examples/multi_package/README.md create mode 100644 sui_programmability/examples/multi_package/dep_package/Move.toml create mode 100644 sui_programmability/examples/multi_package/dep_package/sources/dep_module.move create mode 100644 sui_programmability/examples/multi_package/main_package/Move.toml create mode 100644 sui_programmability/examples/multi_package/main_package/sources/main_module.move diff --git a/sui_programmability/examples/multi_package/README.md b/sui_programmability/examples/multi_package/README.md new file mode 100644 index 0000000000000..f8cb10b284dd5 --- /dev/null +++ b/sui_programmability/examples/multi_package/README.md @@ -0,0 +1,5 @@ +An example of how to structure your code to include another user-level package as a dependency. + +Make sure that the dependency name (in this example DepPackage in main_package/Move.toml file's +`[dependencies]` section) is the same as the name of the package (in dep_package/Move.toml file's +`[package]` section). diff --git a/sui_programmability/examples/multi_package/dep_package/Move.toml b/sui_programmability/examples/multi_package/dep_package/Move.toml new file mode 100644 index 0000000000000..0c6bbce8ce716 --- /dev/null +++ b/sui_programmability/examples/multi_package/dep_package/Move.toml @@ -0,0 +1,9 @@ +[package] +name = "DepPackage" +version = "0.0.1" + +[dependencies] +Sui = { local = "../../../../crates/sui-framework" } + +[addresses] +dep_package = "0x0" diff --git a/sui_programmability/examples/multi_package/dep_package/sources/dep_module.move b/sui_programmability/examples/multi_package/dep_package/sources/dep_module.move new file mode 100644 index 0000000000000..5f39a4d557dd9 --- /dev/null +++ b/sui_programmability/examples/multi_package/dep_package/sources/dep_module.move @@ -0,0 +1,10 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +module dep_package::dep_module { + + public fun foo(): u64 { + 42 + } + +} diff --git a/sui_programmability/examples/multi_package/main_package/Move.toml b/sui_programmability/examples/multi_package/main_package/Move.toml new file mode 100644 index 0000000000000..21825b529efec --- /dev/null +++ b/sui_programmability/examples/multi_package/main_package/Move.toml @@ -0,0 +1,10 @@ +[package] +name = "MainPackage" +version = "0.0.1" + +[dependencies] +Sui = { local = "../../../../crates/sui-framework" } +DepPackage = { local = "../dep_package" } + +[addresses] +main_package = "0x0" diff --git a/sui_programmability/examples/multi_package/main_package/sources/main_module.move b/sui_programmability/examples/multi_package/main_package/sources/main_module.move new file mode 100644 index 0000000000000..2550d35bbfac9 --- /dev/null +++ b/sui_programmability/examples/multi_package/main_package/sources/main_module.move @@ -0,0 +1,11 @@ +// Copyright (c) Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +module main_package::main_module { + use dep_package::dep_module; + + fun foo(): u64 { + dep_module::foo() + } + +}