# Why community plugin version is a required field?

**URL:** <https://discuss.gradle.org/t/why-community-plugin-version-is-a-required-field/17596>\
**Category:** Help/Discuss\
**Created:** [May 14, 2016, 10:01pm UTC](https://discuss.gradle.org/t/why-community-plugin-version-is-a-required-field/17596 "2016-05-14T22:01:35Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fernando\_Rubbo](https://avatars.discourse-cdn.com/v4/letter/f/ed8c4c/32.png) [@Fernando\_Rubbo](https://discuss.gradle.org/u/Fernando_Rubbo)\
**Post date:** [May 14, 2016, 10:01pm UTC](https://discuss.gradle.org/t/why-community-plugin-version-is-a-required-field/17596/1 "2016-05-14T22:01:36Z")

</div>

According to docs

> Where «plugin version» and «plugin id» must be constant, literal, strings. No other statements are allowed; their presence will cause a compilation error.

Meaning the user MUST provide something like this

```
plugins {
  id "com.datamaio.scd4j" version "0.7.9"
}

```

But should not we allow the user to use the latest version if they prefer? Following the same strategy gradle does for dependencies?

For example

```
plugins {
  id "com.datamaio.scd4j" version "0.7.+"
}

```

Thanks

---

<div class="post-metadata">

**Author:** ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)\
**Post date:** [May 15, 2016, 8:34am UTC](https://discuss.gradle.org/t/why-community-plugin-version-is-a-required-field/17596/2 "2016-05-15T08:34:11Z")

</div>

Although the lure of always having the latests version available is strong, I prefer having the version fixed. This leads to repeatable builds. Even for normal dependencies I would do the same. There is a plugin that one can use that will notify the user whether a new vesion of a dependency is available.

---

<div class="post-metadata">

**Author:** ![Fernando\_Rubbo](https://avatars.discourse-cdn.com/v4/letter/f/ed8c4c/32.png) [@Fernando\_Rubbo](https://discuss.gradle.org/u/Fernando_Rubbo)\
**Post date:** [May 15, 2016, 2:11pm UTC](https://discuss.gradle.org/t/why-community-plugin-version-is-a-required-field/17596/3 "2016-05-15T14:11:20Z")

</div>

I totally agree with that, but shouldn’t it be the user’s choice? If gradle  
gives user the choice for dynamic picking dependencies. Why not for  
plugins?

Just wondering

---

<div class="post-metadata">

**Author:** ![eljobe](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/eljobe/32/4290_2.png) [@eljobe](https://discuss.gradle.org/u/eljobe)\
**Post date:** [May 16, 2016, 8:28am UTC](https://discuss.gradle.org/t/why-community-plugin-version-is-a-required-field/17596/4 "2016-05-16T08:28:46Z")

</div>

The `plugins {}` block is under active development. We have plans to add support for dynamic versions as you have suggested, but we are not yet to that point in the development process. Thanks for the suggestion and your continued patience as we work through our backlog of higher-priority features.
