Trick-17 / clang-build

Clang-based cross platform build system written in Python
https://clang-build.readthedocs.io
MIT License
8 stars 3 forks source link

Project structure cleanup #108

Closed GPMueller closed 4 years ago

GPMueller commented 4 years ago

Related to issue #64, as this PR implements a significant part of the described changes.

GPMueller commented 4 years ago

Looking at this reference, I would say we should decide how we handle __str__, __repr__ and identifier for the Project, TargetDescription and Target classes. This also comes into play in the Circle class, where it makes a difference in the way that circular dependencies are printed, for example:

[circular_project.mylib1] -> [circular_project.mylib2] -> [circular_project.mylib1]
or
circular_project.mylib2 -> circular_project.mylib1 -> circular_project.mylib2

In my opinion, it would make sense to have it similar to datetime.datetime, i.e.:

$ print(target.identifier)
project.subproject.target

$print(str(target))
[project.subproject.target]

$print(repr(target))
clang_build.target.Target('project.subproject.target')
codecov[bot] commented 4 years ago

Codecov Report

Merging #108 into master will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #108   +/-   ##
=======================================
  Coverage   80.47%   80.47%           
=======================================
  Files          16       16           
  Lines        1168     1168           
=======================================
  Hits          940      940           
  Misses        228      228           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 6db4b6e...6db4b6e. Read the comment docs.