Skip to content

Conversation

@ascjones
Copy link
Collaborator

@ascjones ascjones commented Oct 17, 2022

Introduces a new crate contract-build which allows building of ink! projects via a library interface.

3rd party Rust tools can use this crate instead of invoking the cargo-contract binary. This has the advantage of being more robust since:

  1. It does not require the user to install cargo-contract on their machine
  2. It allows the library user to control the version of contract-build functionality, avoiding compatibility issues.

Note to reviewers

image
Almost all changes here are simply moving code around, so I won't change any bad code that I have copied from one location to another. I have noted a few things that can be improved/refactored (as ever), but I wanted to do the minimal changes required to extract the library for this PR.

Future steps

Extract extrinsics functionality into a library

@ascjones ascjones marked this pull request as ready for review November 28, 2022 18:02
Copy link
Contributor

@HCastano HCastano left a comment

Choose a reason for hiding this comment

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

The file tree looks reasonable enough, I think this'll be useful for others. Good stuff!

@ascjones ascjones merged commit bc6dcd4 into master Dec 1, 2022
@ascjones ascjones deleted the aj/build-lib branch December 1, 2022 12:42
@ascjones
Copy link
Collaborator Author

ascjones commented Dec 1, 2022

@HCastano
Copy link
Contributor

HCastano commented Dec 1, 2022

@ascjones can you update the crate's owners to paritytech/core-devs?

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