changed bundles activation order
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
package net.woggioni.gradle.dependency.export;
|
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.DefaultTask;
|
||||||
import org.gradle.api.GradleException;
|
import org.gradle.api.GradleException;
|
||||||
import org.gradle.api.artifacts.Configuration;
|
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.ComponentIdentifier;
|
||||||
import org.gradle.api.artifacts.component.ModuleComponentIdentifier;
|
import org.gradle.api.artifacts.component.ModuleComponentIdentifier;
|
||||||
import org.gradle.api.artifacts.component.ProjectComponentIdentifier;
|
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.FileCollection;
|
||||||
import org.gradle.api.file.RegularFile;
|
import org.gradle.api.file.RegularFile;
|
||||||
import org.gradle.api.file.RegularFileProperty;
|
import org.gradle.api.file.RegularFileProperty;
|
||||||
@@ -29,7 +36,15 @@ import java.io.File;
|
|||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
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.Collector;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package net.woggioni.gradle.dependency.export;
|
package net.woggioni.gradle.dependency.export;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.gradle.api.DefaultTask;
|
import org.gradle.api.DefaultTask;
|
||||||
import org.gradle.api.GradleException;
|
import org.gradle.api.GradleException;
|
||||||
|
@@ -1,11 +1,5 @@
|
|||||||
package net.woggioni.gradle.jlink;
|
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.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
@@ -32,6 +26,13 @@ import org.gradle.jvm.toolchain.JavaInstallationMetadata;
|
|||||||
import org.gradle.jvm.toolchain.JavaLauncher;
|
import org.gradle.jvm.toolchain.JavaLauncher;
|
||||||
import org.gradle.jvm.toolchain.JavaToolchainService;
|
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 {
|
public class JlinkTask extends DefaultTask {
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@ import java.nio.file.Path
|
|||||||
import java.nio.file.Paths
|
import java.nio.file.Paths
|
||||||
import java.util.jar.JarFile
|
import java.util.jar.JarFile
|
||||||
import java.util.stream.Collectors
|
import java.util.stream.Collectors
|
||||||
import java.util.zip.ZipFile
|
|
||||||
import java.util.stream.Stream
|
import java.util.stream.Stream
|
||||||
|
import java.util.zip.ZipFile
|
||||||
|
|
||||||
class JPMSCheckPlugin implements Plugin<Project> {
|
class JPMSCheckPlugin implements Plugin<Project> {
|
||||||
|
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package net.woggioni.gradle.lombok;
|
package net.woggioni.gradle.lombok;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.gradle.api.file.Directory;
|
|
||||||
import org.gradle.api.tasks.JavaExec;
|
import org.gradle.api.tasks.JavaExec;
|
||||||
import org.gradle.api.tasks.OutputDirectory;
|
import org.gradle.api.tasks.OutputDirectory;
|
||||||
|
|
||||||
|
@@ -16,10 +16,10 @@ import org.gradle.api.tasks.TaskContainer;
|
|||||||
import org.gradle.api.tasks.TaskProvider;
|
import org.gradle.api.tasks.TaskProvider;
|
||||||
import org.gradle.api.tasks.compile.JavaCompile;
|
import org.gradle.api.tasks.compile.JavaCompile;
|
||||||
import org.gradle.api.tasks.javadoc.Javadoc;
|
import org.gradle.api.tasks.javadoc.Javadoc;
|
||||||
|
import org.gradle.jvm.toolchain.JavaToolchainSpec;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.gradle.jvm.toolchain.JavaToolchainSpec;
|
|
||||||
|
|
||||||
public class LombokPlugin implements Plugin<Project> {
|
public class LombokPlugin implements Plugin<Project> {
|
||||||
@Override
|
@Override
|
||||||
|
@@ -1,13 +1,14 @@
|
|||||||
package net.woggioni.gradle.osgi.app;
|
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 lombok.SneakyThrows;
|
||||||
import org.gradle.api.resources.ReadableResource;
|
import org.gradle.api.resources.ReadableResource;
|
||||||
import org.gradle.api.resources.ResourceException;
|
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 {
|
abstract class EmbeddedResource implements ReadableResource {
|
||||||
private final URL url;
|
private final URL url;
|
||||||
|
|
||||||
|
@@ -1,12 +1,10 @@
|
|||||||
package net.woggioni.gradle.osgi.app;
|
package net.woggioni.gradle.osgi.app;
|
||||||
|
|
||||||
import aQute.bnd.osgi.Constants;
|
import aQute.bnd.osgi.Constants;
|
||||||
import groovy.lang.Tuple2;
|
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.gradle.api.DefaultTask;
|
import org.gradle.api.DefaultTask;
|
||||||
import org.gradle.api.tasks.OutputFile;
|
import org.gradle.api.tasks.OutputFile;
|
||||||
import org.gradle.api.tasks.TaskAction;
|
import org.gradle.api.tasks.TaskAction;
|
||||||
import org.osgi.framework.Version;
|
|
||||||
|
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -14,8 +12,6 @@ import java.io.FileOutputStream;
|
|||||||
import java.io.OutputStreamWriter;
|
import java.io.OutputStreamWriter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.TreeMap;
|
|
||||||
import java.util.jar.Attributes;
|
import java.util.jar.Attributes;
|
||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
|
|
||||||
@@ -41,25 +37,20 @@ public class BundleFileTask extends DefaultTask {
|
|||||||
@TaskAction
|
@TaskAction
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
Map<Tuple2<String, Version>, String> map = new TreeMap<>();
|
try (BufferedWriter writer =
|
||||||
for(File bundleFile : bundles) {
|
new BufferedWriter(
|
||||||
try(JarFile jarFile = new JarFile(bundleFile)) {
|
new OutputStreamWriter(new FileOutputStream(systemBundleFile)))) {
|
||||||
|
for (File bundleFile : bundles) {
|
||||||
|
try (JarFile jarFile = new JarFile(bundleFile)) {
|
||||||
Attributes mainAttributes = jarFile.getManifest().getMainAttributes();
|
Attributes mainAttributes = jarFile.getManifest().getMainAttributes();
|
||||||
String bundleSymbolicName = mainAttributes.getValue(Constants.BUNDLE_SYMBOLICNAME);
|
String bundleSymbolicName = mainAttributes.getValue(Constants.BUNDLE_SYMBOLICNAME);
|
||||||
String bundleVersion = mainAttributes.getValue(Constants.BUNDLE_VERSION);
|
String bundleVersion = mainAttributes.getValue(Constants.BUNDLE_VERSION);
|
||||||
if(bundleSymbolicName != null && bundleVersion != null) {
|
if (bundleSymbolicName != null && bundleVersion != null) {
|
||||||
Tuple2<String, Version> key = new Tuple2<>(
|
writer.write("bundles/" + bundleFile.getName());
|
||||||
bundleSymbolicName,
|
|
||||||
Version.parseVersion(bundleVersion));
|
|
||||||
map.put(key, bundleFile.getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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();
|
writer.newLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package net.woggioni.gradle.osgi.app;
|
package net.woggioni.gradle.osgi.app;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.gradle.api.DefaultTask;
|
import org.gradle.api.DefaultTask;
|
||||||
import org.gradle.api.model.ObjectFactory;
|
import org.gradle.api.model.ObjectFactory;
|
||||||
|
@@ -35,9 +35,9 @@ public class JavaAgentFileTask extends DefaultTask {
|
|||||||
@TaskAction
|
@TaskAction
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void run() {
|
public void run() {
|
||||||
try(Writer writer = Files.newBufferedWriter(getOutputFile().toPath())) {
|
try (Writer writer = Files.newBufferedWriter(getOutputFile().toPath())) {
|
||||||
Properties props = new Properties();
|
Properties props = new Properties();
|
||||||
for(JavaAgent javaAgent : javaAgents.get()) {
|
for (JavaAgent javaAgent : javaAgents.get()) {
|
||||||
props.setProperty(javaAgent.getClassName(), javaAgent.getArgs());
|
props.setProperty(javaAgent.getClassName(), javaAgent.getArgs());
|
||||||
}
|
}
|
||||||
props.store(writer, null);
|
props.store(writer, null);
|
||||||
|
Reference in New Issue
Block a user