openc3 6.10.4 → 7.0.0.pre.rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -1
- data/Guardfile +4 -9
- data/LICENSE.md +85 -0
- data/README.md +8 -8
- data/Rakefile +3 -9
- data/bin/cstol_converter +3 -8
- data/bin/openc3cli +64 -35
- data/data/config/command_modifiers.yaml +18 -1
- data/data/config/interface_modifiers.yaml +0 -2
- data/data/config/plugins.yaml +14 -18
- data/data/config/screen.yaml +1 -1
- data/data/config/target.yaml +26 -79
- data/data/config/telemetry_modifiers.yaml +15 -0
- data/data/config/widgets.yaml +32 -32
- data/ext/openc3/ext/array/array.c +4 -9
- data/ext/openc3/ext/buffered_file/buffered_file.c +4 -9
- data/ext/openc3/ext/burst_protocol/burst_protocol.c +3 -8
- data/ext/openc3/ext/config_parser/config_parser.c +2 -7
- data/ext/openc3/ext/crc/crc.c +3 -8
- data/ext/openc3/ext/openc3_io/openc3_io.c +4 -9
- data/ext/openc3/ext/packet/packet.c +7 -9
- data/ext/openc3/ext/platform/platform.c +3 -8
- data/ext/openc3/ext/polynomial_conversion/polynomial_conversion.c +16 -12
- data/ext/openc3/ext/string/string.c +4 -9
- data/ext/openc3/ext/structure/structure.c +5 -9
- data/ext/openc3/ext/tabbed_plots_config/tabbed_plots_config.c +4 -9
- data/ext/openc3/ext/telemetry/telemetry.c +8 -12
- data/lib/cosmos.rb +4 -9
- data/lib/cosmosc2.rb +4 -9
- data/lib/openc3/accessors/accessor.rb +10 -13
- data/lib/openc3/accessors/binary_accessor.rb +18 -17
- data/lib/openc3/accessors/cbor_accessor.rb +3 -8
- data/lib/openc3/accessors/form_accessor.rb +4 -9
- data/lib/openc3/accessors/html_accessor.rb +3 -8
- data/lib/openc3/accessors/http_accessor.rb +4 -9
- data/lib/openc3/accessors/json_accessor.rb +4 -9
- data/lib/openc3/accessors/template_accessor.rb +4 -9
- data/lib/openc3/accessors/xml_accessor.rb +4 -9
- data/lib/openc3/accessors.rb +3 -8
- data/lib/openc3/api/README.md +1 -1
- data/lib/openc3/api/api.rb +3 -8
- data/lib/openc3/api/authorized_api.rb +4 -9
- data/lib/openc3/api/cmd_api.rb +3 -8
- data/lib/openc3/api/config_api.rb +3 -8
- data/lib/openc3/api/interface_api.rb +4 -9
- data/lib/openc3/api/limits_api.rb +3 -8
- data/lib/openc3/api/metrics_api.rb +2 -19
- data/lib/openc3/api/offline_access_api.rb +2 -7
- data/lib/openc3/api/router_api.rb +5 -10
- data/lib/openc3/api/settings_api.rb +3 -8
- data/lib/openc3/api/stash_api.rb +2 -7
- data/lib/openc3/api/target_api.rb +3 -8
- data/lib/openc3/api/tlm_api.rb +15 -38
- data/lib/openc3/bridge/bridge.rb +3 -8
- data/lib/openc3/bridge/bridge_config.rb +5 -10
- data/lib/openc3/bridge/bridge_interface_thread.rb +4 -9
- data/lib/openc3/bridge/bridge_router_thread.rb +4 -9
- data/lib/openc3/ccsds/ccsds_packet.rb +4 -9
- data/lib/openc3/ccsds/ccsds_parser.rb +3 -8
- data/lib/openc3/config/config_parser.rb +3 -8
- data/lib/openc3/config/meta_config_parser.rb +3 -8
- data/lib/openc3/conversions/bit_reverse_conversion.rb +3 -8
- data/lib/openc3/conversions/conversion.rb +3 -8
- data/lib/openc3/conversions/generic_conversion.rb +3 -8
- data/lib/openc3/conversions/ip_read_conversion.rb +3 -8
- data/lib/openc3/conversions/ip_write_conversion.rb +3 -8
- data/lib/openc3/conversions/object_read_conversion.rb +3 -8
- data/lib/openc3/conversions/object_write_conversion.rb +3 -8
- data/lib/openc3/conversions/packet_time_formatted_conversion.rb +4 -9
- data/lib/openc3/conversions/packet_time_seconds_conversion.rb +4 -9
- data/lib/openc3/conversions/polynomial_conversion.rb +6 -8
- data/lib/openc3/conversions/processor_conversion.rb +3 -8
- data/lib/openc3/conversions/received_count_conversion.rb +4 -9
- data/lib/openc3/conversions/received_time_formatted_conversion.rb +4 -9
- data/lib/openc3/conversions/received_time_seconds_conversion.rb +4 -9
- data/lib/openc3/conversions/segmented_polynomial_conversion.rb +6 -8
- data/lib/openc3/conversions/unix_time_conversion.rb +3 -8
- data/lib/openc3/conversions/unix_time_formatted_conversion.rb +3 -8
- data/lib/openc3/conversions/unix_time_seconds_conversion.rb +3 -8
- data/lib/openc3/conversions.rb +3 -8
- data/lib/openc3/core_ext/array.rb +3 -8
- data/lib/openc3/core_ext/binding.rb +4 -9
- data/lib/openc3/core_ext/class.rb +4 -9
- data/lib/openc3/core_ext/exception.rb +3 -8
- data/lib/openc3/core_ext/file.rb +4 -9
- data/lib/openc3/core_ext/io.rb +4 -9
- data/lib/openc3/core_ext/kernel.rb +3 -8
- data/lib/openc3/core_ext/math.rb +4 -9
- data/lib/openc3/core_ext/matrix.rb +4 -9
- data/lib/openc3/core_ext/objectspace.rb +4 -9
- data/lib/openc3/core_ext/openc3_io.rb +4 -9
- data/lib/openc3/core_ext/range.rb +4 -9
- data/lib/openc3/core_ext/socket.rb +4 -9
- data/lib/openc3/core_ext/string.rb +3 -8
- data/lib/openc3/core_ext/stringio.rb +4 -9
- data/lib/openc3/core_ext/tempfile.rb +4 -9
- data/lib/openc3/core_ext/time.rb +3 -8
- data/lib/openc3/core_ext.rb +3 -8
- data/lib/openc3/interfaces/file_interface.rb +3 -8
- data/lib/openc3/interfaces/http_client_interface.rb +3 -8
- data/lib/openc3/interfaces/http_server_interface.rb +3 -8
- data/lib/openc3/interfaces/interface.rb +3 -8
- data/lib/openc3/interfaces/mqtt_interface.rb +3 -8
- data/lib/openc3/interfaces/mqtt_stream_interface.rb +3 -8
- data/lib/openc3/interfaces/protocols/burst_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/cmd_response_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/cobs_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/crc_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/fixed_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/ignore_packet_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/length_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/preidentified_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/slip_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/template_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/terminated_protocol.rb +3 -8
- data/lib/openc3/interfaces/serial_interface.rb +3 -8
- data/lib/openc3/interfaces/simulated_target_interface.rb +3 -8
- data/lib/openc3/interfaces/stream_interface.rb +3 -8
- data/lib/openc3/interfaces/tcpip_client_interface.rb +3 -8
- data/lib/openc3/interfaces/tcpip_server_interface.rb +3 -8
- data/lib/openc3/interfaces/udp_interface.rb +3 -8
- data/lib/openc3/interfaces.rb +3 -8
- data/lib/openc3/io/buffered_file.rb +4 -9
- data/lib/openc3/io/io_multiplexer.rb +4 -9
- data/lib/openc3/io/json_api.rb +3 -8
- data/lib/openc3/io/json_api_object.rb +4 -9
- data/lib/openc3/io/json_drb.rb +3 -8
- data/lib/openc3/io/json_drb_object.rb +4 -9
- data/lib/openc3/io/json_drb_rack.rb +4 -9
- data/lib/openc3/io/json_rpc.rb +3 -8
- data/lib/openc3/io/posix_serial_driver.rb +3 -8
- data/lib/openc3/io/serial_driver.rb +3 -8
- data/lib/openc3/io/stderr.rb +4 -9
- data/lib/openc3/io/stdout.rb +4 -9
- data/lib/openc3/io/udp_sockets.rb +3 -8
- data/lib/openc3/io/win32_serial_driver.rb +4 -9
- data/lib/openc3/logs/buffered_packet_log_reader.rb +3 -8
- data/lib/openc3/logs/buffered_packet_log_writer.rb +3 -8
- data/lib/openc3/logs/log_writer.rb +3 -8
- data/lib/openc3/logs/packet_log_constants.rb +3 -8
- data/lib/openc3/logs/packet_log_reader.rb +3 -8
- data/lib/openc3/logs/packet_log_writer.rb +3 -8
- data/lib/openc3/logs/stream_log.rb +3 -8
- data/lib/openc3/logs/stream_log_pair.rb +3 -8
- data/lib/openc3/logs/text_log_writer.rb +3 -8
- data/lib/openc3/logs.rb +3 -8
- data/lib/openc3/microservices/cleanup_microservice.rb +4 -14
- data/lib/openc3/microservices/decom_microservice.rb +3 -8
- data/lib/openc3/microservices/interface_decom_common.rb +3 -8
- data/lib/openc3/microservices/interface_microservice.rb +5 -9
- data/lib/openc3/microservices/log_microservice.rb +3 -8
- data/lib/openc3/microservices/microservice.rb +24 -12
- data/lib/openc3/microservices/multi_microservice.rb +2 -7
- data/lib/openc3/microservices/periodic_microservice.rb +3 -8
- data/lib/openc3/microservices/plugin_microservice.rb +3 -8
- data/lib/openc3/microservices/queue_microservice.rb +3 -8
- data/lib/openc3/microservices/router_microservice.rb +3 -8
- data/lib/openc3/microservices/scope_cleanup_microservice.rb +3 -8
- data/lib/openc3/microservices/text_log_microservice.rb +3 -8
- data/lib/openc3/migrations/20251213120000_reinstall_plugins.rb +45 -0
- data/lib/openc3/migrations/20260204000000_remove_decom_reducer.rb +60 -0
- data/lib/openc3/models/activity_model.rb +4 -8
- data/lib/openc3/models/auth_model.rb +57 -38
- data/lib/openc3/models/cvt_model.rb +203 -62
- data/lib/openc3/models/environment_model.rb +4 -9
- data/lib/openc3/models/gem_model.rb +3 -8
- data/lib/openc3/models/info_model.rb +4 -9
- data/lib/openc3/models/interface_model.rb +6 -10
- data/lib/openc3/models/interface_status_model.rb +4 -9
- data/lib/openc3/models/metadata_model.rb +3 -8
- data/lib/openc3/models/metric_model.rb +3 -8
- data/lib/openc3/models/microservice_model.rb +24 -10
- data/lib/openc3/models/microservice_status_model.rb +3 -8
- data/lib/openc3/models/migration_model.rb +3 -8
- data/lib/openc3/models/model.rb +3 -8
- data/lib/openc3/models/news_model.rb +3 -8
- data/lib/openc3/models/note_model.rb +3 -8
- data/lib/openc3/models/offline_access_model.rb +3 -8
- data/lib/openc3/models/ping_model.rb +4 -9
- data/lib/openc3/models/plugin_model.rb +14 -9
- data/lib/openc3/models/plugin_store_model.rb +21 -17
- data/lib/openc3/models/process_status_model.rb +4 -9
- data/lib/openc3/models/python_package_model.rb +3 -8
- data/lib/openc3/models/queue_model.rb +3 -8
- data/lib/openc3/models/reaction_model.rb +9 -10
- data/lib/openc3/models/router_model.rb +4 -9
- data/lib/openc3/models/router_status_model.rb +4 -9
- data/lib/openc3/models/scope_model.rb +4 -9
- data/lib/openc3/models/script_engine_model.rb +3 -8
- data/lib/openc3/models/script_status_model.rb +3 -8
- data/lib/openc3/models/secret_model.rb +3 -8
- data/lib/openc3/models/setting_model.rb +3 -8
- data/lib/openc3/models/sorted_model.rb +3 -8
- data/lib/openc3/models/stash_model.rb +3 -8
- data/lib/openc3/models/target_model.rb +99 -229
- data/lib/openc3/models/timeline_model.rb +3 -8
- data/lib/openc3/models/tool_config_model.rb +3 -8
- data/lib/openc3/models/tool_model.rb +10 -10
- data/lib/openc3/models/trigger_group_model.rb +3 -8
- data/lib/openc3/models/trigger_model.rb +3 -8
- data/lib/openc3/models/widget_model.rb +3 -8
- data/lib/openc3/operators/microservice_operator.rb +7 -8
- data/lib/openc3/operators/operator.rb +3 -8
- data/lib/openc3/packets/command_validator.rb +3 -8
- data/lib/openc3/packets/commands.rb +32 -14
- data/lib/openc3/packets/json_packet.rb +7 -19
- data/lib/openc3/packets/limits.rb +3 -8
- data/lib/openc3/packets/limits_response.rb +3 -8
- data/lib/openc3/packets/packet.rb +38 -32
- data/lib/openc3/packets/packet_config.rb +23 -13
- data/lib/openc3/packets/packet_item.rb +3 -8
- data/lib/openc3/packets/packet_item_limits.rb +3 -8
- data/lib/openc3/packets/parsers/format_string_parser.rb +3 -8
- data/lib/openc3/packets/parsers/limits_parser.rb +3 -8
- data/lib/openc3/packets/parsers/limits_response_parser.rb +3 -8
- data/lib/openc3/packets/parsers/packet_item_parser.rb +7 -8
- data/lib/openc3/packets/parsers/packet_parser.rb +3 -8
- data/lib/openc3/packets/parsers/processor_parser.rb +3 -8
- data/lib/openc3/packets/parsers/state_parser.rb +3 -8
- data/lib/openc3/packets/parsers/xtce_converter.rb +12 -9
- data/lib/openc3/packets/parsers/xtce_parser.rb +3 -8
- data/lib/openc3/packets/structure.rb +14 -11
- data/lib/openc3/packets/structure_item.rb +4 -9
- data/lib/openc3/packets/telemetry.rb +7 -11
- data/lib/openc3/processors/processor.rb +5 -10
- data/lib/openc3/processors/statistics_processor.rb +4 -9
- data/lib/openc3/processors/watermark_processor.rb +4 -9
- data/lib/openc3/processors.rb +4 -9
- data/lib/openc3/script/api_shared.rb +8 -37
- data/lib/openc3/script/autonomic.rb +3 -8
- data/lib/openc3/script/calendar.rb +3 -8
- data/lib/openc3/script/commands.rb +3 -8
- data/lib/openc3/script/critical_cmd.rb +3 -8
- data/lib/openc3/script/exceptions.rb +4 -9
- data/lib/openc3/script/extract.rb +3 -8
- data/lib/openc3/script/limits.rb +3 -8
- data/lib/openc3/script/metadata.rb +3 -8
- data/lib/openc3/script/packages.rb +3 -8
- data/lib/openc3/script/plugins.rb +3 -8
- data/lib/openc3/script/queue.rb +3 -8
- data/lib/openc3/script/screen.rb +7 -8
- data/lib/openc3/script/script.rb +3 -8
- data/lib/openc3/script/script_runner.rb +3 -8
- data/lib/openc3/script/storage.rb +6 -10
- data/lib/openc3/script/suite.rb +3 -8
- data/lib/openc3/script/suite_results.rb +3 -8
- data/lib/openc3/script/suite_runner.rb +3 -8
- data/lib/openc3/script/tables.rb +3 -8
- data/lib/openc3/script/telemetry.rb +3 -8
- data/lib/openc3/script/web_socket_api.rb +8 -13
- data/lib/openc3/script.rb +4 -9
- data/lib/openc3/script_engines/script_engine.rb +3 -8
- data/lib/openc3/streams/mqtt_stream.rb +3 -8
- data/lib/openc3/streams/serial_stream.rb +3 -8
- data/lib/openc3/streams/stream.rb +3 -8
- data/lib/openc3/streams/tcpip_client_stream.rb +3 -8
- data/lib/openc3/streams/tcpip_socket_stream.rb +3 -8
- data/lib/openc3/streams/web_socket_client_stream.rb +3 -8
- data/lib/openc3/system/system.rb +3 -8
- data/lib/openc3/system/target.rb +3 -8
- data/lib/openc3/system.rb +3 -8
- data/lib/openc3/tools/cmd_tlm_server/api.rb +4 -9
- data/lib/openc3/tools/cmd_tlm_server/interface_thread.rb +3 -8
- data/lib/openc3/tools/table_manager/table.rb +3 -8
- data/lib/openc3/tools/table_manager/table_config.rb +3 -8
- data/lib/openc3/tools/table_manager/table_item.rb +4 -9
- data/lib/openc3/tools/table_manager/table_item_parser.rb +3 -8
- data/lib/openc3/tools/table_manager/table_manager_core.rb +3 -8
- data/lib/openc3/tools/table_manager/table_parser.rb +3 -8
- data/lib/openc3/tools/test_runner/test.rb +4 -9
- data/lib/openc3/top_level.rb +3 -8
- data/lib/openc3/topics/autonomic_topic.rb +4 -9
- data/lib/openc3/topics/calendar_topic.rb +4 -9
- data/lib/openc3/topics/command_decom_topic.rb +14 -17
- data/lib/openc3/topics/command_topic.rb +14 -10
- data/lib/openc3/topics/config_topic.rb +3 -8
- data/lib/openc3/topics/decom_interface_topic.rb +3 -8
- data/lib/openc3/topics/interface_topic.rb +3 -8
- data/lib/openc3/topics/limits_event_topic.rb +3 -8
- data/lib/openc3/topics/notebook_topic.rb +32 -0
- data/lib/openc3/topics/queue_topic.rb +3 -8
- data/lib/openc3/topics/router_topic.rb +3 -8
- data/lib/openc3/topics/system_events_topic.rb +3 -8
- data/lib/openc3/topics/telemetry_decom_topic.rb +12 -12
- data/lib/openc3/topics/telemetry_topic.rb +3 -8
- data/lib/openc3/topics/timeline_topic.rb +4 -9
- data/lib/openc3/topics/topic.rb +3 -8
- data/lib/openc3/utilities/authentication.rb +29 -10
- data/lib/openc3/utilities/authorization.rb +4 -9
- data/lib/openc3/utilities/aws_bucket.rb +126 -16
- data/lib/openc3/utilities/bucket.rb +9 -9
- data/lib/openc3/utilities/bucket_file_cache.rb +3 -13
- data/lib/openc3/utilities/bucket_require.rb +3 -8
- data/lib/openc3/utilities/bucket_utilities.rb +3 -10
- data/lib/openc3/utilities/cli_generator.rb +11 -16
- data/lib/openc3/utilities/cmd_log.rb +3 -8
- data/lib/openc3/utilities/crc.rb +3 -8
- data/lib/openc3/utilities/csv.rb +4 -9
- data/lib/openc3/utilities/local_bucket.rb +5 -10
- data/lib/openc3/utilities/local_mode.rb +14 -18
- data/lib/openc3/utilities/logger.rb +3 -8
- data/lib/openc3/utilities/message_log.rb +3 -8
- data/lib/openc3/utilities/metric.rb +3 -8
- data/lib/openc3/utilities/migration.rb +3 -8
- data/lib/openc3/utilities/open_telemetry.rb +3 -8
- data/lib/openc3/utilities/process_manager.rb +3 -8
- data/lib/openc3/utilities/python_proxy.rb +3 -8
- data/lib/openc3/utilities/quaternion.rb +3 -8
- data/lib/openc3/utilities/questdb_client.rb +210 -0
- data/lib/openc3/utilities/redis_secrets.rb +3 -8
- data/lib/openc3/utilities/ruby_lex_utils.rb +3 -8
- data/lib/openc3/utilities/running_script.rb +13 -11
- data/lib/openc3/utilities/s3_autoload.rb +9 -2
- data/lib/openc3/utilities/secrets.rb +8 -9
- data/lib/openc3/utilities/simulated_target.rb +4 -9
- data/lib/openc3/utilities/sleeper.rb +3 -8
- data/lib/openc3/utilities/store.rb +4 -9
- data/lib/openc3/utilities/store_autoload.rb +7 -14
- data/lib/openc3/utilities/store_queued.rb +6 -9
- data/lib/openc3/utilities/target_file.rb +3 -8
- data/lib/openc3/utilities/thread_manager.rb +3 -8
- data/lib/openc3/utilities/throttle.rb +3 -8
- data/lib/openc3/utilities/zip.rb +4 -9
- data/lib/openc3/utilities.rb +4 -9
- data/lib/openc3/version.rb +8 -8
- data/lib/openc3/win32/excel.rb +4 -9
- data/lib/openc3/win32/win32.rb +4 -9
- data/lib/openc3/win32/win32_main.rb +3 -8
- data/lib/openc3.rb +3 -12
- data/tasks/gemfile_stats.rake +4 -9
- data/tasks/spec.rake +4 -9
- data/templates/plugin/README.md +2 -2
- data/templates/plugin/plugin.gemspec +1 -1
- data/templates/tool_angular/package.json +1 -1
- data/templates/tool_vue/package.json +3 -3
- data/templates/tool_vue/vite.config.js +2 -1
- data/templates/widget/package.json +3 -3
- data/templates/widget/vite.config.js +1 -1
- metadata +49 -26
- data/LICENSE.txt +0 -729
- data/bin/rubysloc +0 -142
- data/ext/openc3/ext/reducer_microservice/extconf.rb +0 -13
- data/ext/openc3/ext/reducer_microservice/reducer_microservice.c +0 -165
- data/lib/openc3/microservices/reducer_microservice.rb +0 -640
- data/lib/openc3/models/reducer_model.rb +0 -72
- data/lib/openc3/topics/telemetry_reduced_topics.rb +0 -80
- /data/templates/plugin/{LICENSE.txt → LICENSE.md} +0 -0
- /data/templates/widget/{LICENSE.txt → LICENSE.md} +0 -0
data/bin/rubysloc
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
# encoding: ascii-8bit
|
|
3
|
-
|
|
4
|
-
# Copyright 2022 Ball Aerospace & Technologies Corp.
|
|
5
|
-
# All Rights Reserved.
|
|
6
|
-
#
|
|
7
|
-
# This program is free software; you can modify and/or redistribute it
|
|
8
|
-
# under the terms of the GNU Affero General Public License
|
|
9
|
-
# as published by the Free Software Foundation; version 3 with
|
|
10
|
-
# attribution addendums as found in the LICENSE.txt
|
|
11
|
-
#
|
|
12
|
-
# This program is distributed in the hope that it will be useful,
|
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
# GNU Affero General Public License for more details.
|
|
16
|
-
|
|
17
|
-
# Modified by OpenC3, Inc.
|
|
18
|
-
# All changes Copyright 2022, OpenC3, Inc.
|
|
19
|
-
# All Rights Reserved
|
|
20
|
-
#
|
|
21
|
-
# This file may also be used under the terms of a commercial license
|
|
22
|
-
# if purchased from OpenC3, Inc.
|
|
23
|
-
|
|
24
|
-
# This file provides a simple ruby sloc counter.
|
|
25
|
-
# Blank lines and comment lines are ignored. All other
|
|
26
|
-
# lines count as one line.
|
|
27
|
-
|
|
28
|
-
require 'ostruct'
|
|
29
|
-
require 'optparse'
|
|
30
|
-
|
|
31
|
-
options = OpenStruct.new
|
|
32
|
-
options.filename = nil
|
|
33
|
-
options.sort_column = nil
|
|
34
|
-
|
|
35
|
-
opts = OptionParser.new do |opts|
|
|
36
|
-
opts.banner = "Usage: rubysloc"
|
|
37
|
-
opts.separator ""
|
|
38
|
-
opts.separator "Recursively calculate SLOC for all ruby files (*.rb) sorted by filename"
|
|
39
|
-
opts.separator ""
|
|
40
|
-
opts.on("-h", "--help", "Show this message") do
|
|
41
|
-
puts opts
|
|
42
|
-
exit
|
|
43
|
-
end
|
|
44
|
-
opts.on("-i DIRECTORY/FILENAME", "--input DIRECTORY/FILENAME",
|
|
45
|
-
"Parse only the specified directory/filename (relative or absolute path)") do |arg|
|
|
46
|
-
options.filename = arg
|
|
47
|
-
end
|
|
48
|
-
opts.on("-s SORT", "--sort SORT", "Sort by the specified column. Must be one of LINES, COMMENTS, SLOC, or RATIO.") do |arg|
|
|
49
|
-
case arg
|
|
50
|
-
when 'LINES'
|
|
51
|
-
options.sort_column = 1
|
|
52
|
-
when 'COMMENTS'
|
|
53
|
-
options.sort_column = 2
|
|
54
|
-
when 'SLOC'
|
|
55
|
-
options.sort_column = 3
|
|
56
|
-
when 'RATIO'
|
|
57
|
-
options.sort_column = 4
|
|
58
|
-
else
|
|
59
|
-
puts opts
|
|
60
|
-
exit
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
begin
|
|
66
|
-
opts.parse!(ARGV)
|
|
67
|
-
rescue => err
|
|
68
|
-
puts err
|
|
69
|
-
puts opts
|
|
70
|
-
exit
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
files = []
|
|
74
|
-
if options.filename
|
|
75
|
-
options.filename = File.join(Dir.pwd, options.filename) unless File.exist?(options.filename)
|
|
76
|
-
if File.exist?(options.filename)
|
|
77
|
-
if File.directory?(options.filename)
|
|
78
|
-
# Dir only works with unix paths so swap backslashes
|
|
79
|
-
files = Dir[File.join(options.filename.gsub('\\', '/'), '**', '*.rb')]
|
|
80
|
-
else
|
|
81
|
-
files << options.filename
|
|
82
|
-
end
|
|
83
|
-
else
|
|
84
|
-
puts "File #{options.filename} not found."
|
|
85
|
-
puts opts
|
|
86
|
-
exit
|
|
87
|
-
end
|
|
88
|
-
else
|
|
89
|
-
files = Dir['**/*.rb']
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# Build results over all found ruby files
|
|
93
|
-
longest_path = 1
|
|
94
|
-
results = []
|
|
95
|
-
files.each do |full_filename|
|
|
96
|
-
filename = File.basename(full_filename)
|
|
97
|
-
File.open(full_filename, 'r') do |file|
|
|
98
|
-
lines = 0
|
|
99
|
-
slocs = 0
|
|
100
|
-
comments = 0
|
|
101
|
-
file.each_line do |line|
|
|
102
|
-
lines += 1
|
|
103
|
-
split_line = line.split
|
|
104
|
-
if split_line[0].nil?
|
|
105
|
-
# Blank Line - Do Nothing
|
|
106
|
-
elsif split_line[0].to_s[0..0] == '#'
|
|
107
|
-
comments += 1
|
|
108
|
-
else
|
|
109
|
-
slocs += 1
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
results << [full_filename, lines, comments, slocs, comments.to_f / slocs.to_f]
|
|
113
|
-
longest_path = full_filename.length if full_filename.length > longest_path
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
results.sort_by! { |col| col[options.sort_column].finite? ? col[options.sort_column] : -1 } if options.sort_column
|
|
118
|
-
|
|
119
|
-
# Print results to STDOUT
|
|
120
|
-
total_files = 0
|
|
121
|
-
total_lines = 0
|
|
122
|
-
total_comments = 0
|
|
123
|
-
total_slocs = 0
|
|
124
|
-
total_ratio = 0
|
|
125
|
-
|
|
126
|
-
puts sprintf("|-%-#{longest_path}s-|----------|----------|----------|--------|", "-" * longest_path)
|
|
127
|
-
puts sprintf("| %-#{longest_path}s | Lines | Comments | SLOCs | Ratio |", "Filename")
|
|
128
|
-
puts sprintf("|-%-#{longest_path}s-|----------|----------|----------|--------|", "-" * longest_path)
|
|
129
|
-
results.each do |filename, lines, comments, slocs, ratio|
|
|
130
|
-
# filename = filename[0..32] if filename.length > 33
|
|
131
|
-
puts sprintf("| %-#{longest_path}s | %8d | %8d | %8d | %6.2f |",
|
|
132
|
-
filename, lines, comments, slocs, ratio)
|
|
133
|
-
total_files += 1
|
|
134
|
-
total_lines += lines
|
|
135
|
-
total_comments += comments
|
|
136
|
-
total_slocs += slocs
|
|
137
|
-
end
|
|
138
|
-
total_ratio = total_comments.to_f / total_slocs.to_f if total_slocs != 0
|
|
139
|
-
puts sprintf("|-%-#{longest_path}s-|----------|----------|----------|--------|", "-" * longest_path)
|
|
140
|
-
puts sprintf("| %-#{longest_path}s | %8d | %8d | %8d | %6.2f |",
|
|
141
|
-
"Totals - #{total_files} Files", total_lines, total_comments, total_slocs, total_ratio)
|
|
142
|
-
puts sprintf("|-%-#{longest_path}s-|----------|----------|----------|--------|", "-" * longest_path)
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'mkmf'
|
|
2
|
-
|
|
3
|
-
unless $CFLAGS.gsub!(/ -O[\dsz]?/, ' -O3')
|
|
4
|
-
$CFLAGS << ' -O3'
|
|
5
|
-
end
|
|
6
|
-
if /gcc/.match?(CONFIG['CC'])
|
|
7
|
-
$CFLAGS << ' -Wall'
|
|
8
|
-
if $DEBUG && !$CFLAGS.gsub!(/ -O[\dsz]?/, ' -O0 -ggdb')
|
|
9
|
-
$CFLAGS << ' -O0 -ggdb'
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
create_makefile 'openc3/ext/reducer_microservice'
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
# Copyright 2022 Ball Aerospace & Technologies Corp.
|
|
3
|
-
# All Rights Reserved.
|
|
4
|
-
#
|
|
5
|
-
# This program is free software; you can modify and/or redistribute it
|
|
6
|
-
# under the terms of the GNU Affero General Public License
|
|
7
|
-
# as published by the Free Software Foundation; version 3 with
|
|
8
|
-
# attribution addendums as found in the LICENSE.txt
|
|
9
|
-
#
|
|
10
|
-
# This program is distributed in the hope that it will be useful,
|
|
11
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
-
# GNU Affero General Public License for more details.
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
/*
|
|
17
|
-
# Modified by OpenC3, Inc.
|
|
18
|
-
# All changes Copyright 2022, OpenC3, Inc.
|
|
19
|
-
# All Rights Reserved
|
|
20
|
-
#
|
|
21
|
-
# This file may also be used under the terms of a commercial license
|
|
22
|
-
# if purchased from OpenC3, Inc.
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
#include "ruby.h"
|
|
26
|
-
#include "stdio.h"
|
|
27
|
-
#include "math.h"
|
|
28
|
-
|
|
29
|
-
VALUE mOpenC3;
|
|
30
|
-
VALUE cMicroservice;
|
|
31
|
-
VALUE cReducerMicroservice;
|
|
32
|
-
|
|
33
|
-
static ID id_method_raw_values = 0;
|
|
34
|
-
static ID id_method_converted_values = 0;
|
|
35
|
-
static ID id_method_less_than = 0;
|
|
36
|
-
static ID id_method_greater_than = 0;
|
|
37
|
-
|
|
38
|
-
static int reducer_microservice_update_min_stats_raw_value(VALUE key, VALUE value, VALUE reduced)
|
|
39
|
-
{
|
|
40
|
-
volatile VALUE vals_key = Qnil;
|
|
41
|
-
volatile VALUE n_key = Qnil;
|
|
42
|
-
volatile VALUE x_key = Qnil;
|
|
43
|
-
volatile VALUE reduced_entry = Qnil;
|
|
44
|
-
|
|
45
|
-
if (RTEST(value))
|
|
46
|
-
{
|
|
47
|
-
vals_key = rb_str_new(RSTRING_PTR(key), RSTRING_LEN(key));
|
|
48
|
-
rb_str_append(vals_key, rb_str_new2("__VALS"));
|
|
49
|
-
reduced_entry = rb_hash_aref(reduced, vals_key);
|
|
50
|
-
if (!(RTEST(reduced_entry)))
|
|
51
|
-
{
|
|
52
|
-
reduced_entry = rb_ary_new();
|
|
53
|
-
rb_hash_aset(reduced, vals_key, reduced_entry);
|
|
54
|
-
}
|
|
55
|
-
rb_ary_push(reduced_entry, value);
|
|
56
|
-
|
|
57
|
-
n_key = rb_str_new(RSTRING_PTR(key), RSTRING_LEN(key));
|
|
58
|
-
rb_str_append(n_key, rb_str_new2("__N"));
|
|
59
|
-
reduced_entry = rb_hash_aref(reduced, n_key);
|
|
60
|
-
if (!(RTEST(reduced_entry)))
|
|
61
|
-
{
|
|
62
|
-
reduced_entry = value;
|
|
63
|
-
rb_hash_aset(reduced, n_key, value);
|
|
64
|
-
}
|
|
65
|
-
if (RTEST(rb_funcall(value, id_method_less_than, 1, reduced_entry)))
|
|
66
|
-
{
|
|
67
|
-
rb_hash_aset(reduced, n_key, value);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
x_key = rb_str_new(RSTRING_PTR(key), RSTRING_LEN(key));
|
|
71
|
-
rb_str_append(x_key, rb_str_new2("__X"));
|
|
72
|
-
reduced_entry = rb_hash_aref(reduced, x_key);
|
|
73
|
-
if (!(RTEST(reduced_entry)))
|
|
74
|
-
{
|
|
75
|
-
reduced_entry = value;
|
|
76
|
-
rb_hash_aset(reduced, x_key, value);
|
|
77
|
-
}
|
|
78
|
-
if (RTEST(rb_funcall(value, id_method_greater_than, 1, reduced_entry)))
|
|
79
|
-
{
|
|
80
|
-
rb_hash_aset(reduced, x_key, value);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return ST_CONTINUE;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
static int reducer_microservice_update_min_stats_converted_value(VALUE key, VALUE value, VALUE reduced)
|
|
88
|
-
{
|
|
89
|
-
volatile VALUE cvals_key = Qnil;
|
|
90
|
-
volatile VALUE cn_key = Qnil;
|
|
91
|
-
volatile VALUE cx_key = Qnil;
|
|
92
|
-
volatile VALUE reduced_entry = Qnil;
|
|
93
|
-
|
|
94
|
-
if (RTEST(value))
|
|
95
|
-
{
|
|
96
|
-
cvals_key = rb_str_new(RSTRING_PTR(key), RSTRING_LEN(key));
|
|
97
|
-
rb_str_append(cvals_key, rb_str_new2("__CVALS"));
|
|
98
|
-
reduced_entry = rb_hash_aref(reduced, cvals_key);
|
|
99
|
-
if (!(RTEST(reduced_entry)))
|
|
100
|
-
{
|
|
101
|
-
reduced_entry = rb_ary_new();
|
|
102
|
-
rb_hash_aset(reduced, cvals_key, reduced_entry);
|
|
103
|
-
}
|
|
104
|
-
rb_ary_push(reduced_entry, value);
|
|
105
|
-
|
|
106
|
-
cn_key = rb_str_new(RSTRING_PTR(key), RSTRING_LEN(key));
|
|
107
|
-
rb_str_append(cn_key, rb_str_new2("__CN"));
|
|
108
|
-
reduced_entry = rb_hash_aref(reduced, cn_key);
|
|
109
|
-
if (!(RTEST(reduced_entry)))
|
|
110
|
-
{
|
|
111
|
-
reduced_entry = value;
|
|
112
|
-
rb_hash_aset(reduced, cn_key, value);
|
|
113
|
-
}
|
|
114
|
-
if (RTEST(rb_funcall(value, id_method_less_than, 1, reduced_entry)))
|
|
115
|
-
{
|
|
116
|
-
rb_hash_aset(reduced, cn_key, value);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
cx_key = rb_str_new(RSTRING_PTR(key), RSTRING_LEN(key));
|
|
120
|
-
rb_str_append(cx_key, rb_str_new2("__CX"));
|
|
121
|
-
reduced_entry = rb_hash_aref(reduced, cx_key);
|
|
122
|
-
if (!(RTEST(reduced_entry)))
|
|
123
|
-
{
|
|
124
|
-
reduced_entry = value;
|
|
125
|
-
rb_hash_aset(reduced, cx_key, value);
|
|
126
|
-
}
|
|
127
|
-
if (RTEST(rb_funcall(value, id_method_greater_than, 1, reduced_entry)))
|
|
128
|
-
{
|
|
129
|
-
rb_hash_aset(reduced, cx_key, value);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
return ST_CONTINUE;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
static VALUE reducer_microservice_update_min_stats(VALUE self, VALUE reduced, VALUE state)
|
|
137
|
-
{
|
|
138
|
-
volatile VALUE raw_values = rb_funcall(state, id_method_raw_values, 0);
|
|
139
|
-
volatile VALUE converted_values = rb_funcall(state, id_method_converted_values, 0);
|
|
140
|
-
|
|
141
|
-
/* Update statistics for this packet's raw values */
|
|
142
|
-
rb_hash_foreach(raw_values, reducer_microservice_update_min_stats_raw_value, reduced);
|
|
143
|
-
|
|
144
|
-
/* Update statistics for this packet's converted values */
|
|
145
|
-
rb_hash_foreach(converted_values, reducer_microservice_update_min_stats_converted_value, reduced);
|
|
146
|
-
|
|
147
|
-
return Qnil;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/*
|
|
151
|
-
* Initialize methods for ReducerMicroservice
|
|
152
|
-
*/
|
|
153
|
-
void Init_reducer_microservice(void)
|
|
154
|
-
{
|
|
155
|
-
id_method_raw_values = rb_intern("raw_values");
|
|
156
|
-
id_method_converted_values = rb_intern("converted_values");
|
|
157
|
-
id_method_less_than = rb_intern("<");
|
|
158
|
-
id_method_greater_than = rb_intern(">");
|
|
159
|
-
|
|
160
|
-
mOpenC3 = rb_define_module("OpenC3");
|
|
161
|
-
rb_require("openc3/conversions/conversion");
|
|
162
|
-
cMicroservice = rb_const_get(mOpenC3, rb_intern("Microservice"));
|
|
163
|
-
cReducerMicroservice = rb_define_class_under(mOpenC3, "ReducerMicroservice", cMicroservice);
|
|
164
|
-
rb_define_method(cReducerMicroservice, "update_min_stats", reducer_microservice_update_min_stats, 2);
|
|
165
|
-
}
|