kicad/qa/eeschema
Wayne Stambaugh 7183e9f97e Make the new schematic and symbol library file formats the default.
This is a very large and potentially disruptive change so this will be an
unusually long and detailed commit message.

The new file formats are now the default in both the schematic and symbol
library editors.  Existing symbol libraries will be saved in their current
format until new features are added to library symbols.  Once this happens,
both the legacy schematic and symbol file formats will be no longer be
savable and existing libraries will have to be converted.  Saving to the
legacy file formats is still available for round robin testing and should
not be used for normal editing.

When loading the legacy schematic file, it is imperative that the schematic
library symbols are rescued and/or remapped to valid library identifiers.
Otherwise, there will be no way to link to the original library symbol and
the user will be required manually set the library identifier.  The cached
symbol will be saved in the schematic file so the last library symbol in
the cache will still be used but there will be no way to update it from the
original library.

The next save after loading a legacy schematic file will be converted to
the s-expression file format.  Schematics with hierarchical sheets will
automatically have all sheet file name extensions changed to .kicad_sym
and saved to the new format as well.

Appending schematics requires that the schematic to append has already been
converted to the new file format.  This is required to ensure that library
symbols are guaranteed to be valid for the appended schematic.

The schematic symbol library symbol link resolution has been moved out of
the SCH_COMPONENT object and move into the SCH_SCREEN object that owns the
symbol.  This was done to ensure that there is a single place where the
library symbol links get resolved rather than the dozen or so different
code paths that previously existed.  It also removes the necessity of the
SCH_COMPONENT object of requiring any knowledge of the symbol library table
and/or the cache library.

When opening an s-expression schematic, the legacy cache library is not
loaded so any library symbols not rescued cannot be loaded.  Broken library
symbol links will have to be manually resolved by adding the cache library
to the symbol library table and changing the links in the schematic symbol.

Now that the library symbols are embedded in the schematic file, the
SCH_SCREEN object maintains the list of library symbols for the schematic
automatically.  No external manipulation of this library cache should ever
occur.

ADDED: S-expression schematic and symbol library file formats.
2020-05-04 12:40:03 +00:00
..
data Check for conflicts before promoting sheet pins to be strong drivers 2020-04-19 19:13:24 -04:00
sim Clean up spice tests in qa_eeschema 2020-04-18 00:47:40 +01:00
CMakeLists.txt Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
eeschema_test_utils.cpp Add missing header to qa 2019-04-08 12:33:49 -07:00
eeschema_test_utils.h QA: Eagle test: look up test data in the source tree 2019-04-02 18:26:33 +01:00
lib_field_test_utils.h Variable substitution framework. 2020-03-30 14:15:59 +01:00
mocks_eeschema.cpp qa_eeschema: fix a crash due to LIB_PIN ctor that was using default config values, 2020-04-14 18:12:15 +02:00
netdiff.py Add basic netlist QA test 2020-04-19 19:13:24 -04:00
test_eagle_plugin.cpp QA: Use own unit test headers for eagle test 2019-04-02 23:32:00 +01:00
test_lib_arc.cpp Add unit test for testing LIB_ARC objects. 2020-03-10 11:04:05 -04:00
test_lib_part.cpp Eeschema: implement new symbol library file s-expression formatter. 2020-03-03 08:06:22 -05:00
test_module.cpp QA eeschema: add some tests 2019-05-23 11:29:28 +01:00
test_netlists.py Add basic netlist QA test 2020-04-19 19:13:24 -04:00
test_sch_biu.cpp Convert Schematic Internal Units to 100nm 2019-12-30 18:28:00 +00:00
test_sch_pin.cpp Lay some groundwork for adding distances to DRC errors. 2020-04-24 14:46:22 +01:00
test_sch_rtree.cpp Update tests to UUIDs. 2020-02-28 22:06:14 +00:00
test_sch_sheet.cpp Update tests to UUIDs. 2020-02-28 22:06:14 +00:00
test_sch_sheet_path.cpp Remove duplicated settings from preferences. 2020-03-13 17:28:53 +00:00
test_sch_symbol.cpp Make the new schematic and symbol library file formats the default. 2020-05-04 12:40:03 +00:00
uuid_test_utils.cpp Add missing files from last commit. 2020-02-28 22:37:53 +00:00
uuid_test_utils.h Add missing files from last commit. 2020-02-28 22:37:53 +00:00