Closed DarthHater closed 7 years ago
Hah, APT is a tricky beast, and a lot of it seems pretty poorly documented. I've found this super helpful https://wiki.debian.org/RepositoryFormat, but definitely spent a lot of time looking at in-the-wild repos to understand how apt deals with all of this stuff in practice.
I've merged in all the changes to work with Nexus 3.2.1, and changed the formatting to Sonatype style, but I'm not so sure about the Handler stuff. What you have breaks snapshots for proxy repos as near as I can tell, so I don't want to merge that yet. I also don't think it's very clean to have classes called *Handler that aren't actually handlers , but just containers of handlers. I'll probably do something like you've done with the matchers in the future, but for now I'm going to leave that part out.
That's cool! I just switched it to that since we have been doing that internally (more an example than anything). Doing it the way you have been compacts all the logic into one place, which can be beneficial (in terms of looking at something and going WHAAAA?).
I've made a big amount of changes, some notable ones below:
TODO:
I don't quite understand everything you've done (because I don't understand apt-get more than likely), but I'm game to help if you can explain some things to me :)