Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion agent-api/metadata/notice.properties

This file was deleted.

1 change: 0 additions & 1 deletion agent-common/metadata/notice.properties

This file was deleted.

1 change: 0 additions & 1 deletion agent-plugin/metadata/notice.properties

This file was deleted.

1 change: 0 additions & 1 deletion agent-sdk/metadata/notice.properties

This file was deleted.

8 changes: 0 additions & 8 deletions build-tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,6 @@ licensesConfig {
}
```

## Verifying NOTICE files

NOTICE files need to be kept updated on dependencies changes, for this purpose each will get a new
gradle task named `verifyNoticeFile` which ideally should be run in a CI pipeline in order to
confirm that the existing NOTICE files are valid in regards to their project's dependencies. If
there's an issue, then the `createNoticeFile` task will have to be run so that the new NOTICE files
can be tracked and pushed into the repo.

## Adding source headers

This work is triggered when building this project so there's nothing manual to be done about it. The
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ public abstract class BaseNoticePlugin implements Plugin<Project> {
protected static final String LIBRARY_ELEMENT_LICENSED_DEPENDENCIES = "licensed-dependencies";
protected static final String CONFIGURATION_NOTICES_COLLECTOR = "noticeFiles";
protected static final String LIBRARY_ELEMENT_NOTICE_FILES = "notice-files";
protected static final String TASK_VERIFY_NOTICE_FILE_NAME = "verifyNoticeFile";
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
import co.elastic.otel.android.compilation.tools.tasks.CreateDependenciesListTask;
import co.elastic.otel.android.compilation.tools.tasks.CreateNoticeTask;
import co.elastic.otel.android.compilation.tools.tasks.NoticeMergerTask;
import co.elastic.otel.android.compilation.tools.tasks.dependencies.DependenciesHasherTask;
import co.elastic.otel.android.compilation.tools.tasks.dependencies.DependenciesVerifierTask;
import co.elastic.otel.android.compilation.tools.tasks.subprojects.CopySingleFileTask;
import co.elastic.otel.android.compilation.tools.tasks.subprojects.NoticeFilesCollectorTask;
import co.elastic.otel.android.compilation.tools.tasks.subprojects.PomLicensesCollectorTask;
Expand All @@ -38,10 +36,6 @@ public void apply(Project project) {
Configuration runtimeClasspath = component.getVariantDependencies().getRuntimeClasspath();
Configuration apmToolsClasspath = wrapConfiguration(project, variant, runtimeClasspath);
List<Configuration> runtimeConfigs = getRuntimeConfigurations(project, apmToolsClasspath);
TaskProvider<DependenciesHasherTask> dependenciesHasher = project.getTasks().register(variant.getName() + "DependenciesHasher", DependenciesHasherTask.class, task -> {
task.getRuntimeDependencies().set(runtimeConfigs);
task.getOutputFile().set(project.getLayout().getBuildDirectory().file(task.getName() + "/" + "dependencies_hash.txt"));
});
TaskProvider<PomLicensesCollectorTask> pomLicensesFinder = project.getTasks().register(variant.getName() + "DependenciesLicencesFinder", PomLicensesCollectorTask.class, task -> {
task.getRuntimeDependencies().set(runtimeConfigs);
task.getLicensesFound().set(project.getLayout().getBuildDirectory().file(task.getName() + "/licenses.txt"));
Expand All @@ -63,7 +57,6 @@ public void apply(Project project) {
task.getMergedNoticeFiles().from(noticeFilesMerger.flatMap(NoticeMergerTask::getOutputFile));
task.getLicensedDependencies().set(licensesDependencies.flatMap(CreateDependenciesListTask::getOutputFile));
task.getFoundLicensesIds().set(pomLicensesFinder.flatMap(PomLicensesCollectorTask::getLicensesFound));
task.getDependenciesHashFile().set(dependenciesHasher.flatMap(DependenciesHasherTask::getOutputFile));
task.getOutputDir().set(project.getLayout().getBuildDirectory().dir(task.getName()));
});
if (apmExtension.variantName.get().equals(variant.getName())) {
Expand All @@ -72,9 +65,6 @@ public void apply(Project project) {
task.getInputFile().set(createNotice.get().getOutputDir().file("META-INF/NOTICE"));
task.getOutputFile().set(project.getLayout().getProjectDirectory().file("src/main/resources/META-INF/NOTICE"));
});
project.getTasks().register(TASK_VERIFY_NOTICE_FILE_NAME, DependenciesVerifierTask.class, task -> {
task.getDependenciesHashFile().set(dependenciesHasher.flatMap(DependenciesHasherTask::getOutputFile));
});
setUpLicensedDependencies(project, pomLicensesFinder);
setUpNoticeFilesProvider(project, noticeCollector);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
import co.elastic.otel.android.compilation.tools.tasks.CreateDependenciesListTask;
import co.elastic.otel.android.compilation.tools.tasks.CreateNoticeTask;
import co.elastic.otel.android.compilation.tools.tasks.NoticeMergerTask;
import co.elastic.otel.android.compilation.tools.tasks.dependencies.DependenciesHasherTask;
import co.elastic.otel.android.compilation.tools.tasks.dependencies.DependenciesVerifierTask;
import co.elastic.otel.android.compilation.tools.tasks.subprojects.NoticeFilesCollectorTask;
import co.elastic.otel.android.compilation.tools.tasks.subprojects.PomLicensesCollectorTask;

Expand All @@ -20,10 +18,6 @@ public class JarNoticeProviderPlugin extends BaseSubprojectPlugin {
public void apply(Project project) {
super.apply(project);
List<Configuration> runtimeClasspath = getRuntimeConfigurations(project, project.getConfigurations().getByName("runtimeClasspath"));
TaskProvider<DependenciesHasherTask> dependenciesHasher = project.getTasks().register("dependenciesHasher", DependenciesHasherTask.class, task -> {
task.getRuntimeDependencies().set(runtimeClasspath);
task.getOutputFile().set(project.getLayout().getBuildDirectory().file(task.getName() + "/" + "dependencies_hash.txt"));
});
TaskProvider<PomLicensesCollectorTask> pomLicensesFinder = project.getTasks().register("dependenciesLicencesFinder", PomLicensesCollectorTask.class, task -> {
task.getRuntimeDependencies().set(runtimeClasspath);
task.getLicensesFound().set(project.getLayout().getBuildDirectory().file(task.getName() + "/licenses.txt"));
Expand All @@ -48,15 +42,10 @@ public void apply(Project project) {
task.getMergedNoticeFiles().from(noticeFilesMerger.flatMap(NoticeMergerTask::getOutputFile));
task.getLicensedDependencies().set(licensesDependencies.flatMap(CreateDependenciesListTask::getOutputFile));
task.getFoundLicensesIds().set(pomLicensesFinder.flatMap(PomLicensesCollectorTask::getLicensesFound));
task.getDependenciesHashFile().set(dependenciesHasher.flatMap(DependenciesHasherTask::getOutputFile));
task.getOutputDir().set(project.getLayout().getProjectDirectory().dir("src/main/resources"));
});
project.getTasks().named("processResources").configure(task -> task.mustRunAfter(createNoticeFileTask));

project.getTasks().register(TASK_VERIFY_NOTICE_FILE_NAME, DependenciesVerifierTask.class, task -> {
task.getDependenciesHashFile().set(dependenciesHasher.flatMap(DependenciesHasherTask::getOutputFile));
});

setUpLicensedDependencies(project, pomLicensesFinder);
setUpNoticeFilesProvider(project, noticeCollector);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
package co.elastic.otel.android.compilation.tools.tasks;

import org.apache.commons.io.FileUtils;
import org.gradle.api.Project;
import org.gradle.api.file.ConfigurableFileCollection;
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.tasks.InputFile;
import org.gradle.api.tasks.InputFiles;
import org.gradle.api.tasks.Optional;
import org.gradle.api.tasks.OutputDirectory;
import org.gradle.api.tasks.OutputFile;
import org.gradle.api.tasks.TaskAction;

import java.io.BufferedReader;
Expand All @@ -31,7 +27,6 @@
import java.util.Set;

import co.elastic.otel.android.compilation.tools.data.ArtifactLicense;
import co.elastic.otel.android.compilation.tools.metadata.NoticeMetadataHandler;
import co.elastic.otel.android.compilation.tools.utils.TextUtils;

public abstract class CreateNoticeTask extends BaseTask {
Expand All @@ -45,20 +40,9 @@ public abstract class CreateNoticeTask extends BaseTask {
@InputFile
public abstract RegularFileProperty getFoundLicensesIds();

@InputFile
@Optional
public abstract RegularFileProperty getDependenciesHashFile();

@OutputDirectory
public abstract DirectoryProperty getOutputDir();

@OutputFile
public abstract RegularFileProperty getMetadataOutputFile();

public CreateNoticeTask() {
getMetadataOutputFile().set(NoticeMetadataHandler.getMetadataFile(getProject()));
}

@TaskAction
public void action() {
File licensesFile = getLicensedDependencies().get().getAsFile();
Expand Down Expand Up @@ -89,25 +73,6 @@ public void action() {
addLicenses(outputStream, licenseIds);
}
outputStream.close();
saveMetadata();
} catch (IOException e) {
throw new RuntimeException(e);
}
}

private void saveMetadata() {
if (!getDependenciesHashFile().isPresent()) {
Project project = getProject();
project.getLogger().lifecycle("Skipping metadata saving for project: " + project.getName());
return;
}
File dependenciesHashFile = getDependenciesHashFile().get().getAsFile();
File metadataFile = getMetadataOutputFile().get().getAsFile();
try {
String dependenciesHash = FileUtils.readFileToString(dependenciesHashFile, StandardCharsets.UTF_8);
NoticeMetadataHandler noticeMetadataHandler = NoticeMetadataHandler.create();
noticeMetadataHandler.setDependenciesHash(dependenciesHash);
noticeMetadataHandler.save(metadataFile);
} catch (IOException e) {
throw new RuntimeException(e);
}
Expand Down

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion instrumentation/api/metadata/notice.properties

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion instrumentation/okhttp/library/metadata/notice.properties

This file was deleted.

1 change: 0 additions & 1 deletion instrumentation/okhttp/plugin/metadata/notice.properties

This file was deleted.

Loading