question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Compiler Information field not stored in package manifest

See original GitHub issue

Elevator pitch:

Add compiler settings and version information to manifest for publishing use cases

Value:

Publishing a manifest, publishing files from a project (e.g. Etherscan verification)

Dependencies:

Contract manifest requires compiler to be filled in to be more useful and for contract verification https://github.com/ApeWorX/ape/issues/81

Design approach:

EIP-2678 defines an array of CompilerInformation objects that are referenced by Source objects within the same manifest. These objects are used to determine which compiler types, versions, and settings that should be used to compile the (sub-)set of sources for a given manifest.

Using EIP-2678 (or adapting for our needs via #794), add support for obtaining the information for this field in ProjectManager and CompilerAPI so that we have it for later use. The current structure may be inadequate for our purposes, requiring a breaking change to ethpm-types that should be targeted for v0.3.0 if possible.

Task list:

  • Identify compilation process for projects
  • Obtain compiler version and setting information for each (sub-)set of files to be compiled
  • Leverage this information for calling each compiler (in series) to obtain the various results

Estimated completion date:

TBD

Design review:

Do not signoff unless:

    1. agreed the tasks and design approach will achieve acceptance, and
    1. the work can be completed by one person within the SLA. Design reviewers should consider simpler approaches to achieve goals.

(Please leave a comment to sign off)

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
fubuloubucommented, Jun 9, 2022

p.s. next time use Work Item issue template for this kind of thing

0reactions
sabotagebeatscommented, Aug 2, 2022

requires tests to be merged.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Manifest fields | Yarn - Package Manager
If true, the package is considered private and Yarn will refuse to publish it ... This field lists some extra information related to...
Read more >
Package manifest - Unity - Manual
Unity uses a package manifest file ( package.json ) to manage information about a specific version of a specific package. The package manifest...
Read more >
The Manifest Format - The Cargo Book
This field specifies a file in the project root which is a build script for building native code. More information can be found...
Read more >
C++ binary identification (manifest) - gcc - Stack Overflow
I did very simple test and it works for executable itself, but it seems it does not gather manifest from the static library...
Read more >
The Manifest Format - The Cargo Book
The rust-version field is an optional key that tells cargo what version of the Rust language and compiler your package can be compiled...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found