Hello Alex,

I am not sure what you want to achieve / why you want to access these
values. What I think is the expected behavior here is:

- no inheritOutputDirs or true creates .iml saying that output dirs are
inherited from project settings
- inheritOutputDirs set to false and no output dirs will tell IDEA to use
project specific output dirs and IDEA or user will set exact location
- inheritOutputDirs set to false and output dirs tells IDEA that this
module should use specific dirs for its outputs.

IMO if you are looking for classes from some library inside your AS plugin
you should be able to query IJ API. And if they should be separated from
classes built by android project/library then set inheritOutputDirs to
false and optionally specify folders.

-Radim


On Thu, Mar 6, 2014 at 7:44 PM, Alex Ruiz <alr...@google.com> wrote:

> Greetings,
>
> In Android Studio we set up a Gradle-based Android project by first
> getting the structure of the project from Gradle (IDEA's infrastructure
> gets a org.gradle.tooling.model.idea.IdeaProject using the Gradle tooling
> API.)
>
> We currently have a problem when setting up Java-only library modules
> (non-Android.) The problem is that when we get an IdeaCompilerOutput from
> an IdeaModule, the output paths are null. The only way I can get it return
> a value is by adding this to a build.gradle file:
>
> apply plugin: 'idea'
>
> idea {
>     module {
>         inheritOutputDirs = false
>         outputDir = file('muchBetterOutputDir')
>         testOutputDir = file('muchBetterTestOutputDir')
>     }
> }
>
> Even setting up the output path in the Gradle Java plug-in as follows:
>
> sourceSets.main.output.classesDir = file('muchBetterClassesDir')
>
> has no effect on IdeaCompilerOutput.
>
> Is this the expected behavior? I originally thought this was a bug, but if
> this the expected behavior, and given that there is no Java model (like the
> Android model the Android plug-in provides,) what would make more sense:
> 1. Us writing our own Java model (IntelliJ already has something like this
> and we could extend it,)
> or
> 2. Have this functionality provided by Gradle
> ?
>
> Many thanks in advance,
> -Alex
>
>

Reply via email to