Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I import a class in gradle outside of build.gradle in a apply from: file

I am having a wired issue I am using gradle 1.9

I cannot seem to import a class from outside build.gradle

The following works

build.gradle

buildscript {
    repositories {
        mavenLocal()
    }
    dependencies {
        classpath(group: 'com.foo', name: 'gradle-local-eureka', version: '1.0-SNAPSHOT')
    }
}
import com.foo.my.awesome.package.AwesomeService

The following errors out build.gradle

buildscript {
    repositories {
        mavenLocal()
    }
    dependencies {
        classpath(group: 'com.foo', name: 'gradle-local-eureka', version: '1.0-SNAPSHOT')
    }
}
apply from: file('gradle/foo.gradle')

foo.gradle

import com.foo.my.awesome.package.AwesomeService
// do stuff

I get an unable to resolve class error if I try to import a class outside of build.gradle, does anyone have any insight as to why that wouldn't work or what the proper way of doing this?

like image 809
fieldju Avatar asked Sep 29 '14 21:09

fieldju


People also ask

How do I Import into gradle?

Launch Android Studio, and click File > New > Import Project. Locate your project directory, click the build. gradle file you created above to select it, and then click OK to import your project.

What is apply from in gradle?

#1 Use 'apply' to structure the script content In Gradle apply command can be used to apply not only plugins, but also script files (*). In this way you can divide your main build. gradle file into smaller parts, and move extra tasks like jacoco report and findbugs to the separate files.

What is Ziptree in gradle?

A FileTree represents a hierarchy of files. It extends FileCollection to add hierarchy query and manipulation methods. You typically use a FileTree to represent files to copy or the contents of an archive. You can obtain a FileTree instance using Project.


1 Answers

Try to move the buildscript block into gradle/foo.gradle.

like image 180
Peter Niederwieser Avatar answered Nov 04 '22 14:11

Peter Niederwieser