I will ask in a bit different way: will there be an IDE support for 
artifact types in 1.0?


On Wednesday, 2 July 2014 03:35:12 UTC+3, Roman Mazur wrote:
>
> 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