Skip to content

Commit 49a0172

Browse files
authored
Merge pull request #123 from kbase/sdkdev
Fix dropdown options reflection error with `kb-sdk validate`
2 parents bd710aa + 8518b05 commit 49a0172

File tree

2 files changed

+90
-101
lines changed

2 files changed

+90
-101
lines changed

build.gradle

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -231,17 +231,23 @@ java \$COMMON_OPTS/test -cp "\$CP" ${mainClass} test
231231
# comes with GraalVM 17
232232
native-image-configure generate \\
233233
--output-dir=\$OUTDIR/merged \\
234-
--input-dir=\$OUTDIR/init --input-dir=\$OUTDIR/compile --input-dir=\$OUTDIR/test
234+
--input-dir=\$OUTDIR/init \\
235+
--input-dir=\$OUTDIR/compile \\
236+
--input-dir=\$OUTDIR/test
235237
236238
echo
237-
echo "Done. NOTE: Inspect the merged output carefully; the agent is better "
238-
echo "than starting from scratch but is imperfect. In particular, check that "
239-
echo "all, not just specific resources from this repo are included in the "
240-
echo "configuration files, and test classes are not included "
241-
echo "(e.g. KBaseReport). Edit manually if necessary."
242-
echo "When the files look acceptable, copy them to "
243-
echo "src/main/resources/META-INF/native-image and carefully check for "
244-
echo "differences in the versions."
239+
echo "Done. NOTE: Inspect the merged output carefully; the agent is better"
240+
echo "than starting from scratch but is imperfect."
241+
echo "When merging into src/main/resources/META-INF/native-image carefully"
242+
echo "check that:"
243+
echo ""
244+
echo " * all, not just specific resources from this repo are included in the"
245+
echo " configuration files"
246+
echo " * test classes are not included (e.g. KBaseReport)"
247+
echo " * Narrative method store objects have all methods, constructors, and "
248+
echo " fields included"
249+
echo ""
250+
echo "Edit manually if necessary."
245251
"""
246252

247253
scriptFile.setExecutable(true)
@@ -256,7 +262,7 @@ graalvmNative {
256262
// Don't fall back to a jar based build
257263
buildArgs.addAll([
258264
"--no-fallback",
259-
"--enable-url-protocols=https,http,file",
265+
"--enable-url-protocols=https,http",
260266
"-H:+AddAllCharsets"
261267
])
262268
}

src/main/resources/META-INF/native-image/reflect-config.json

Lines changed: 74 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -768,236 +768,224 @@
768768
{
769769
"name":"us.kbase.narrativemethodstore.AppBriefInfo",
770770
"allDeclaredFields":true,
771-
"queryAllDeclaredMethods":true,
772-
"queryAllDeclaredConstructors":true
771+
"allDeclaredMethods":true,
772+
"allDeclaredConstructors":true
773773
},
774774
{
775775
"name":"us.kbase.narrativemethodstore.AppFullInfo",
776776
"allDeclaredFields":true,
777-
"queryAllDeclaredMethods":true,
778-
"queryAllDeclaredConstructors":true
777+
"allDeclaredMethods":true,
778+
"allDeclaredConstructors":true
779779
},
780780
{
781781
"name":"us.kbase.narrativemethodstore.AppSpec",
782782
"allDeclaredFields":true,
783-
"queryAllDeclaredMethods":true,
784-
"queryAllDeclaredConstructors":true
783+
"allDeclaredMethods":true,
784+
"allDeclaredConstructors":true
785785
},
786786
{
787787
"name":"us.kbase.narrativemethodstore.AppStepInputMapping",
788788
"allDeclaredFields":true,
789-
"queryAllDeclaredMethods":true,
790-
"queryAllDeclaredConstructors":true
789+
"allDeclaredMethods":true,
790+
"allDeclaredConstructors":true
791791
},
792792
{
793793
"name":"us.kbase.narrativemethodstore.AppSteps",
794794
"allDeclaredFields":true,
795-
"queryAllDeclaredMethods":true,
796-
"queryAllDeclaredConstructors":true
795+
"allDeclaredMethods":true,
796+
"allDeclaredConstructors":true
797797
},
798798
{
799799
"name":"us.kbase.narrativemethodstore.AutoGeneratedValue",
800800
"allDeclaredFields":true,
801-
"queryAllDeclaredMethods":true,
802-
"queryAllDeclaredConstructors":true
801+
"allDeclaredMethods":true,
802+
"allDeclaredConstructors":true
803803
},
804804
{
805805
"name":"us.kbase.narrativemethodstore.CheckboxOptions",
806806
"allDeclaredFields":true,
807-
"queryAllDeclaredMethods":true,
808-
"queryAllDeclaredConstructors":true
807+
"allDeclaredMethods":true,
808+
"allDeclaredConstructors":true
809809
},
810810
{
811811
"name":"us.kbase.narrativemethodstore.DropdownOption",
812812
"allDeclaredFields":true,
813-
"queryAllDeclaredMethods":true,
814-
"queryAllDeclaredConstructors":true
813+
"allDeclaredMethods":true,
814+
"allDeclaredConstructors":true
815815
},
816816
{
817817
"name":"us.kbase.narrativemethodstore.DropdownOptions",
818818
"allDeclaredFields":true,
819-
"queryAllDeclaredMethods":true,
820-
"queryAllDeclaredConstructors":true
819+
"allDeclaredMethods":true,
820+
"allDeclaredConstructors":true
821821
},
822822
{
823823
"name":"us.kbase.narrativemethodstore.FixedMethodParameter",
824824
"allDeclaredFields":true,
825-
"queryAllDeclaredMethods":true,
826-
"queryAllDeclaredConstructors":true
825+
"allDeclaredMethods":true,
826+
"allDeclaredConstructors":true
827827
},
828828
{
829829
"name":"us.kbase.narrativemethodstore.FloatSliderOptions",
830830
"allDeclaredFields":true,
831-
"queryAllDeclaredMethods":true,
832-
"queryAllDeclaredConstructors":true
831+
"allDeclaredMethods":true,
832+
"allDeclaredConstructors":true
833833
},
834834
{
835835
"name":"us.kbase.narrativemethodstore.Icon",
836836
"allDeclaredFields":true,
837-
"queryAllDeclaredMethods":true,
838-
"queryAllDeclaredConstructors":true
837+
"allDeclaredMethods":true,
838+
"allDeclaredConstructors":true
839839
},
840840
{
841841
"name":"us.kbase.narrativemethodstore.IntSliderOptions",
842842
"allDeclaredFields":true,
843-
"queryAllDeclaredMethods":true,
844-
"queryAllDeclaredConstructors":true
843+
"allDeclaredMethods":true,
844+
"allDeclaredConstructors":true
845845
},
846846
{
847847
"name":"us.kbase.narrativemethodstore.MethodBehavior",
848848
"allDeclaredFields":true,
849-
"queryAllDeclaredMethods":true,
850-
"queryAllDeclaredConstructors":true,
851-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setKbServiceInputMapping","parameterTypes":["java.util.List"] }, {"name":"setKbServiceMethod","parameterTypes":["java.lang.String"] }, {"name":"setKbServiceName","parameterTypes":["java.lang.String"] }, {"name":"setKbServiceOutputMapping","parameterTypes":["java.util.List"] }, {"name":"setKbServiceUrl","parameterTypes":["java.lang.String"] }]
849+
"allDeclaredMethods":true,
850+
"allDeclaredConstructors":true
852851
},
853852
{
854853
"name":"us.kbase.narrativemethodstore.MethodBriefInfo",
855854
"allDeclaredFields":true,
856-
"queryAllDeclaredMethods":true,
857-
"queryAllDeclaredConstructors":true,
858-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setAdditionalProperties","parameterTypes":["java.lang.String","java.lang.Object"] }, {"name":"setAuthors","parameterTypes":["java.util.List"] }, {"name":"setCategories","parameterTypes":["java.util.List"] }, {"name":"setId","parameterTypes":["java.lang.String"] }, {"name":"setInputTypes","parameterTypes":["java.util.List"] }, {"name":"setName","parameterTypes":["java.lang.String"] }, {"name":"setOutputTypes","parameterTypes":["java.util.List"] }, {"name":"setSubtitle","parameterTypes":["java.lang.String"] }, {"name":"setTooltip","parameterTypes":["java.lang.String"] }, {"name":"setVer","parameterTypes":["java.lang.String"] }]
855+
"allDeclaredMethods":true,
856+
"allDeclaredConstructors":true
859857
},
860858
{
861859
"name":"us.kbase.narrativemethodstore.MethodFullInfo",
862860
"allDeclaredFields":true,
863-
"queryAllDeclaredMethods":true,
864-
"queryAllDeclaredConstructors":true,
865-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setAdditionalProperties","parameterTypes":["java.lang.String","java.lang.Object"] }, {"name":"setAuthors","parameterTypes":["java.util.List"] }, {"name":"setCategories","parameterTypes":["java.util.List"] }, {"name":"setContact","parameterTypes":["java.lang.String"] }, {"name":"setDescription","parameterTypes":["java.lang.String"] }, {"name":"setId","parameterTypes":["java.lang.String"] }, {"name":"setName","parameterTypes":["java.lang.String"] }, {"name":"setPublications","parameterTypes":["java.util.List"] }, {"name":"setScreenshots","parameterTypes":["java.util.List"] }, {"name":"setSubtitle","parameterTypes":["java.lang.String"] }, {"name":"setSuggestions","parameterTypes":["us.kbase.narrativemethodstore.Suggestions"] }, {"name":"setTechnicalDescription","parameterTypes":["java.lang.String"] }, {"name":"setTooltip","parameterTypes":["java.lang.String"] }, {"name":"setVer","parameterTypes":["java.lang.String"] }]
861+
"allDeclaredMethods":true,
862+
"allDeclaredConstructors":true
866863
},
867864
{
868865
"name":"us.kbase.narrativemethodstore.MethodParameter",
869866
"allDeclaredFields":true,
870-
"queryAllDeclaredMethods":true,
871-
"queryAllDeclaredConstructors":true,
872-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setAdvanced","parameterTypes":["java.lang.Long"] }, {"name":"setAllowMultiple","parameterTypes":["java.lang.Long"] }, {"name":"setDefaultValues","parameterTypes":["java.util.List"] }, {"name":"setDescription","parameterTypes":["java.lang.String"] }, {"name":"setDisabled","parameterTypes":["java.lang.Long"] }, {"name":"setFieldType","parameterTypes":["java.lang.String"] }, {"name":"setId","parameterTypes":["java.lang.String"] }, {"name":"setOptional","parameterTypes":["java.lang.Long"] }, {"name":"setShortHint","parameterTypes":["java.lang.String"] }, {"name":"setTextOptions","parameterTypes":["us.kbase.narrativemethodstore.TextOptions"] }, {"name":"setUiClass","parameterTypes":["java.lang.String"] }, {"name":"setUiName","parameterTypes":["java.lang.String"] }]
867+
"allDeclaredMethods":true,
868+
"allDeclaredConstructors":true
873869
},
874870
{
875871
"name":"us.kbase.narrativemethodstore.MethodSpec",
876872
"allDeclaredFields":true,
877-
"queryAllDeclaredMethods":true,
878-
"queryAllDeclaredConstructors":true,
879-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setBehavior","parameterTypes":["us.kbase.narrativemethodstore.MethodBehavior"] }, {"name":"setFixedParameters","parameterTypes":["java.util.List"] }, {"name":"setInfo","parameterTypes":["us.kbase.narrativemethodstore.MethodBriefInfo"] }, {"name":"setJobIdOutputField","parameterTypes":["java.lang.String"] }, {"name":"setParameters","parameterTypes":["java.util.List"] }, {"name":"setWidgets","parameterTypes":["us.kbase.narrativemethodstore.WidgetSpec"] }]
873+
"allDeclaredMethods":true,
874+
"allDeclaredConstructors":true
880875
},
881876
{
882877
"name":"us.kbase.narrativemethodstore.OutputMapping",
883878
"allDeclaredFields":true,
884-
"queryAllDeclaredMethods":true,
885-
"queryAllDeclaredConstructors":true
879+
"allDeclaredMethods":true,
880+
"allDeclaredConstructors":true
886881
},
887882
{
888883
"name":"us.kbase.narrativemethodstore.Publication",
889884
"allDeclaredFields":true,
890-
"queryAllDeclaredMethods":true,
891-
"queryAllDeclaredConstructors":true
885+
"allDeclaredMethods":true,
886+
"allDeclaredConstructors":true
892887
},
893888
{
894889
"name":"us.kbase.narrativemethodstore.RadioOptions",
895890
"allDeclaredFields":true,
896-
"queryAllDeclaredMethods":true,
897-
"queryAllDeclaredConstructors":true
891+
"allDeclaredMethods":true,
892+
"allDeclaredConstructors":true
898893
},
899894
{
900895
"name":"us.kbase.narrativemethodstore.RegexMatcher",
901896
"allDeclaredFields":true,
902-
"queryAllDeclaredMethods":true,
903-
"queryAllDeclaredConstructors":true
897+
"allDeclaredMethods":true,
898+
"allDeclaredConstructors":true
904899
},
905900
{
906901
"name":"us.kbase.narrativemethodstore.ScreenShot",
907902
"allDeclaredFields":true,
908-
"queryAllDeclaredMethods":true,
909-
"queryAllDeclaredConstructors":true
903+
"allDeclaredMethods":true,
904+
"allDeclaredConstructors":true
910905
},
911906
{
912907
"name":"us.kbase.narrativemethodstore.ScriptInputMapping",
913908
"allDeclaredFields":true,
914-
"queryAllDeclaredMethods":true,
915-
"queryAllDeclaredConstructors":true
909+
"allDeclaredMethods":true,
910+
"allDeclaredConstructors":true
916911
},
917912
{
918913
"name":"us.kbase.narrativemethodstore.ScriptOutputMapping",
919914
"allDeclaredFields":true,
920-
"queryAllDeclaredMethods":true,
921-
"queryAllDeclaredConstructors":true
915+
"allDeclaredMethods":true,
916+
"allDeclaredConstructors":true
922917
},
923918
{
924919
"name":"us.kbase.narrativemethodstore.ServiceMethodInputMapping",
925920
"allDeclaredFields":true,
926-
"queryAllDeclaredMethods":true,
927-
"queryAllDeclaredConstructors":true,
928-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setInputParameter","parameterTypes":["java.lang.String"] }, {"name":"setNarrativeSystemVariable","parameterTypes":["java.lang.String"] }, {"name":"setTargetProperty","parameterTypes":["java.lang.String"] }]
921+
"allDeclaredMethods":true,
922+
"allDeclaredConstructors":true
929923
},
930924
{
931925
"name":"us.kbase.narrativemethodstore.ServiceMethodOutputMapping",
932926
"allDeclaredFields":true,
933-
"queryAllDeclaredMethods":true,
934-
"queryAllDeclaredConstructors":true,
935-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setServiceMethodOutputPath","parameterTypes":["java.util.List"] }, {"name":"setTargetProperty","parameterTypes":["java.lang.String"] }]
927+
"allDeclaredMethods":true,
928+
"allDeclaredConstructors":true
936929
},
937930
{
938931
"name":"us.kbase.narrativemethodstore.SubdataSelection",
939932
"allDeclaredFields":true,
940-
"queryAllDeclaredMethods":true,
941-
"queryAllDeclaredConstructors":true
933+
"allDeclaredMethods":true,
934+
"allDeclaredConstructors":true
942935
},
943936
{
944937
"name":"us.kbase.narrativemethodstore.Suggestions",
945938
"allDeclaredFields":true,
946-
"queryAllDeclaredMethods":true,
947-
"queryAllDeclaredConstructors":true,
948-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setNextApps","parameterTypes":["java.util.List"] }, {"name":"setNextMethods","parameterTypes":["java.util.List"] }, {"name":"setRelatedApps","parameterTypes":["java.util.List"] }, {"name":"setRelatedMethods","parameterTypes":["java.util.List"] }]
939+
"allDeclaredMethods":true,
940+
"allDeclaredConstructors":true
949941
},
950942
{
951943
"name":"us.kbase.narrativemethodstore.TabOptions",
952944
"allDeclaredFields":true,
953-
"queryAllDeclaredMethods":true,
954-
"queryAllDeclaredConstructors":true
945+
"allDeclaredMethods":true,
946+
"allDeclaredConstructors":true
955947
},
956948
{
957949
"name":"us.kbase.narrativemethodstore.TextAreaOptions",
958950
"allDeclaredFields":true,
959-
"queryAllDeclaredMethods":true,
960-
"queryAllDeclaredConstructors":true
951+
"allDeclaredMethods":true,
952+
"allDeclaredConstructors":true
961953
},
962954
{
963955
"name":"us.kbase.narrativemethodstore.TextOptions",
964956
"allDeclaredFields":true,
965-
"queryAllDeclaredMethods":true,
966-
"queryAllDeclaredConstructors":true,
967-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setIsOutputName","parameterTypes":["java.lang.Long"] }, {"name":"setPlaceholder","parameterTypes":["java.lang.String"] }, {"name":"setRegexConstraint","parameterTypes":["java.util.List"] }, {"name":"setValidWsTypes","parameterTypes":["java.util.List"] }]
957+
"allDeclaredMethods":true,
958+
"allDeclaredConstructors":true
968959
},
969960
{
970961
"name":"us.kbase.narrativemethodstore.TextSubdataOptions",
971962
"allDeclaredFields":true,
972-
"queryAllDeclaredMethods":true,
973-
"queryAllDeclaredConstructors":true
963+
"allDeclaredMethods":true,
964+
"allDeclaredConstructors":true
974965
},
975966
{
976967
"name":"us.kbase.narrativemethodstore.TypeInfo",
977968
"allDeclaredFields":true,
978-
"queryAllDeclaredMethods":true,
979-
"queryAllDeclaredConstructors":true
969+
"allDeclaredMethods":true,
970+
"allDeclaredConstructors":true
980971
},
981972
{
982973
"name":"us.kbase.narrativemethodstore.ValidateMethodParams",
983974
"allDeclaredFields":true,
984-
"queryAllDeclaredMethods":true,
985-
"queryAllDeclaredConstructors":true,
986-
"methods":[{"name":"getAdditionalProperties","parameterTypes":[] }, {"name":"getDisplayYaml","parameterTypes":[] }, {"name":"getExtraFiles","parameterTypes":[] }, {"name":"getId","parameterTypes":[] }, {"name":"getSpecJson","parameterTypes":[] }]
975+
"allDeclaredMethods":true,
976+
"allDeclaredConstructors":true
987977
},
988978
{
989979
"name":"us.kbase.narrativemethodstore.ValidationResults",
990980
"allDeclaredFields":true,
991-
"queryAllDeclaredMethods":true,
992-
"queryAllDeclaredConstructors":true,
993-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setErrors","parameterTypes":["java.util.List"] }, {"name":"setIsValid","parameterTypes":["java.lang.Long"] }, {"name":"setMethodFullInfo","parameterTypes":["us.kbase.narrativemethodstore.MethodFullInfo"] }, {"name":"setMethodSpec","parameterTypes":["us.kbase.narrativemethodstore.MethodSpec"] }, {"name":"setWarnings","parameterTypes":["java.util.List"] }]
981+
"allDeclaredMethods":true,
982+
"allDeclaredConstructors":true
994983
},
995984
{
996985
"name":"us.kbase.narrativemethodstore.WidgetSpec",
997986
"allDeclaredFields":true,
998-
"queryAllDeclaredMethods":true,
999-
"queryAllDeclaredConstructors":true,
1000-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setInput","parameterTypes":["java.lang.String"] }, {"name":"setOutput","parameterTypes":["java.lang.String"] }]
987+
"allDeclaredMethods":true,
988+
"allDeclaredConstructors":true
1001989
},
1002990
{
1003991
"name":"us.kbase.sdk.ModuleBuilder",
@@ -1053,11 +1041,6 @@
10531041
"allDeclaredFields":true,
10541042
"queryAllDeclaredMethods":true
10551043
},
1056-
{
1057-
"name":"us.kbase.sdk.ModuleBuilder$ValidationArgs",
1058-
"allDeclaredFields":true,
1059-
"queryAllDeclaredMethods":true
1060-
},
10611044
{
10621045
"name":"us.kbase.sdk.ModuleBuilder$Verbose",
10631046
"allDeclaredFields":true,

0 commit comments

Comments
 (0)