Build Plugins API questions

What happens if there are registered 2 compilers for the same file extensions, will both compile the same file?

As I understand different linters can pass multiple times same file. Can linters create/output files with “file.addJavaScript(…)” as compilers do?

What I want to do, is to process some CoffeScript files and generate some data based on it, ideally I would generate only one file after processing of all CoffeScript files, what is the best way to do it?