Doesn't a new IDE model in 0.12 support this?

On Thursday, 19 December 2013 13:03:19 UTC-8, Jürgen Cruz wrote:
>
> I read this on the release notes for Gradle plugin 0.7.0:
>
> New API to add extra artifacts on variants. This will let you register 
> Java or (later) Android artifacts, for instance for alternative test 
> artifacts (e.g. robolectric)
> See 'artifactApi' sample for the API (sample is not meant to be used 
> directly, it's for testing and to demonstrate the API).
>
> I've seen the example, but I still have my doubts about how this works.
>
> Will I be able to specify if the source directory is a test directory? or 
> will it be recognized as source?
>
> From what I see in the code, they are just registering a provider, but the 
> provider interface is really confusing:
>
>     File getManifestFile() {
>         return new File(name)
>     }
>
>     Collection<File> getJavaDirectories() {
>         return Collections.emptyList()
>     }
>
>     Collection<File> getResourcesDirectories() {
>         return Collections.emptyList()
>     }
>
>     Collection<File> getAidlDirectories() {
>         return Collections.emptyList()
>     }
>
>     Collection<File> getRenderscriptDirectories() {
>         return Collections.emptyList()
>     }
>
>     Collection<File> getJniDirectories() {
>         return Collections.emptyList()
>     }
>
>     Collection<File> getResDirectories() {
>         return Collections.emptyList()
>     }
>
>     Collection<File> getAssetsDirectories() {
>         return Collections.emptyList()
>      }
>
> Why do I need to specify an android manifest file? will it override the 
> default flavor or build type manifest?
>
> If I add a source directory through getJavaDirectories(), will those 
> source be treated as part of the app? i.e. production code? can I specify 
> that the sources are for test only? Also, since this SourceProviders are 
> being added to the variant or build type directly, does that mean that it 
> will affect the build itself or are this SourceProviders only for Android 
> Studio to pick up and show them?
>
> Also, how can one add a dependency to this?
>
> I'll try to explain what I need to do, and see how it goes from here:
>
> Currently I support a plugin that basically creates a Test task for each 
> variant. this task will run JUnit tests. As all Test tasks, it needs the 
> .class files of the tests to run. So I need to compile the tests first. So 
> I add a Java SourceSet (which for some reason it has already a task 
> assigned to it when you create it that compiles the source set) for each 
> variant as well and specify the source dir for the tests (.java files) and 
> the output dir of this task is the input dir for the test task.
>
> Finally, I create some Configurations (similar to compileDebug, or 
> compileFreeDebug) that can be used to add dependencies (like robolectric) 
> and I add these configurations to the classpath of the sourceSet so it can 
> compile correctly.
>
> Now, Obviously since these tasks and source sets are Java and not part of 
> the android model, then AS will not pick either the source directories, nor 
> the dependencies.
>
> My question is: How is this new API going to help in making AS recognize 
> these source sets and its dependencies without injecting them in the 
> production code?
>
> Thank you very much.
>

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to