title: creating springboot gradle multi-module library project using plugins DSL and a convention plugin that reside in buildSrc
body: <p>I am trying to build multi module gradle library. I am trying to follow what I read in offical documentation.
  I am working in company which has its own nexus repository for spring and other libraries</p>
  <p>My project structure is as follows
  multi-project</p>
  <p>├── libA<br />
  │   └── build.gradle<br />
  ├── libB<br />
  │   └── build.gradle<br />
  ├── buildSrc<br />
  │   └── build.gradle<br />
  └── main/src/groovy<br />
  └────────multiproject.common-conventions.gradle<br />
  │
  └── settings.gradle</p>
  <p>The project involves using spring boot for different library, and the dependencies are almost the same. Here was my attempt that is not working</p>
  <p>buildSrc/build.gradle</p>
  <pre><code>plugins { 
      id 'groovy-gradle-plugin' 
  } 
  
  repositories { 
      gradlePluginPortal() 
  }
  </code></pre>
  <p>buildSrc/multiproject.common-conventions.gradle</p>
  <pre><code>plugins { 
      id 'java-library' 
      id 'maven-publish' 
      id 'org.springframework.boot' 
  } 
  repositories { 
      mavenCentral()
  } 
  dependencies { 
       implementation group: 'org.springframework.boot:spring-boot-gradle-plugin'
        implementation 'org.springframework.boot:spring-boot-starter' 
        implementation 'org.springframework.boot:spring-boot-starter-aop' 
        implementation 'org.springframework.ws:spring-ws-core' 
        implementation 'org.apache.httpcomponents:httpclient:4.5.13' 
        implementation 'org.springframework.retry:spring-retry:1.3.1' 
        implementation 'javax.cache:cache-api:1.1.1' 
        implementation 'org.ehcache:ehcache:3.10.0' 
        implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.3' 
        testImplementation 'org.springframework.boot:spring-boot-starter-test' 
  }
  
   tasks.named('test') { 
      useJUnitPlatform()
   }
  </code></pre>
  <p>now I try to use above plugin in one sub modules, let say libA
  libA/build.gradle</p>
  <pre><code>plugins { 
  id(&quot;multiproject.common-conventions&quot;)
  id 'org.springframework.boot' version
  }
  </code></pre>
  <p>I get the following exception</p>
  <pre><code> org.gradle.api.plugins.UnknownPluginException: Plugin with id 'org.springframework.boot' not found.
  </code></pre>
  <p>when I add the version to 2.6.4 I get
  <code>Invalid plugin request [id: 'org.springframework.boot', version: '2.7.1']. Plugin requests from precompiled scripts must not include a version number. Please remove the version from the offending request and make sure the module containing the requested plugin 'org.springframework.boot' is an implementation dependency.</code></p>
  <p>How can I setup multi module gradle library to use common-conventions plugin using the buildSrc folder, and the plugins DSL? I am using gradle 7.3 version.</p>