Moved the publication/component building logic to the PublicationExtension configuration, delaying execution to last moment