diff --git a/package.json b/package.json index ad97070a4..365107130 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ ] }, "devDependencies": { - "@abaplint/cli": "^2.93.59", - "@abaplint/database-sqlite": "^2.3.21", - "@abaplint/runtime": "^2.3.30", - "@abaplint/transpiler-cli": "^2.3.30", + "@abaplint/cli": "^2.93.83", + "@abaplint/database-sqlite": "^2.3.38", + "@abaplint/runtime": "^2.3.43", + "@abaplint/transpiler-cli": "^2.3.43", "abapmerge": "^0.14.8", "c8": "^7.12.0", - "eslint": "^8.26.0" + "eslint": "^8.27.0" } } diff --git a/src/data/zcl_abapgit_data_deserializer.clas.abap b/src/data/zcl_abapgit_data_deserializer.clas.abap index cd1337e19..1dc5a47cd 100644 --- a/src/data/zcl_abapgit_data_deserializer.clas.abap +++ b/src/data/zcl_abapgit_data_deserializer.clas.abap @@ -174,11 +174,12 @@ CLASS ZCL_ABAPGIT_DATA_DESERIALIZER IMPLEMENTATION. * this method does not persist any changes to the database DATA lt_configs TYPE zif_abapgit_data_config=>ty_config_tt. - DATA ls_config LIKE LINE OF lt_configs. - DATA lr_data TYPE REF TO data. - DATA ls_file LIKE LINE OF it_files. - DATA ls_result LIKE LINE OF rt_result. + DATA ls_config LIKE LINE OF lt_configs. + DATA lr_data TYPE REF TO data. + DATA ls_file LIKE LINE OF it_files. + DATA ls_result LIKE LINE OF rt_result. + ASSERT ii_config IS NOT INITIAL. lt_configs = ii_config->get_configs( ). LOOP AT lt_configs INTO ls_config. diff --git a/src/data/zcl_abapgit_data_factory.clas.abap b/src/data/zcl_abapgit_data_factory.clas.abap index 217030e7b..e39a684ee 100644 --- a/src/data/zcl_abapgit_data_factory.clas.abap +++ b/src/data/zcl_abapgit_data_factory.clas.abap @@ -11,6 +11,9 @@ CLASS zcl_abapgit_data_factory DEFINITION CLASS-METHODS get_deserializer RETURNING VALUE(ri_deserializer) TYPE REF TO zif_abapgit_data_deserializer . + CLASS-METHODS get_config + RETURNING + VALUE(ri_config) TYPE REF TO zif_abapgit_data_config . PROTECTED SECTION. PRIVATE SECTION. @@ -23,6 +26,11 @@ ENDCLASS. CLASS ZCL_ABAPGIT_DATA_FACTORY IMPLEMENTATION. + METHOD get_config. + CREATE OBJECT ri_config TYPE zcl_abapgit_data_config. + ENDMETHOD. + + METHOD get_deserializer. IF gi_deserializer IS INITIAL. diff --git a/test/abap_transpile.json b/test/abap_transpile.json index 6edb813a7..b20ad0431 100644 --- a/test/abap_transpile.json +++ b/test/abap_transpile.json @@ -58,7 +58,7 @@ "output_folder": "output", "libs": [ { - "url": "https://github.com/open-abap/open-abap" + "url": "https://github.com/open-abap/open-abap-core" } ], "write_unit_tests": true, @@ -84,27 +84,19 @@ {"object": "ZCX_ABAPGIT_EXCEPTION", "class": "ltcl_longtext", "method": "longtext"}, {"object": "ZCX_ABAPGIT_EXCEPTION", "class": "ltcl_longtext", "method": "multiline_longtext"}, - {"object": "ZCL_ABAPGIT_HTML", "class": "ltcl_html", "method": "style1", "note": "indentation is wrong in result, ASSERT failed, ??"}, - {"object": "ZCL_ABAPGIT_HTML", "class": "ltcl_html", "method": "wrap"}, - {"object": "ZCL_ABAPGIT_HTML", "class": "ltcl_html", "method": "wrap_ii"}, - {"object": "ZCL_ABAPGIT_HTML", "class": "ltcl_html", "method": "td"}, - {"object": "ZCL_ABAPGIT_HTML", "class": "ltcl_html", "method": "th"}, - {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "pretty1", "note": "ASSERT failed, ??, newline missing, offset off by one?"}, - {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "pretty2"}, - {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "pretty3"}, - {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "malformatted", "note": "infinite loop"}, + {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "pretty1", "note": "open-abap does not add the byte order mark"}, + {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "pretty2", "note": "open-abap does not add the byte order mark"}, + {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "pretty3", "note": "open-abap does not add the byte order mark"}, + {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "unpretty", "note": "open-abap does not add the byte order mark"}, + {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "malformatted", "note": "infinite loop"}, {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "dont_ignore_error", "note": "infinite loop"}, - {"object": "ZCL_ABAPGIT_XML_PRETTY", "class": "ltcl_test", "method": "unpretty"}, {"object": "ZCL_ABAPGIT_ZLIB", "class": "ltcl_zlib", "method": "dynamic"}, {"object": "ZCL_ABAPGIT_ZLIB", "class": "ltcl_zlib", "method": "fixed"}, - {"object": "ZCL_ABAPGIT_UTILS", "class": "ltcl_is_binary", "method": "image_is_binary", "note": "REGEX '[^[:print:]]'"}, - {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_serializer_test", "method": "stringify_condensed", "note": "field sorting is wrong, probably sorted internal tables needed"}, - {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_serializer_test", "method": "stringify_indented"}, {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_serializer_test", "method": "array_index", "note": "uses secondary index array_index?"}, {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_serializer_test", "method": "item_order", "note": "uses secondary index item_order?"}, {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_serializer_test", "method": "simple_indented", "note": "some sorting"}, - {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_serializer_test", "method": "escape_string", "note": "ASSERT failed, ??"}, + {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_serializer_test", "method": "escape_string", "note": "ASSERT failed, ??"}, {"object": "ZCL_ABAPGIT_SERIALIZE", "class": "ltcl_determine_max_threads", "method": "determine_max_threads", "note": "TypeError: abap.FunctionModules.FUNCTION_EXISTS is not a function"}, {"object": "ZCL_ABAPGIT_SERIALIZE", "class": "ltcl_serialize", "method": "test", "note": "Void type: KO100"}, @@ -128,7 +120,6 @@ {"object": "ZCL_ABAPGIT_FOLDER_LOGIC", "class": "ltcl_folder_logic", "method": "full3", "note": "??"}, {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_json_to_abap", "method": "to_abap_array_of_arrays", "note": "Expected table to contain 2 rows, got 4"}, - {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_json_to_abap", "method": "to_abap_negative", "note": "??"}, {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_writer_test", "method": "overwrite_w_keep_order_touch", "note": "some sorting"}, {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_writer_test", "method": "overwrite_w_keep_order_set", "note": "some sorting"}, {"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_writer_test", "method": "set_tab_hashed", "note": "runtime error, SortByLengthZero"}, @@ -168,12 +159,9 @@ {"object": "ZCL_ABAPGIT_GIT_URL", "class": "ltcl_repo_online", "method": "test_repo_commit_show_urls"}, {"object": "ZCL_ABAPGIT_OBJECT_INTF", "class": "ltcl_unit_test", "method": "deserializes", "note": "Void type: THEAD"}, - {"object": "ZCL_ABAPGIT_OBJECT_INTF", "class": "ltcl_aff_metadata", "method": "serialize_non_default", "note": "cx_sy_dynamic_osql_semantics syntax error => transpiler bug"}, + {"object": "ZCL_ABAPGIT_OBJECT_INTF", "class": "ltcl_aff_metadata", "method": "serialize_non_default", "note": "cx_sy_dynamic_osql_semantics syntax error => transpiler bug, LEFT OUTER JOIN"}, {"object": "ZCL_ABAPGIT_OBJECT_INTF", "class": "ltcl_aff_metadata", "method": "serialize_default", "note": "cx_sy_dynamic_osql_semantics syntax error => transpiler bug"}, - {"object": "ZCL_ABAPGIT_OBJECTS_PROGRAM", "class": "ltcl_test", "method": "strip_generation_comments_1", "note": " https://github.com/abapGit/abapGit/pull/5826 "}, - {"object": "ZCL_ABAPGIT_OBJECTS_PROGRAM", "class": "ltcl_test", "method": "strip_generation_comments_2", "note": "??"}, - {"object": "ZCL_ABAPGIT_SOTR_HANDLER", "class": "ltcl_sotr_handler", "method": "sotr_wda_0001", "note": "Void type: SOTR_HEAD"}, {"object": "ZCL_ABAPGIT_SOTR_HANDLER", "class": "ltcl_sotr_handler", "method": "sotr_wda_0003_not_exist", "note": "Void type: SOTR_HEAD"}, {"object": "ZCL_ABAPGIT_SOTR_HANDLER", "class": "ltcl_sotr_handler", "method": "sotr_wda_0004", "note": "Void type: SOTR_HEAD"},