Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for applying plugin to root project #41

Open
charleskorn opened this issue Jul 25, 2021 · 2 comments
Open

Support for applying plugin to root project #41

charleskorn opened this issue Jul 25, 2021 · 2 comments

Comments

@charleskorn
Copy link

I have a project made up of many subprojects, and I'd like to apply Licensee to all of them.

At the moment, if I apply Licensee to the root project, I get an error like this:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project '<project name redacted>'.
> 'app.cash.licensee' requires compatible language/platform plugin to be applied (root project)

I expected this to work and automatically apply the plugin to all subprojects.

On a related note, it would be great if Licensee supported configuring allow, allowUrl etc. at the root project level, rather than requiring these to be configured on each subproject. At the moment, I have one central set of allows that I apply to all subprojects. However, this then triggers a bunch of warnings that some of them are unused (not every project has every dependency), so it would be great if applying and configuring Licensee at the root project level then considered the usage of every project and only emitted warnings for allows that aren't used anywhere in any subproject.

@mervyn-mccreight
Copy link

mervyn-mccreight commented Nov 14, 2022

I opened a separate issue for the warnings when using a general allow-list, if you are still interested:
#134

I already filed a PR for being able to configure the behavior when encountering unused configuration:
#136

@JakeWharton
Copy link
Collaborator

Just a note that the forthcoming project isolation in Gradle will discourage plugins from doing things at the root level like this. It's possible we could be a settings plugin which would allow applying the plugin to every subproject, but I'm really not sure. I believe in general they want people to use convention plugins for cross-cutting plugins and their configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants