Implementing support for custom archives via ArchiveExtractor

I'm looking to implement support for several new archive extensions in TeamCity. And as I understood I will need to extend ArchiveExtractor class with my implementation. 

The problem here is that when the TeamCity process builds dependencies like:

archive.tar.zst!** => tst/

It does not call any of the ArchiveExtractor implementations. 
server:internal comes with Zip/Tar/Gz → none of them called during resolution of dependencies. 

After further debugging and playing around with the server, I see that ArchiveExtractor.class beans are called only to unarchive internal tools distribution.

For some other situations I TeamCity called ArchiveUtil.class methods → but again not for the dependency unarchive/resolution. 

So, my question is, what is the proper place to add new archive extension support?

It doesn't seem that there is one central class or package that can be easily extendable for new archives. 

Please help. 
 

0

Please sign in to leave a comment.