changed bundles activation order

This commit is contained in:
2021-10-30 20:01:54 +02:00
parent 64ca4940c6
commit a0dbae6a6e
10 changed files with 46 additions and 41 deletions

View File

@@ -1,6 +1,9 @@
package net.woggioni.gradle.dependency.export;
import lombok.*;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.artifacts.Configuration;
@@ -8,7 +11,11 @@ import org.gradle.api.artifacts.ResolvedArtifact;
import org.gradle.api.artifacts.component.ComponentIdentifier;
import org.gradle.api.artifacts.component.ModuleComponentIdentifier;
import org.gradle.api.artifacts.component.ProjectComponentIdentifier;
import org.gradle.api.artifacts.result.*;
import org.gradle.api.artifacts.result.DependencyResult;
import org.gradle.api.artifacts.result.ResolutionResult;
import org.gradle.api.artifacts.result.ResolvedComponentResult;
import org.gradle.api.artifacts.result.ResolvedDependencyResult;
import org.gradle.api.artifacts.result.UnresolvedDependencyResult;
import org.gradle.api.file.FileCollection;
import org.gradle.api.file.RegularFile;
import org.gradle.api.file.RegularFileProperty;
@@ -29,7 +36,15 @@ import java.io.File;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.*;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.Stream;

View File

@@ -1,7 +1,6 @@
package net.woggioni.gradle.dependency.export;
import lombok.Getter;
import lombok.Setter;
import lombok.SneakyThrows;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;

View File

@@ -1,11 +1,5 @@
package net.woggioni.gradle.jlink;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
import javax.inject.Inject;
import lombok.Getter;
import lombok.Setter;
import lombok.SneakyThrows;
@@ -32,6 +26,13 @@ import org.gradle.jvm.toolchain.JavaInstallationMetadata;
import org.gradle.jvm.toolchain.JavaLauncher;
import org.gradle.jvm.toolchain.JavaToolchainService;
import javax.annotation.Nonnull;
import javax.inject.Inject;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JlinkTask extends DefaultTask {

View File

@@ -15,8 +15,8 @@ import java.nio.file.Path
import java.nio.file.Paths
import java.util.jar.JarFile
import java.util.stream.Collectors
import java.util.zip.ZipFile
import java.util.stream.Stream
import java.util.zip.ZipFile
class JPMSCheckPlugin implements Plugin<Project> {

View File

@@ -1,7 +1,6 @@
package net.woggioni.gradle.lombok;
import lombok.Getter;
import org.gradle.api.file.Directory;
import org.gradle.api.tasks.JavaExec;
import org.gradle.api.tasks.OutputDirectory;

View File

@@ -16,10 +16,10 @@ import org.gradle.api.tasks.TaskContainer;
import org.gradle.api.tasks.TaskProvider;
import org.gradle.api.tasks.compile.JavaCompile;
import org.gradle.api.tasks.javadoc.Javadoc;
import org.gradle.jvm.toolchain.JavaToolchainSpec;
import java.io.File;
import java.util.Map;
import org.gradle.jvm.toolchain.JavaToolchainSpec;
public class LombokPlugin implements Plugin<Project> {
@Override

View File

@@ -1,13 +1,14 @@
package net.woggioni.gradle.osgi.app;
import java.io.InputStream;
import java.net.URI;
import java.net.URL;
import javax.annotation.Nonnull;
import lombok.SneakyThrows;
import org.gradle.api.resources.ReadableResource;
import org.gradle.api.resources.ResourceException;
import javax.annotation.Nonnull;
import java.io.InputStream;
import java.net.URI;
import java.net.URL;
abstract class EmbeddedResource implements ReadableResource {
private final URL url;

View File

@@ -1,12 +1,10 @@
package net.woggioni.gradle.osgi.app;
import aQute.bnd.osgi.Constants;
import groovy.lang.Tuple2;
import lombok.SneakyThrows;
import org.gradle.api.DefaultTask;
import org.gradle.api.tasks.OutputFile;
import org.gradle.api.tasks.TaskAction;
import org.osgi.framework.Version;
import java.io.BufferedWriter;
import java.io.File;
@@ -14,8 +12,6 @@ import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
@@ -41,25 +37,20 @@ public class BundleFileTask extends DefaultTask {
@TaskAction
@SneakyThrows
public void run() {
Map<Tuple2<String, Version>, String> map = new TreeMap<>();
for(File bundleFile : bundles) {
try(JarFile jarFile = new JarFile(bundleFile)) {
Attributes mainAttributes = jarFile.getManifest().getMainAttributes();
String bundleSymbolicName = mainAttributes.getValue(Constants.BUNDLE_SYMBOLICNAME);
String bundleVersion = mainAttributes.getValue(Constants.BUNDLE_VERSION);
if(bundleSymbolicName != null && bundleVersion != null) {
Tuple2<String, Version> key = new Tuple2<>(
bundleSymbolicName,
Version.parseVersion(bundleVersion));
map.put(key, bundleFile.getName());
try (BufferedWriter writer =
new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(systemBundleFile)))) {
for (File bundleFile : bundles) {
try (JarFile jarFile = new JarFile(bundleFile)) {
Attributes mainAttributes = jarFile.getManifest().getMainAttributes();
String bundleSymbolicName = mainAttributes.getValue(Constants.BUNDLE_SYMBOLICNAME);
String bundleVersion = mainAttributes.getValue(Constants.BUNDLE_VERSION);
if (bundleSymbolicName != null && bundleVersion != null) {
writer.write("bundles/" + bundleFile.getName());
writer.newLine();
}
}
}
}
try(BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(systemBundleFile)))) {
for(Map.Entry<Tuple2<String, Version>, String> entry : map.entrySet()) {
writer.write("bundles/" + entry.getValue());
writer.newLine();
}
}
}
}

View File

@@ -1,7 +1,6 @@
package net.woggioni.gradle.osgi.app;
import lombok.Getter;
import lombok.Setter;
import lombok.SneakyThrows;
import org.gradle.api.DefaultTask;
import org.gradle.api.model.ObjectFactory;

View File

@@ -35,9 +35,9 @@ public class JavaAgentFileTask extends DefaultTask {
@TaskAction
@SneakyThrows
public void run() {
try(Writer writer = Files.newBufferedWriter(getOutputFile().toPath())) {
try (Writer writer = Files.newBufferedWriter(getOutputFile().toPath())) {
Properties props = new Properties();
for(JavaAgent javaAgent : javaAgents.get()) {
for (JavaAgent javaAgent : javaAgents.get()) {
props.setProperty(javaAgent.getClassName(), javaAgent.getArgs());
}
props.store(writer, null);