Update e2e tests
- Fix native configs for win in sample app. - Integrate spring-native with samples app. - Tweak e2e workflow to upload artifacts and some other generic changes. - Relates #401
This commit is contained in:
10
.github/workflows/e2e.yml
vendored
10
.github/workflows/e2e.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
- nickname: linux
|
||||
os: ubuntu-latest
|
||||
graal: 22.0.0.2
|
||||
name: CI Native ${{ matrix.nickname }}
|
||||
name: E2E ${{ matrix.nickname }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v2
|
||||
@@ -39,6 +39,14 @@ jobs:
|
||||
node-version: '14'
|
||||
- run: |
|
||||
./mvnw clean package -Pnative
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: spring-shell-samples-${{ matrix.nickname }}
|
||||
retention-days: 1
|
||||
path: |
|
||||
spring-shell-samples/target/*.jar
|
||||
spring-shell-samples/target/spring-shell-samples
|
||||
spring-shell-samples/target/spring-shell-samples.exe
|
||||
- name: compile e2e module
|
||||
working-directory: e2e/spring-shell-e2e
|
||||
run: |
|
||||
|
||||
@@ -13,9 +13,9 @@ export const cliPath = path.resolve(cliPathRelative);
|
||||
export const jarPath = path.resolve(jarPathRelative);
|
||||
export const nativeDesc = 'native';
|
||||
export const jarDesc = 'jar';
|
||||
export const jarCommand = 'java';
|
||||
export const jarCommand = isWindows ? 'java.exe' : 'java';
|
||||
export const nativeCommand = cliPath;
|
||||
export const jarOptions = ['-jar', jarPath];
|
||||
export const waitForExpectDefaultTimeout = 10000;
|
||||
export const waitForExpectDefaultInterval = 100;
|
||||
export const testTimeout = 20000;
|
||||
export const waitForExpectDefaultTimeout = 30000;
|
||||
export const waitForExpectDefaultInterval = 2000;
|
||||
export const testTimeout = 100000;
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
|
||||
<description>Examples of using Spring Shell 2</description>
|
||||
|
||||
<properties>
|
||||
<spring-native.version>0.11.1</spring-native.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
@@ -37,7 +41,13 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.shell</groupId>
|
||||
<artifactId>spring-shell-starter</artifactId>
|
||||
<artifactId>spring-shell-starter-jna</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.experimental</groupId>
|
||||
<artifactId>spring-aot</artifactId>
|
||||
<version>${spring-native.version}</version>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -45,9 +55,6 @@
|
||||
<profile>
|
||||
<id>native</id>
|
||||
<!-- needs GRAALVM_HOME to point to graal tools -->
|
||||
<properties>
|
||||
<spring-native.version>0.11.1</spring-native.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.experimental</groupId>
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
/*
|
||||
* Copyright 2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.shell.samples.config;
|
||||
|
||||
import com.sun.jna.CallbackReference;
|
||||
import com.sun.jna.Native;
|
||||
import com.sun.jna.NativeLong;
|
||||
import com.sun.jna.Pointer;
|
||||
import com.sun.jna.Structure;
|
||||
import com.sun.jna.ptr.IntByReference;
|
||||
import com.sun.jna.ptr.PointerByReference;
|
||||
|
||||
import org.springframework.nativex.hint.FieldHint;
|
||||
import org.springframework.nativex.hint.JdkProxyHint;
|
||||
import org.springframework.nativex.hint.MethodHint;
|
||||
import org.springframework.nativex.hint.NativeHint;
|
||||
import org.springframework.nativex.hint.ResourceHint;
|
||||
import org.springframework.nativex.hint.TypeAccess;
|
||||
import org.springframework.nativex.hint.TypeHint;
|
||||
import org.springframework.nativex.type.NativeConfiguration;
|
||||
|
||||
@NativeHint(
|
||||
resources = {
|
||||
@ResourceHint(
|
||||
patterns = {
|
||||
"completion/.*",
|
||||
"template/.*.st",
|
||||
"org/springframework/shell/component/.*.stg",
|
||||
"com/sun/jna/win32-x86-64/jnidispatch.dll"
|
||||
}
|
||||
),
|
||||
},
|
||||
types = {
|
||||
@TypeHint(
|
||||
types = {
|
||||
CallbackReference.class, Native.class, NativeLong.class, PointerByReference.class, IntByReference.class
|
||||
},
|
||||
typeNames = { "com.sun.jna.Klass" },
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CLASSES, TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.PUBLIC_FIELDS,
|
||||
TypeAccess.PUBLIC_METHODS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
types = Structure.class,
|
||||
fields = {
|
||||
@FieldHint( name = "memory", allowWrite = true),
|
||||
@FieldHint( name = "typeInfo")
|
||||
},
|
||||
methods = {
|
||||
@MethodHint( name = "newInstance", parameterTypes = { Class.class, Pointer.class }),
|
||||
@MethodHint( name = "newInstance", parameterTypes = { Class.class, long.class }),
|
||||
@MethodHint( name = "newInstance", parameterTypes = { Class.class })
|
||||
},
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CLASSES, TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.PUBLIC_FIELDS,
|
||||
TypeAccess.PUBLIC_METHODS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "com.sun.jna.Structure$FFIType",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "com.sun.jna.Structure$FFIType$size_t",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$CHAR_INFO",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$CONSOLE_CURSOR_INFO",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$CONSOLE_SCREEN_BUFFER_INFO",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$COORD",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$INPUT_RECORD",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$INPUT_RECORD$EventUnion",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$KEY_EVENT_RECORD",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$MOUSE_EVENT_RECORD",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$WINDOW_BUFFER_SIZE_RECORD",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$MENU_EVENT_RECORD",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$FOCUS_EVENT_RECORD",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$SMALL_RECT",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
),
|
||||
@TypeHint(
|
||||
typeNames = "org.jline.terminal.impl.jna.win.Kernel32$UnionChar",
|
||||
access = {
|
||||
TypeAccess.PUBLIC_CONSTRUCTORS, TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS,
|
||||
TypeAccess.DECLARED_FIELDS, TypeAccess.DECLARED_METHODS
|
||||
}
|
||||
)
|
||||
},
|
||||
jdkProxies = {
|
||||
@JdkProxyHint( typeNames = { "com.sun.jna.Library" }),
|
||||
@JdkProxyHint( typeNames = { "com.sun.jna.Callback" }),
|
||||
@JdkProxyHint( typeNames = { "org.jline.terminal.impl.jna.win.Kernel32" }),
|
||||
@JdkProxyHint( typeNames = { "org.jline.terminal.impl.jna.linux.CLibrary" })
|
||||
}
|
||||
)
|
||||
public class SpringShellNativeConfiguration implements NativeConfiguration {
|
||||
}
|
||||
@@ -0,0 +1,512 @@
|
||||
[
|
||||
{
|
||||
"name" : "com.sun.jna.Native",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Class",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.reflect.Method",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.String",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.Buffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.ByteBuffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.CharBuffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.ShortBuffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.IntBuffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.LongBuffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.FloatBuffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.nio.DoubleBuffer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Void",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Boolean",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Byte",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Character",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Short",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Integer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Long",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Float",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "java.lang.Double",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true },
|
||||
{ "name" : "TYPE" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Pointer",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "peer", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Structure$ByValue",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.WString",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.NativeMapped",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.IntegerType",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.PointerType",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.JNIEnv",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Native$ffi_callback",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.FromNativeConverter",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Structure",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "memory", "allowWrite" : true },
|
||||
{ "name" : "typeInfo", "allowWrite" : true }
|
||||
],
|
||||
"methods" : [
|
||||
{ "name" : "newInstance", "parameterTypes" : ["java.lang.Class","com.sun.jna.Pointer"] },
|
||||
{ "name" : "newInstance", "parameterTypes" : ["java.lang.Class", "long"] },
|
||||
{ "name" : "newInstance", "parameterTypes" : ["java.lang.Class"] },
|
||||
{ "name" : "getTypeInfo", "parameterTypes": ["java.lang.Object"] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Callback",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.CallbackReference$AttachOptions",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.CallbackReference",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.IntegerType",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "value", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.PointerType",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "pointer", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Structure$FFIType",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Structure$FFIType$size_t",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.Structure$FFIType$FFITypes",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "ffi_type_void", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_float", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_double", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_longdouble", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_uint8", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_sint8", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_uint16", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_sint16", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_uint32", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_sint32", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_uint64", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_sint64", "allowWrite" : true },
|
||||
{ "name" : "ffi_type_pointer", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.NativeLong",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "com.sun.jna.ptr.PointerByReference",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$CHAR_INFO",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "uChar", "allowWrite" : true },
|
||||
{ "name" : "Attributes", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$CONSOLE_CURSOR_INFO",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "dwSize", "allowWrite" : true },
|
||||
{ "name" : "bVisible", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$CONSOLE_SCREEN_BUFFER_INFO",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "dwSize", "allowWrite" : true },
|
||||
{ "name" : "dwCursorPosition", "allowWrite" : true },
|
||||
{ "name" : "wAttributes", "allowWrite" : true },
|
||||
{ "name" : "srWindow", "allowWrite" : true },
|
||||
{ "name" : "dwMaximumWindowSize", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$COORD",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "X", "allowWrite" : true },
|
||||
{ "name" : "Y", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$INPUT_RECORD",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "EventType", "allowWrite" : true },
|
||||
{ "name" : "Event", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$INPUT_RECORD$EventUnion",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "KeyEvent", "allowWrite" : true },
|
||||
{ "name" : "MouseEvent", "allowWrite" : true },
|
||||
{ "name" : "WindowBufferSizeEvent", "allowWrite" : true },
|
||||
{ "name" : "MenuEvent", "allowWrite" : true },
|
||||
{ "name" : "FocusEvent", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$KEY_EVENT_RECORD",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "bKeyDown", "allowWrite" : true },
|
||||
{ "name" : "wRepeatCount", "allowWrite" : true },
|
||||
{ "name" : "wVirtualKeyCode", "allowWrite" : true },
|
||||
{ "name" : "wVirtualScanCode", "allowWrite" : true },
|
||||
{ "name" : "uChar", "allowWrite" : true },
|
||||
{ "name" : "dwControlKeyState", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$MOUSE_EVENT_RECORD",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "dwMousePosition", "allowWrite" : true },
|
||||
{ "name" : "dwButtonState", "allowWrite" : true },
|
||||
{ "name" : "dwControlKeyState", "allowWrite" : true },
|
||||
{ "name" : "dwEventFlags", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$WINDOW_BUFFER_SIZE_RECORD",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "dwSize", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$MENU_EVENT_RECORD",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "dwCommandId", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$FOCUS_EVENT_RECORD",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "bSetFocus", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$SMALL_RECT",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "Left", "allowWrite" : true },
|
||||
{ "name" : "Top", "allowWrite" : true },
|
||||
{ "name" : "Right", "allowWrite" : true },
|
||||
{ "name" : "Bottom", "allowWrite" : true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "org.jline.terminal.impl.jna.win.Kernel32$UnionChar",
|
||||
"allDeclaredConstructors" : true,
|
||||
"allPublicConstructors" : true,
|
||||
"allDeclaredMethods" : true,
|
||||
"allPublicMethods" : true,
|
||||
"fields" : [
|
||||
{ "name" : "UnicodeChar", "allowWrite" : true },
|
||||
{ "name" : "AsciiChar", "allowWrite" : true }
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1,9 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name":"org.springframework.shell.samples.jcommander.Args",
|
||||
"allDeclaredFields":true,
|
||||
"queryAllDeclaredMethods":true,
|
||||
"queryAllDeclaredConstructors":true,
|
||||
"methods":[{"name":"<init>","parameterTypes":[] }]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,2 @@
|
||||
org.springframework.nativex.type.NativeConfiguration=\
|
||||
org.springframework.shell.samples.config.SpringShellNativeConfiguration
|
||||
Reference in New Issue
Block a user