# Applying plugin in initscript fails

**URL:** <https://discuss.gradle.org/t/applying-plugin-in-initscript-fails/22917>\
**Category:** Help/Discuss\
**Tags:** plugins\
**Created:** [June 9, 2017, 1:17pm UTC](https://discuss.gradle.org/t/applying-plugin-in-initscript-fails/22917 "2017-06-09T13:17:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Boon](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@Boon](https://discuss.gradle.org/u/Boon)\
**Post date:** [June 9, 2017, 1:17pm UTC](https://discuss.gradle.org/t/applying-plugin-in-initscript-fails/22917/1 "2017-06-09T13:17:09Z")

</div>

I’m perplexed about how init scripts work. Below is my init script where I try to apply a plugin. With the `apply plugin ...` line commented out everything works fine. In addition, if I add `initscript.repositories.each { println "Name: " + it.name + "; url: " + it.url }` _outside_ the `initscript` block the correct values for the repository are printed. But with the `apply plugin ...` line I get the following error:

```gradle
Could not find property 'repoUrl' on org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository_Decorated@4d0fbb93.

```

My init script:

```gradle
initscript {

    Properties props = new Properties()
    props.load(new File(gradle.gradleUserHomeDir, 'gradle.properties').newDataInputStream())

    def repoUrl = props.REPO_URL ?: System.env.REPO_URL
   
    repositories {
        maven {
            url repoUrl
        }
    }

    dependencies {
        classpath group: 'com.foo.gradle', name: 'gradle-init-plugin', version: '+'
    }
}

apply plugin: com.foo.gradle.GradleInitPlugin

```

Note that I am using Gradle 2.13 currently.
