Skip to content

Conversation

@random-zebra
Copy link

Backports from upstream a shell script which uses the the python script circular-dependencies.py (in devtools) and gives a convenient feedback about any dependency introduced and/or removed.
This will be run by GA on any PR (as part of lint-all.sh)

Also, start nuking the first easy circular dependencies caused by unneeded header imports.

>>> based on bitcoin/bitcoin@5c613aa

Protects against added circular depencies, makes it explicit in the
code when circular dependencies have been removed.

Modeled after EXPECTED_BOOST_INCLUDES in lint-includes.sh
Copy link

@furszy furszy left a comment

Choose a reason for hiding this comment

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

very nice :). Now that this problems are visible, anyone can work on them 🚜.
ACK 95d4011

@random-zebra random-zebra modified the milestones: 6.0.0, 5.4.0 Nov 24, 2021
Copy link
Collaborator

@Fuzzbawls Fuzzbawls left a comment

Choose a reason for hiding this comment

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

ACK 95d4011

@random-zebra random-zebra merged commit 1c20503 into PIVX-Project:master Nov 25, 2021
furszy added a commit that referenced this pull request Nov 29, 2021
… extracting shutdown.h

33ddc5d Break circular dependency: init -> * -> init by extracting shutdown.h (random-zebra)
b09422f Cleanup: remove unused init.h includes (random-zebra)

Pull request description:

  As per bitcoin#13235.

  Based on top of:
  - [x] #2641

ACKs for top commit:
  furszy:
    Code ACK 33ddc5d

Tree-SHA512: 56f9fe8fe83e31f32e3aad7d0a7e6c5ab015ca0d60881eca1ab30949610b19128598072538819aae03521bd2f7976229128ff9fcdf607079e4e803fda1705e22
furszy added a commit that referenced this pull request Nov 30, 2021
50fb779 Refactor: remove circ dependency checkpoints <-> chainparams (random-zebra)
9b97cf0 Refactor: remove circ dependency checkpoints <-> validation (random-zebra)

Pull request description:

  Based on top of
  - [x] #2641

  This removes two groups of circular dependencies:
  1. checkpoints <-> validation
     By moving `GetLastCheckpoint()` function to validation.cpp (as it's only used by `ContextualCheckBlockHeader`).
  2. checkpoints <-> chainparams
     By moving `CCheckpointData` declaration to chainparams (where the per-network checkpoint data is defined), thus making chainparams independent from checkpoints.

ACKs for top commit:
  furszy:
    re-ACK 50fb779

Tree-SHA512: 4d669ee6388d8a75301a7d841f82b74d5b46fe64099ab2162510206d646839802f1e9978039486633e0d11cdb191f5a57ef116202ec4faebc2bf856b398b92f5
random-zebra added a commit that referenced this pull request Dec 1, 2021
…saction <-> script/standard

e55b0dc Refactor: remove circ depend. primitives/transaction <-> script/standard (random-zebra)

Pull request description:

  by moving `GetKeyIDFromUTXO` out of `CTxOut`, making it a static function of `blocksignature.cpp`, which is the only place using it.

  based on top of:
  - [x] #2641

ACKs for top commit:
  furszy:
    ACK e55b0dc

Tree-SHA512: c6c34e20dd2bf7f8fdadb6865f8d3253fd15e45e0b24ebb9e1f88c325bcc88c511d29926ceca6ee02f4ba6065b9a819105e0e414b9725e24b21bfbcb084966ba
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants