mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-09-27 18:19:34 +02:00
WIP: Working, but slow native image
This commit is contained in:
parent
f61f7bae15
commit
3737acaa16
|
@ -85,6 +85,14 @@ task(generateGraalReflectionConfig, dependsOn: 'classes', type: JavaExec) {
|
||||||
}
|
}
|
||||||
assemble.dependsOn generateGraalReflectionConfig
|
assemble.dependsOn generateGraalReflectionConfig
|
||||||
|
|
||||||
|
task(generateGraalResourceConfig, dependsOn: 'classes', type: JavaExec) {
|
||||||
|
main = 'picocli.codegen.aot.graalvm.ResourceConfigGenerator'
|
||||||
|
classpath = configurations.generateConfig + sourceSets.main.runtimeClasspath
|
||||||
|
def outputFile = "${buildDir}/resources/main/META-INF/native-image/${project.group}/${project.name}/resource-config.json"
|
||||||
|
args = ["--output=$outputFile", 'sop.cli.picocli.SopCLI']
|
||||||
|
}
|
||||||
|
assemble.dependsOn generateGraalResourceConfig
|
||||||
|
|
||||||
/**
|
/**
|
||||||
jar {
|
jar {
|
||||||
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
|
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
|
||||||
|
@ -122,15 +130,5 @@ nativeImage {
|
||||||
graalVmHome = graalHome
|
graalVmHome = graalHome
|
||||||
mainClass = mainClassName
|
mainClass = mainClassName
|
||||||
executableName = 'pgpainless-cli'
|
executableName = 'pgpainless-cli'
|
||||||
arguments(
|
|
||||||
'--no-fallback',
|
|
||||||
// '--enable-all-security-services',
|
|
||||||
// '--initialize-at-run-time=com.example.runtime',
|
|
||||||
'--enable-https',
|
|
||||||
'--enable-all-security-services',
|
|
||||||
'--allow-incomplete-classpath',
|
|
||||||
// '--report-unsupported-elements-at-runtime',
|
|
||||||
'--initialize-at-run-time=org.bouncycastle.jcajce.provider.drbg.DRBG$Default,org.bouncycastle.jcajce.provider.drbg.DRBG$NonceAndIV'
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
tasks."nativeImage".dependsOn('generateGraalReflectionConfig')
|
tasks."nativeImage".dependsOn('generateGraalReflectionConfig')
|
||||||
|
|
|
@ -4,14 +4,6 @@
|
||||||
|
|
||||||
package org.pgpainless.sop;
|
package org.pgpainless.sop;
|
||||||
|
|
||||||
import java.security.Provider;
|
|
||||||
import java.security.Security;
|
|
||||||
|
|
||||||
import com.sun.crypto.provider.SunJCE;
|
|
||||||
import org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi;
|
|
||||||
import org.bouncycastle.jce.provider.BouncyCastleProvider;
|
|
||||||
import org.pgpainless.implementation.ImplementationFactory;
|
|
||||||
import org.pgpainless.implementation.JceImplementationFactory;
|
|
||||||
import org.pgpainless.util.ArmoredOutputStreamFactory;
|
import org.pgpainless.util.ArmoredOutputStreamFactory;
|
||||||
import sop.SOP;
|
import sop.SOP;
|
||||||
import sop.operation.Armor;
|
import sop.operation.Armor;
|
||||||
|
@ -26,12 +18,12 @@ import sop.operation.InlineDetach;
|
||||||
import sop.operation.InlineSign;
|
import sop.operation.InlineSign;
|
||||||
import sop.operation.InlineVerify;
|
import sop.operation.InlineVerify;
|
||||||
import sop.operation.Version;
|
import sop.operation.Version;
|
||||||
import sun.security.ec.SunEC;
|
|
||||||
|
|
||||||
public class SOPImpl implements SOP {
|
public class SOPImpl implements SOP {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
ArmoredOutputStreamFactory.setVersionInfo(null);
|
ArmoredOutputStreamFactory.setVersionInfo(null);
|
||||||
|
/*
|
||||||
ImplementationFactory.setFactoryImplementation(new JceImplementationFactory());
|
ImplementationFactory.setFactoryImplementation(new JceImplementationFactory());
|
||||||
Security.addProvider(new BouncyCastleProvider());
|
Security.addProvider(new BouncyCastleProvider());
|
||||||
Security.addProvider(new SunJCE());
|
Security.addProvider(new SunJCE());
|
||||||
|
@ -41,6 +33,7 @@ public class SOPImpl implements SOP {
|
||||||
Provider bcProv = Security.getProvider("BC");
|
Provider bcProv = Security.getProvider("BC");
|
||||||
Security.removeProvider("BC");
|
Security.removeProvider("BC");
|
||||||
Security.insertProviderAt(bcProv, 1);
|
Security.insertProviderAt(bcProv, 1);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue