title: Gradle plugin packaging - Why is plugin unexpectedly applied?
body: <p>So I have:</p>
  
  <pre><code>buildSrc/
  ├── build.gradle
  └── src
      ├── main
      │   ├── groovy
      │   │   └── build
      │   │       ├── ExamplePlugin.groovy
      │   │       └── ExampleTask.groovy
      │   └── resources
      │       └── META-INF
      │           └── gradle-plugins
      │               └── build.ExamplePlugin.properties
      └── test
          └── groovy
              └── build
                  ├── ExamplePluginTest.groovy
                  └── ExampleTaskTest.groovy
  </code></pre>
  
  <p>Question: </p>
  
  <p>It seems like <code>build.ExamplePlugin.properties</code> maps directly to the <code>build.ExamplePlugin.groovy</code>. Is this the case? Seems terribly inefficient to have only one property in the file. Does it have to be fully qualified, i.e. does the name have to exactly match the full qualification of the class?</p>
  
  <p>Now in the example, I see:</p>
  
  <pre><code>project.pluginManager.apply 'build.ExamplePlugin'
  </code></pre>
  
  <p>...however if I have that in my test, I get an error to the effect that the simple task the plugin defines, is already defined. </p>
  
  <p>Why bother with test examples that require 'apply' when that is inappropriate for packaging? </p>