# Accessing project properties from gradle.properties in buildscript block

**URL:** <https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950>\
**Category:** Old Forum Archive\
**Created:** [November 28, 2014, 10:19am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950 "2014-11-28T10:19:00Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![david\_koch444](https://avatars.discourse-cdn.com/v4/letter/d/e0b2c6/32.png) [@david\_koch444](https://discuss.gradle.org/u/david_koch444)\
**Post date:** [November 28, 2014, 10:19am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950/1 "2014-11-28T10:19:00Z")

</div>

In order to put external artifacts in the script classpath I need to configure a repository in the buildscript block. I have separated the repository config into separate gradle file and the base urls into gradle.properties:

build.gradle:

```gradle
buildscript {scriptHandler->
    apply from: 'gradle/repositories.gradle', to: scriptHandler

```

repositories.gradle:

```gradle
repositories{
  maven{
     name "release"
    url "${project.repositoryBaseUrl}/groups/release/"
    }
  maven{
     name "snapshot"
    url "${project.repositoryBaseUrl}/groups/snapshot/"
  }
}

```

gradle.properties:

```gradle
repositoryBaseUrl: http://production:8081/nexus/content

```

Unfortunately this doesn’t work in the buildscript block because there is no project instance available and so also no project property. --David

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [November 28, 2014, 10:48am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950/2 "2014-11-28T10:48:00Z")

</div>

Accessing project properties set in ‘gradle.properties’ from a ‘buildscript’ block works fine for me. What’s the exact error?

---

<div class="post-metadata">

**Author:** ![david\_koch444](https://avatars.discourse-cdn.com/v4/letter/d/e0b2c6/32.png) [@david\_koch444](https://discuss.gradle.org/u/david_koch444)\
**Post date:** [November 28, 2014, 11:11am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950/3 "2014-11-28T11:11:00Z")

</div>

Now as you say it. Yes it works if I access the property directly in the buildscript block. But I have separated the repository config into a separate gradle file so I can apply it everywhere in the project.

the error message is than:

```
> Could not find property 'repositoryBaseUrl' on org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepo sitory_Decorated@60d4801c.
```

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [November 28, 2014, 11:29am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950/4 "2014-11-28T11:29:00Z")

</div>

Try without the ‘project.’.

---

<div class="post-metadata">

**Author:** ![david\_koch444](https://avatars.discourse-cdn.com/v4/letter/d/e0b2c6/32.png) [@david\_koch444](https://discuss.gradle.org/u/david_koch444)\
**Post date:** [November 28, 2014, 11:31am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950/5 "2014-11-28T11:31:00Z")

</div>

If I remove the to: sciptHandler fragment from the code than there seems to be no problem with the property. but than there is no repository configured for the scriptHandler.

Property missing:

```gradle
buildscript {scriptHandler->
    apply from: 'gradle/repositories.gradle', to: scriptHandler

```

Repositories not configured at scriptHandler, but no property issue:

```gradle
buildscript {scriptHandler->
    apply from: 'gradle/repositories.gradle'

```

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [November 28, 2014, 11:34am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950/6 "2014-11-28T11:34:00Z")

</div>

Try without the ‘project.’. I’m not sure if what you are trying to do is achievable.

---

<div class="post-metadata">

**Author:** ![david\_koch444](https://avatars.discourse-cdn.com/v4/letter/d/e0b2c6/32.png) [@david\_koch444](https://discuss.gradle.org/u/david_koch444)\
**Post date:** [November 28, 2014, 11:43am UTC](https://discuss.gradle.org/t/accessing-project-properties-from-gradle-properties-in-buildscript-block/6950/7 "2014-11-28T11:43:00Z")

</div>

I found some oddish workaround. I can configure the repositories in the repositories.gradle file if I do not apply it to the scriptHandler and if I add them as ext.extRepo property to something I don’t know what it is. but than I can use this ext.extRepo property in the buildscript block like so:

repositories.gradle:

```gradle
repositories{
  maven{
     name "release"
    url "${repositoryBaseUrl}/groups/release/"
    }
  maven{
     name "snapshot"
    url "${repositoryBaseUrl}/groups/snapshot/"
  }
}
ext.extRepo = repositories

```

build.gradle:

```gradle
buildscript {scriptHandler->
  apply from: 'gradle/repositories.gradle'
  repositories.addAll(extRepo)

```
