anchor.diff:  The former is available to any project that applies the Java Plugin, while `api` is only available to projects that specifically apply the <<java_library_plugin#java_library_plugin,Java Library Plugin>>.
   
   +
  -In most cases you should simply use the `implementation` configuration, but read the section on <<building_java_projects#sec:building_java_libraries,Building Java libraries>> and the chapter on the Java Library Plugin to find out whether you should use `api` instead for a given dependency.
  +In most cases you should simply use the `implementation` configuration, particularly if you're building an application or webapp.
  +But if you're building a library, you can learn about which dependencies should be declared using `api` in the section on <<building_java_projects#sec:building_java_libraries,Building Java libraries>>.
  +Even more information on the differences between `api` and `implementation` is provided in the Java Library Plugin chapter linked above.
   
   `runtime`::
   Use the `runtimeOnly` configuration.
  
positive.code: Even Ant properties and filesets are supported natively.
  To learn more, see <<ant#ant,Using Ant from Gradle>>.
  
  
  [[migmvn:unnecessary_plugins]]
  == Understanding which plugins you don't need
  
negative.code: 
  `install`::
  Use the `publishToMavenLocal` task provided by the <<publishing_maven#publishing_maven:tasks,Maven Publish Plugin>>.
  +
  Note that Gradle builds don't require you to "install" artifacts as you have access to more appropriate features like <<dependency_types#sub:project_dependencies,inter-project dependencies>> and <<composite_builds#composite_builds,composite builds>>.
  You should only use `publishToMavenLocal` for interoperating with Maven builds.
  +
  Gradle also allows you to resolve dependencies against the local Maven cache, as described in the <<migmvn:declaring_repos,Declaring repositories>> section.
  
  `deploy`::
  Use the `publish` task provided by the <<publishing_maven#publishing_maven:tasks,Maven Publish Plugin>> -- making sure you switch from the older Maven Plugin (ID: `maven`) if your build is using that one.
  This will publish your package to all configured publication repositories.
  There are also other tasks that allow you to publish to a single repository even when multiple ones are defined.
  +
  Note that the Maven Publish Plugin does not publish *source and Javadoc JARs* by default, but this can easily be configured as explained <<publishing_overview#sec:publishing_custom_artifacts_to_maven,elsewhere in the user manual>>.
  
  [[migmvn:automatic_conversion]]
  == Performing an automatic conversion
  