public AndroidArchiveLibrary(Project project, ResolvedArtifact artifact) { if (!"aar".equals(artifact.getType())) { throw new IllegalArgumentException("artifact must be aar type!"); } mProject = project; mArtifact = artifact; }
private String coordinates(ResolvedArtifact artifact, boolean withVersion) { // group:artifact:extension:classifier:version String classifier = artifact.getClassifier(); String extension = artifact.getType(); ModuleVersionIdentifier artifactId = artifact.getModuleVersion().getId(); return artifactId.getGroup() + ":" + artifactId.getName() + (StringUtils.hasText(extension) && (!"jar".equals(extension) || StringUtils.hasText(classifier)) ? ":" + extension : "") + (StringUtils.hasText(classifier) ? ":" + classifier : "") + (withVersion ? ":" + artifactId.getVersion() : ""); }
getProject().getAllprojects(), c -> c.getName().equals(JavaConfigPlugin.ANNOTATIONS_CONFIGURATION), a -> Objects.equals(a.getName(), annotationsProjectName) && Strings.isNullOrEmpty(a.getClassifier()) && Objects.equals(a.getType(), "jar"));
getProject().getAllprojects(), c -> c.getName().equals(JavaConfigPlugin.ANNOTATIONS_CONFIGURATION), a -> Objects.equals(a.getName(), annotationsProjectName) && Strings.isNullOrEmpty(a.getClassifier()) && Objects.equals(a.getType(), "jar"));
/** * Create Eclipse annotations tasks * * @param tasks Task container * @param configurations Container to access configurations * @param buildDir Build directory */ @Mutate public void createEclipseAnnotationsTasks(ModelMap<Task> tasks, ConfigurationContainer configurations, @Path("buildDir") File buildDir) { tasks.create("eclipseAnnotations", EclipseAnnotationsTask.class, t -> { t.setDescription("Generates external nullability annotations for dependencies."); t.setGroup("IDE"); ConventionMapping parameters = t.getConventionMapping(); parameters.map("jars", () -> { Set<File> jars = configurations.stream() .filter(c -> c.isCanBeResolved() && !c.getName().equals(JavaConfigPlugin.ANNOTATIONS_CONFIGURATION)) .map(c -> c.getResolvedConfiguration().getLenientConfiguration()) .flatMap(c -> c.getArtifacts().stream() .filter(a -> !(a.getId() .getComponentIdentifier() instanceof ProjectComponentIdentifier) && a.getType().equals("jar")) .map(a -> a.getFile())) .collect(Collectors.toSet()); return jars; }); }); }
/** * Create Eclipse annotations tasks * * @param tasks Task container * @param configurations Container to access configurations * @param buildDir Build directory */ @Mutate public void createEclipseAnnotationsTasks(ModelMap<Task> tasks, ConfigurationContainer configurations, @Path("buildDir") File buildDir) { tasks.create("eclipseAnnotations", EclipseAnnotationsTask.class, t -> { t.setDescription("Generates external nullability annotations for dependencies."); t.setGroup("IDE"); ConventionMapping parameters = t.getConventionMapping(); parameters.map("jars", () -> { Set<File> jars = configurations.stream() .filter(c -> c.isCanBeResolved() && !c.getName().equals(JavaConfigPlugin.ANNOTATIONS_CONFIGURATION)) .map(c -> c.getResolvedConfiguration().getLenientConfiguration()) .flatMap(c -> c.getArtifacts().stream() .filter(a -> !(a.getId() .getComponentIdentifier() instanceof ProjectComponentIdentifier) && a.getType().equals("jar")) .map(a -> a.getFile())) .collect(Collectors.toSet()); return jars; }); }); }
name, artifact.getType(), artifact.getExtension()));
name, artifact.getType(), artifact.getExtension()));