private Optional<File> attemptLocalResolutionFromPublication(DependencyAdaptor da, Stream<Publication> publications) { //If any of these is null, we'll fall back to external repositories as well. final String group = da.getGroup(); if ( group == null ) return null; final String version = da.getVersion(); if ( version == null ) return null; final String module = da.getModule(); if ( module == null ) return null; final Optional<File> anyMatch = publications .filter( d -> d instanceof MavenPublication ) .map( d -> (MavenPublication) d ) .filter( m -> module.equals( m.getArtifactId() ) && group.equals( m.getGroupId() ) && version.equals( m.getVersion() ) ) .map( MavenPublication::getArtifacts ) .flatMap( MavenArtifactSet::stream ) .filter( m -> m.getFile() != null ) .map( m -> m.getFile() ) .filter( f -> ((!f.getName().endsWith( "-sources.jar" ))&&(!f.getName().endsWith( "-javadoc.jar" ))) ) .findAny(); return anyMatch; }
public void execute(PublicationContainer publications) { MavenPublication p = publications.create(PUBLICATION_NAME, MavenPublication.class, new Action<MavenPublication>() { public void execute(MavenPublication publication) { publication.from(project.getComponents().getByName("java")); publication.artifact(sourcesJar); publication.artifact(javadocJar); publication.setArtifactId(((Jar) project.getTasks().getByName("jar")).getBaseName()); PomCustomizer.customizePom(project, conf, publication); } }); LOG.info("{} - configured '{}' publication", project.getPath(), p.getArtifactId()); } });
public void apply(final Project project) { final ShipkitConfiguration conf = project.getPlugins().apply(ShipkitConfigurationPlugin.class).getConfiguration(); project.getPlugins().apply(LocalSnapshotPlugin.class); Task snapshotTask = project.getTasks().getByName(LocalSnapshotPlugin.SNAPSHOT_TASK); snapshotTask.dependsOn(MAVEN_LOCAL_TASK); project.getPlugins().apply(JavaLibraryPlugin.class); project.getPlugins().apply("maven-publish"); final Jar sourcesJar = (Jar) project.getTasks().getByName(JavaLibraryPlugin.SOURCES_JAR_TASK); final Jar javadocJar = (Jar) project.getTasks().getByName(JavaLibraryPlugin.JAVADOC_JAR_TASK); GradleDSLHelper.publications(project, publications -> { MavenPublication p = publications.create(PUBLICATION_NAME, MavenPublication.class, publication -> { publication.from(project.getComponents().getByName("java")); publication.artifact(sourcesJar); publication.artifact(javadocJar); DeferredConfiguration.deferredConfiguration(project, () -> { publication.setArtifactId(((Jar) project.getTasks().getByName("jar")).getBaseName()); }); PomCustomizer.customizePom(project, conf, publication); }); LOG.info("{} - configured '{}' publication", project.getPath(), p.getArtifactId()); }); //so that we flesh out problems with maven publication during the build process project.getTasks().getByName("build").dependsOn(MAVEN_LOCAL_TASK); } }
public void apply(final Project project) { final ShipkitConfiguration conf = project.getPlugins().apply(ShipkitConfigurationPlugin.class).getConfiguration(); project.getPlugins().apply(LocalSnapshotPlugin.class); Task snapshotTask = project.getTasks().getByName(LocalSnapshotPlugin.SNAPSHOT_TASK); snapshotTask.dependsOn(MAVEN_LOCAL_TASK); project.getPlugins().apply(JavaLibraryPlugin.class); project.getPlugins().apply("maven-publish"); final Jar sourcesJar = (Jar) project.getTasks().getByName(JavaLibraryPlugin.SOURCES_JAR_TASK); final Jar javadocJar = (Jar) project.getTasks().getByName(JavaLibraryPlugin.JAVADOC_JAR_TASK); GradleDSLHelper.publications(project, publications -> { MavenPublication p = publications.create(PUBLICATION_NAME, MavenPublication.class, publication -> { publication.from(project.getComponents().getByName("java")); publication.artifact(sourcesJar); publication.artifact(javadocJar); DeferredConfiguration.deferredConfiguration(project, () -> { publication.setArtifactId(((Jar) project.getTasks().getByName("jar")).getBaseName()); }); PomCustomizer.customizePom(project, conf, publication); }); LOG.info("{} - configured '{}' publication", project.getPath(), p.getArtifactId()); }); //so that we flesh out problems with maven publication during the build process project.getTasks().getByName("build").dependsOn(MAVEN_LOCAL_TASK); } }