diff options
Diffstat (limited to 'gradle/src/main/groovy/com/android/build/gradle/internal/SourceSetSourceProviderWrapper.java')
-rw-r--r-- | gradle/src/main/groovy/com/android/build/gradle/internal/SourceSetSourceProviderWrapper.java | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/SourceSetSourceProviderWrapper.java b/gradle/src/main/groovy/com/android/build/gradle/internal/SourceSetSourceProviderWrapper.java new file mode 100644 index 0000000..0cc3f7c --- /dev/null +++ b/gradle/src/main/groovy/com/android/build/gradle/internal/SourceSetSourceProviderWrapper.java @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.build.gradle.internal; + +import com.android.annotations.NonNull; +import com.android.builder.model.SourceProvider; +import org.gradle.api.tasks.SourceSet; + +import java.io.File; +import java.util.Collection; +import java.util.Collections; + +/** + * An implementation of SourceProvider that's wrapper around a Java SourceSet. + * This is useful for the case where we store SourceProviders but don't want to + * query the content of the SourceSet at the moment the SourceProvider is created. + */ +public class SourceSetSourceProviderWrapper implements SourceProvider { + + @NonNull + private final SourceSet sourceSet; + + public SourceSetSourceProviderWrapper(@NonNull SourceSet sourceSet) { + + this.sourceSet = sourceSet; + } + + @NonNull + @Override + public File getManifestFile() { + throw new IllegalAccessError("Shouldn't access manifest from SourceSetSourceProviderWrapper"); + } + + @NonNull + @Override + public Collection<File> getJavaDirectories() { + return sourceSet.getAllJava().getSrcDirs(); + } + + @NonNull + @Override + public Collection<File> getResourcesDirectories() { + return sourceSet.getResources().getSrcDirs(); + } + + @NonNull + @Override + public Collection<File> getAidlDirectories() { + return Collections.emptyList(); + } + + @NonNull + @Override + public Collection<File> getRenderscriptDirectories() { + return Collections.emptyList(); + } + + @NonNull + @Override + public Collection<File> getJniDirectories() { + return Collections.emptyList(); + } + + @NonNull + @Override + public Collection<File> getResDirectories() { + return Collections.emptyList(); + } + + @NonNull + @Override + public Collection<File> getAssetsDirectories() { + return Collections.emptyList(); + } +} |