-
Notifications
You must be signed in to change notification settings - Fork 246
/
ceedling.gemspec
64 lines (54 loc) · 2.99 KB
/
ceedling.gemspec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# -*- encoding: utf-8 -*-
# =========================================================================
# Ceedling - Test-Centered Build System for C
# ThrowTheSwitch.org
# Copyright (c) 2010-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
# SPDX-License-Identifier: MIT
# =========================================================================
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
require "version" # lib/version.rb
require 'date'
Gem::Specification.new do |s|
s.name = "ceedling"
s.version = Ceedling::Version::GEM
s.platform = Gem::Platform::RUBY
s.authors = ["Mark VanderVoord", "Michael Karlesky", "Greg Williams"]
s.homepage = "https://throwtheswitch.org/ceedling"
s.summary = "Ceedling is a build automation tool for C unit tests and releases. It's a member of the ThrowTheSwitch.org family of tools. It's built upon Unity and CMock."
s.description = <<-DESC
Ceedling is a build automation tool that helps you create and run C unit test suites.
Ceedling provides two core functions:
[1] It packages up several tools including the C unit test framework Unity, the mock generation tool CMock, and other features.
[2] It simplifies tool configuration for embedded or native C toolchains and automates the running and reporting of tests.
Ceedling projects are created with a YAML configuration file. A variety of conventions within the tool simplify generating mocks from C files and assembling suites of unit test functions.
DESC
s.licenses = ['MIT']
s.metadata = {
"homepage_uri" => s.homepage,
"bug_tracker_uri" => "https://github.com/ThrowTheSwitch/Ceedling/issues",
"documentation_uri" => "https://github.com/ThrowTheSwitch/Ceedling/blob/master/docs/CeedlingPacket.md",
"mailing_list_uri" => "https://groups.google.com/forum/#!categories/throwtheswitch/ceedling",
"source_code_uri" => "https://github.com/ThrowTheSwitch/Ceedling"
}
s.required_ruby_version = ">= 3.0.0"
s.add_dependency "thor", "~> 1.3"
s.add_dependency "rake", ">= 12", "< 14"
s.add_dependency "deep_merge", "~> 1.2"
s.add_dependency "diy", "~> 1.1"
s.add_dependency "constructor", "~> 2"
s.add_dependency "unicode-display_width", "~> 3.1"
# Files needed from submodules
s.files = []
s.files += Dir['vendor/**/docs/**/*.pdf', 'docs/**/*.pdf', 'vendor/**/docs/**/*.md', 'docs/**/*.md']
s.files += Dir['vendor/cmock/lib/**/*.rb']
s.files += Dir['vendor/cmock/config/**/*.rb']
s.files += Dir['vendor/cmock/src/**/*.[ch]']
s.files += Dir['vendor/c_exception/lib/**/*.[ch]']
s.files += Dir['vendor/unity/auto/**/*.rb']
s.files += Dir['vendor/unity/src/**/*.[ch]']
s.files += Dir['**/*']
s.test_files = Dir['test/**/*', 'spec/**/*', 'features/**/*']
s.executables = ['ceedling'] # bin/ceedling
s.require_paths = ["lib", "vendor/cmock/lib"]
end