public static void publish( Project project, String publishConfigName, File file, String builtBy, String type) { project.getArtifacts().add( publishConfigName, file, new Closure(project /*doesnt matter*/) { public Object doCall(ConfigurablePublishArtifact artifact) { artifact.setType(type); artifact.builtBy(project.getTasks().getByName(builtBy)); return null; } }); }
@Override public void execute(Task packageTask) { project.getArtifacts().add("default", new ApkPublishArtifact(projectBaseName, null, (FileSupplier) packageTask)); }
/** * Create a Python source distribution. */ @Override public void applyTo(final Project project) { SourceDistTask sdistPackageTask = project.getTasks().create(TASK_PACKAGE_SDIST, SourceDistTask.class, task -> task.dependsOn(project.getTasks().getByName(StandardTextValues.TASK_INSTALL_PROJECT.getValue()))); LinkedHashMap<String, Object> sdistArtifactInfo = new LinkedHashMap<>(5); sdistArtifactInfo.put("name", project.getName()); sdistArtifactInfo.put("type", "tgz"); sdistArtifactInfo.put("extension", "tar.gz"); sdistArtifactInfo.put("file", sdistPackageTask.getSdistOutput()); sdistArtifactInfo.put("builtBy", project.getTasks().getByName(TASK_PACKAGE_SDIST)); project.getArtifacts().add(StandardTextValues.CONFIGURATION_DEFAULT.getValue(), sdistArtifactInfo); } }
/** * Create a Python source distribution. */ @Override public void applyTo(final Project project) { SourceDistTask sdistPackageTask = project.getTasks().create(TASK_PACKAGE_SDIST, SourceDistTask.class, task -> task.dependsOn(project.getTasks().getByName(StandardTextValues.TASK_INSTALL_PROJECT.getValue()))); LinkedHashMap<String, Object> sdistArtifactInfo = new LinkedHashMap<>(5); sdistArtifactInfo.put("name", project.getName()); sdistArtifactInfo.put("type", "tgz"); sdistArtifactInfo.put("extension", "tar.gz"); sdistArtifactInfo.put("file", sdistPackageTask.getSdistOutput()); sdistArtifactInfo.put("builtBy", project.getTasks().getByName(TASK_PACKAGE_SDIST)); project.getArtifacts().add(StandardTextValues.CONFIGURATION_DEFAULT.getValue(), sdistArtifactInfo); } }
@Override public void applyTo(final Project project) { // XXX: This needs to be adjusted to work with a build matrix one day. Until // that is ready, we always assume pure Python 2.7 on Linux. String version = project.getVersion().toString().replace("-", "_"); String name = project.getName().replace("-", "_"); final File wheelArtifact = new File(project.getProjectDir(), "/dist/" + name + "-" + version + "-py2-none-any.whl"); /* * Create a Python wheel distribution. */ project.getTasks().create(TASK_PACKAGE_WHEEL, task -> { task.dependsOn(project.getTasks().getByName(StandardTextValues.TASK_INSTALL_PROJECT.getValue())); task.getOutputs().file(wheelArtifact); task.doLast(it -> project.exec(execSpec -> { execSpec.environment(settings.pythonEnvironmentDistgradle); execSpec.commandLine(settings.getDetails().getVirtualEnvInterpreter(), "setup.py", "bdist_wheel"); })); }); LinkedHashMap<String, Object> wheelArtifactInfo = new LinkedHashMap<>(5); wheelArtifactInfo.put("name", name); wheelArtifactInfo.put("classifier", "py2-none-any"); wheelArtifactInfo.put("type", "whl"); wheelArtifactInfo.put("file", wheelArtifact); wheelArtifactInfo.put("builtBy", project.getTasks().getByName(TASK_PACKAGE_WHEEL)); if (!version.contains("SNAPSHOT")) { project.getArtifacts().add(StandardTextValues.CONFIGURATION_WHEEL.getValue(), wheelArtifactInfo); } }
@Override public void applyTo(final Project project) { // XXX: This needs to be adjusted to work with a build matrix one day. Until // that is ready, we always assume pure Python 2.7 on Linux. String version = project.getVersion().toString().replace("-", "_"); String name = project.getName().replace("-", "_"); final File wheelArtifact = new File(project.getProjectDir(), "/dist/" + name + "-" + version + "-py2-none-any.whl"); /* * Create a Python wheel distribution. */ project.getTasks().create(TASK_PACKAGE_WHEEL, task -> { task.dependsOn(project.getTasks().getByName(StandardTextValues.TASK_INSTALL_PROJECT.getValue())); task.getOutputs().file(wheelArtifact); task.doLast(it -> project.exec(execSpec -> { execSpec.environment(settings.pythonEnvironmentDistgradle); execSpec.commandLine(settings.getDetails().getVirtualEnvInterpreter(), "setup.py", "bdist_wheel"); })); }); LinkedHashMap<String, Object> wheelArtifactInfo = new LinkedHashMap<>(5); wheelArtifactInfo.put("name", name); wheelArtifactInfo.put("classifier", "py2-none-any"); wheelArtifactInfo.put("type", "whl"); wheelArtifactInfo.put("file", wheelArtifact); wheelArtifactInfo.put("builtBy", project.getTasks().getByName(TASK_PACKAGE_WHEEL)); if (!version.contains("SNAPSHOT")) { project.getArtifacts().add(StandardTextValues.CONFIGURATION_WHEEL.getValue(), wheelArtifactInfo); } }
@Override public void execute(Task packageTask) { project.getArtifacts().add( variantData.getVariantDependency().getPublishConfiguration().getName(), new ApkPublishArtifact( projectBaseName, null, (FileSupplier) packageTask)); }
private static void addBundleArtifact( ArtifactHandler artifactHandler, Provider<RegularFile> bundle, Task generatedTask, Supplier<String> nameSupplier, String classifier) { artifactHandler.add( "default", new LazyPublishArtifact(bundle, null) { // We need to override this because gradle does not fully lazily load artifacts. Once we move to gradle 5 this will no longer be needed @Override public String getType() { return BUNDLE_FILE_EXTENSION; } }, configurablePublishArtifact -> { configurablePublishArtifact.builtBy(generatedTask); configurablePublishArtifact.setExtension(BUNDLE_FILE_EXTENSION); configurablePublishArtifact.setName(nameSupplier.get()); configurablePublishArtifact.setType(BUNDLE_FILE_EXTENSION); configurablePublishArtifact.setClassifier(classifier); }); }
@Override public void apply(final Project project) { project.getPlugins().apply("java"); final CopySpec license = project.copySpec(copy -> copy.from(project.getRootDir()).include("LICENSE")); ((Jar) project.getTasks().getByName("jar")).with(license); final Jar sourcesJar = project.getTasks().create(SOURCES_JAR_TASK, Jar.class, jar -> { jar.from(JavaPluginUtil.getMainSourceSet(project).getAllSource()); jar.setClassifier("sources"); jar.with(license); }); final Task javadocJar = project.getTasks().create(JAVADOC_JAR_TASK, Jar.class, jar -> { jar.from(project.getTasks().getByName("javadoc")); jar.setClassifier("javadoc"); jar.with(license); }); project.getArtifacts().add("archives", sourcesJar); project.getArtifacts().add("archives", javadocJar); } }
@Override public void apply(final Project project) { project.getPlugins().apply("java"); final CopySpec license = project.copySpec(copy -> copy.from(project.getRootDir()).include("LICENSE")); ((Jar) project.getTasks().getByName("jar")).with(license); final Jar sourcesJar = project.getTasks().create(SOURCES_JAR_TASK, Jar.class, jar -> { jar.from(JavaPluginUtil.getMainSourceSet(project).getAllSource()); jar.setClassifier("sources"); jar.with(license); }); final Task javadocJar = project.getTasks().create(JAVADOC_JAR_TASK, Jar.class, jar -> { jar.from(project.getTasks().getByName("javadoc")); jar.setClassifier("javadoc"); jar.with(license); }); project.getArtifacts().add("archives", sourcesJar); project.getArtifacts().add("archives", javadocJar); } }
@Override public void apply(Project project) { project.getPlugins().apply(WarPlugin.class); WarAttachClassesConvention attachClassesConvention = new WarAttachClassesConvention(); War war = (War) project.getTasks().getByName(WarPlugin.WAR_TASK_NAME); war.getConvention().getPlugins().put("attachClasses", attachClassesConvention); project.afterEvaluate(p -> { if (attachClassesConvention.isAttachClasses()) { Jar jar = (Jar) project.getTasks().getByName(JavaPlugin.JAR_TASK_NAME); jar.setClassifier(attachClassesConvention.getClassesClassifier()); project.getArtifacts().add(Dependency.ARCHIVES_CONFIGURATION, jar); } }); } }
protected void createSourcesJars(final Project project) { final JavaPluginConvention javaPluginConvention = project.getConvention().getPlugin(JavaPluginConvention.class); Task sourcesJar = project.getTasks().create("sourcesJar", Jar.class, jar -> { jar.setDescription("Creates a jar with the sources"); jar.setClassifier("sources"); jar.from(javaPluginConvention.getSourceSets().getByName("main").getAllSource()); }); Task javadocJar = project.getTasks().create("javadocJar", Jar.class, jar -> { jar.setDescription("Creates a javadoc jar"); jar.setClassifier("javadoc"); Javadoc javadoc = (Javadoc) project.getTasks().getByName(JavaPlugin.JAVADOC_TASK_NAME); jar.from(javadoc.getDestinationDir()); jar.dependsOn(javadoc); }); Task testsJar = project.getTasks().create("testsJar", Jar.class, jar -> { jar.setDescription("Creates a jar containing all the source and classes for the tests"); jar.setClassifier("tests"); SourceSet test = javaPluginConvention.getSourceSets().getByName("test"); jar.from(test.getAllJava()); jar.from(test.getOutput()); }); project.getArtifacts().add(Dependency.ARCHIVES_CONFIGURATION, sourcesJar); project.getArtifacts().add(Dependency.ARCHIVES_CONFIGURATION, javadocJar); project.getArtifacts().add(Dependency.ARCHIVES_CONFIGURATION, testsJar); }
packageDeployable.dependsOn(project.getTasks().getByName(TASK_BUILD_PEX)); project.getArtifacts().add(StandardTextValues.CONFIGURATION_DEFAULT.getValue(), packageDeployable);
packageDeployable.dependsOn(project.getTasks().getByName(TASK_BUILD_PEX)); project.getArtifacts().add(StandardTextValues.CONFIGURATION_DEFAULT.getValue(), packageDeployable);
project.getArtifacts().add(SLS_CONFIGURATION_NAME, distTar);
project.artifacts(artifactHandler -> artifactHandler.add("archives", pluginConfig.getBuiltBundleDir(), configurablePublishArtifact -> { configurablePublishArtifact.builtBy(buildBundleTask); configurablePublishArtifact.setExtension(BUNDLE_FILE_EXTENSION);
@Override protected void withAndroid(TestedExtension extension) { super.withAndroid(extension); getAndroidVariants().all(variant -> { Jar sourcesJarTask = getProject().getTasks().create("sources" + capitalize((CharSequence) variant.getName()) + "Jar", Jar.class, jar -> { jar.setDescription("Generate the sources jar for the " + variant.getName() + " variant"); jar.setGroup("jar"); jar.setClassifier("sources"); jar.setAppendix(variant.getName()); jar.from(variant.getJavaCompiler().property("source")); }); allSourcesJarTask.dependsOn(sourcesJarTask); if (publishVariant(variant)) { getProject().getArtifacts().add(Dependency.ARCHIVES_CONFIGURATION, sourcesJarTask); } }); } }