Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Significant update to build and install process for ccf ledger #470

Merged
merged 2 commits into from
Feb 20, 2024

Conversation

cmickeyb
Copy link
Contributor

@cmickeyb cmickeyb commented Feb 19, 2024

Several parts of this commit:

  1. Move the ccf python scripts into their own directory and package them into an installable python wheel file; this should lay the structural foundation for supporting our own version of the CCF python client (which is not included in more recent versions of CCF).
  2. Canonicalize argument handling for the ccf python scripts; this moves all argument processing (including the common handling of creating the CCF client) into a single routine. All CCF python files should share the same structure and command line API.
  3. Split the build of the CCF ledger components into two pieces. The first piece builds and installs the python packages. Since these utilities are useful on any PDO node (client, service, ccf ledger), they can now be installed independently from the pdo tp. The second piece is the PDO TP itself which need only be installed on ccf ledger nodes.
  4. In order to package the ccf scripts in a wheel, copy the basic functions of the python.cmake macros from the pdo-contracts repository. Some modifications needed to be made (assumptions about directory structures are different) but the essence is the same. Also made some modifications to the project variables cmake library in order to generate the version number is a macro that can be used for naming the wheel files.

I would strongly recommend we merge this prior to merging #467 . The changes here should make processing command line arguments consistently and installing the policy registration scripts much easier. @prakashngit I can help modify your PR.

Note that this PR addresses some of the issues brought up in #469

Several parts of this commit:

1) move the ccf python scripts into their own directory and package
them into an installable python wheel file; this should lay the
structural foundation for supporting our own version of the CCF python
client (which is not included in more recent versions of CCF).

2) canonicalize argument handling for the ccf python scripts; this
moves all argument processing (including the common handling of
creating the CCF client) into a single routine. All CCF python files
should share the same structure and command line API.

3) split the build of the CCF ledger components into two pieces. The
first piece builds and installs the python packages. Since these utilities
are useful on any PDO node (client, service, ccf ledger), they can now
be installed independently from the pdo tp. The second piece is the PDO
TP itself which need only be installed on ccf ledger nodes.

Signed-off-by: Mic Bowman <[email protected]>
@cmickeyb cmickeyb force-pushed the mic.feb16.ccf_python branch from 1f73d11 to 868afa0 Compare February 20, 2024 18:17
Copy link
Contributor

@prakashngit prakashngit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you, will rebase 467 on top of this to use the features here.

Copy link
Member

@bvavala bvavala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@prakashngit prakashngit merged commit 0085dab into hyperledger-labs:main Feb 20, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants