public void execute()

in src/main/java/software/amazon/smithy/gradle/tasks/SmithyTagsTask.java [64:89]


    public void execute() {
        writeHeading("Running smithyTags");

        if (!getProject().getTasks().getByName("jar").getEnabled()) {
            getLogger().info("'jar' task is not enabled, so nothing to do in 'smithyTags'");
            return;
        }

        // Configure the task from the extension if things aren't already setup.
        SmithyExtension extension = SmithyUtils.getSmithyExtension(getProject());
        tags.addAll(extension.getTags());

        // Always add the group, the group + ":" + name, and the group + ":" + name + ":" + version as tags.
        if (!getProject().getGroup().toString().isEmpty()) {
            tags.add(getProject().getGroup().toString());
            tags.add(getProject().getGroup() + ":" + getProject().getName());
            tags.add(getProject().getGroup() + ":" + getProject().getName() + ":" + getProject().getVersion());
            getLogger().info("Adding built-in Smithy JAR tags: {}", tags);
        }

        getProject().getTasks().withType(Jar.class, task -> {
            getLogger().info("Adding tags to manifest: {}", tags);
            Attributes attributes = task.getManifest().getAttributes();
            attributes.put("Smithy-Tags", String.join(", ", tags));
        });
    }