Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test/0 32/merge proj file changes and rc #876

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
dec2bff
Renamed preprocessing tools to distinguish
mkarlesky Mar 4, 2024
78c7351
Documentation updates
mkarlesky Mar 4, 2024
8d1fca6
Default tools tweaks
mkarlesky Mar 5, 2024
ecc5bbe
Plugin method tweaks + documentation updates
mkarlesky Mar 5, 2024
b3eadba
Stripped out many project config variant schemes
mkarlesky Mar 6, 2024
ae01c0e
First working all-in-one Thor-based CLI
mkarlesky Mar 26, 2024
ba011e8
Began CLI handling refactoring
mkarlesky Mar 27, 2024
c3cb876
Unity runner CLI argument handling
mkarlesky Mar 27, 2024
fab0951
Removed no longer needed store / restore
mkarlesky Mar 27, 2024
f4d2b0a
Refactoring to support special case ARGV handling
mkarlesky Mar 27, 2024
954db76
Began porting original examples CLI commands
mkarlesky Mar 27, 2024
b6de5dc
Migrated tool vendoring from old CLI to new
mkarlesky Mar 28, 2024
7841c54
Completed example project handling
mkarlesky Mar 28, 2024
d4e220f
Restructured validation of configuration
mkarlesky Mar 28, 2024
fe18443
CLI handling cleanup & enhancements
mkarlesky Mar 28, 2024
8479fe9
Generified references to project.yml
mkarlesky Mar 30, 2024
92323ae
CLI `new` and `upgrade` commands
mkarlesky Mar 30, 2024
d508ab3
Cleanup and prettyification
mkarlesky Apr 1, 2024
baaeada
Mixin, :which_ceedling improvements + cleanup
mkarlesky Apr 1, 2024
17c5eb8
Fixed console output bug
mkarlesky Apr 2, 2024
fa909d3
Began adding long-form command help
mkarlesky Apr 2, 2024
da1bd94
Removed deprecated :options_paths:
mkarlesky Apr 2, 2024
58f8882
System test / bug fixes
mkarlesky Apr 2, 2024
b5d9e0a
System test fixes + cleanup + documentation
mkarlesky Apr 2, 2024
64fe481
Documentation updates
mkarlesky Apr 2, 2024
df7cdc7
Updated docs for using the command line
mkarlesky Apr 3, 2024
5865d16
Migrated / expanded environment task to Thor CLI
mkarlesky Apr 3, 2024
650ae66
More project configuration loading documentation
mkarlesky Apr 3, 2024
aaef42e
Docs typo and formatting fixes
mkarlesky Apr 3, 2024
39d5746
Began adding docs for project file and mixins
mkarlesky Apr 3, 2024
e6242cd
Added convenience —debug to build command
mkarlesky Apr 3, 2024
b27067a
Improved :which_ceedling handling
mkarlesky Apr 3, 2024
88ea4c9
Corrected subtle bug for :default_tasks
mkarlesky Apr 3, 2024
946e2c9
Tolerance for blank project configuration merging
mkarlesky Apr 3, 2024
dcaff77
Mixin documentation
mkarlesky Apr 3, 2024
5d067fa
Completed mixins documentation
mkarlesky Apr 4, 2024
c741573
Fix for issue #860
mkarlesky Apr 4, 2024
f691fa3
Mixins improvements
mkarlesky Apr 7, 2024
54af462
More mixin CLI and CeedlingPacket documentation
mkarlesky Apr 8, 2024
2a58ec0
More mixins documentation and tweaks
mkarlesky Apr 8, 2024
4537e80
Fixed some formatting and grammar
mkarlesky Apr 8, 2024
75ebea4
Documentation fix
mkarlesky Apr 8, 2024
9edef24
Merge branch 'test/ceedling_0_32_rc' into test/0_32/merge_proj_file_c…
mvandervoord Apr 9, 2024
8e374b9
fixed bugs introduced by cli refactoring.
mvandervoord Apr 10, 2024
fc73d84
Removed +x permission for new bin/ contents
mkarlesky Apr 10, 2024
a635450
Fixed missing `-T` functionality
mkarlesky Apr 10, 2024
98ec1b9
Moved loading of vendored DIY to bin/
mkarlesky Apr 10, 2024
76334cb
Removed premature `return` from gem case
mkarlesky Apr 11, 2024
93dc9f7
Documentation tweak
mkarlesky Apr 11, 2024
1c48610
Update a few comments.
mvandervoord Apr 11, 2024
a1044b1
Accidentally using `match?` instead of `match`
mvandervoord Apr 11, 2024
bc42978
Handle missing mixin folder.
mvandervoord Apr 11, 2024
4e031f7
Reenable system tests and fix most of the resulting issues.
mvandervoord Apr 12, 2024
1e384ae
revert changes to configs because Mark didn't know how this Thor feat…
mvandervoord Apr 12, 2024
acd7356
Removed logic gumming up no args command line
mkarlesky Apr 12, 2024
519fc34
centralize the git support stuff into a single option.
mvandervoord Apr 13, 2024
4710fa6
update test to show how cmdline args are automatically enabled when s…
mvandervoord Apr 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,12 @@ Matt Chernosky’s **[detailed tutorial][tutorial]** demonstrates using Ceedling

## The basics

### Docker image

A fully packaged [Ceedling Docker image][docker-image] containing Ruby, Ceedling, the GCC toolchain, and some helper scripts is also available. A Docker container is a self-contained, portable, well managed alternative to a local installation of Ceedling.

[docker-image]: https://hub.docker.com/r/throwtheswitch/madsciencelab

### Local installation

1. Install [Ruby]. (Only Ruby 3+ supported.)
Expand All @@ -350,12 +356,6 @@ Matt Chernosky’s **[detailed tutorial][tutorial]** demonstrates using Ceedling
> ceedling test:all release
```

### Docker image

A fully packaged [Ceedling Docker image][docker-image] containing Ruby, Ceedling, the GCC toolchain, and some helper scripts is also available. A Docker container is a self-contained, portable, well managed alternative to a local installation of Ceedling.

[docker-image]: https://hub.docker.com/r/throwtheswitch/madsciencelab

### Example super-duper simple Ceedling configuration file

```yaml
Expand Down Expand Up @@ -441,19 +441,21 @@ from within the root directory of your project.

Are you afraid of losing all your local changes when this happens? You
can prevent Ceedling from updating your project file by adding
`--no_configs`.
`--no-configs`.

```shell
> ceedling upgrade --local --no_configs YourSweetProject
> ceedling upgrade --local --no-configs YourSweetProject
```

## Git integration

Are you using Git? You might want Ceedling to create a `.gitignore`
file for you by adding `--gitignore` to your `new` call.
which ignores the build folder (while retaining control of the artifacts
folder). This will also add a `.gitkeep` file to your `test/support` folder.
You can enable this by adding `--gitsupport` to your `new` call.

```shell
> ceedling new --gitignore YourNewProjectName
> ceedling new --gitsupport YourNewProjectName
```
<br/>

Expand Down
3 changes: 0 additions & 3 deletions assets/project_as_gem.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
:test_threads: 8
:compile_threads: 8

# you can specify different yaml config files which modify the existing one
:options_paths: []

# enable release build (more details in release_build section below)
:release_build: FALSE

Expand Down
3 changes: 0 additions & 3 deletions assets/project_with_guts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
:test_threads: 8
:compile_threads: 8

# you can specify different yaml config files which modify the existing one
:options_paths: []

# enable release build (more details in release_build section below)
:release_build: FALSE

Expand Down
3 changes: 0 additions & 3 deletions assets/project_with_guts_gcov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
:test_threads: 8
:compile_threads: 8

# you can specify different yaml config files which modify the existing one
:options_paths: []

# enable release build (more details in release_build section below)
:release_build: FALSE

Expand Down
35 changes: 35 additions & 0 deletions bin/actions_wrapper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
require 'thor'
require 'fileutils'

# Wrapper for handy Thor Actions
class ActionsWrapper
include Thor::Base
include Thor::Actions

source_root( CEEDLING_ROOT )

def _directory(src, *args)
directory( src, *args )
end

def _copy_file(src, *args)
copy_file( src, *args )
end

def _touch_file(src)
FileUtils.touch(src)
end

def _chmod(src, mode, *args)
chmod( src, mode, *args )
end

def _empty_directory(dest, *args)
empty_directory( dest, *args )
end

def _gsub_file(path, flag, *args, &block)
gsub_file( path, flag, *args, &block )
end

end
31 changes: 31 additions & 0 deletions bin/app_cfg.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

# Create our global application configuration option set
# This approach bridges clean Ruby and Rake
def get_app_cfg()
app_cfg = {
# Blank initial value for completeness
:project_config => {},

# Default, blank value
:log_filepath => '',

# Only specified in project config (no command line or environment variable)
:default_tasks => ['test:all'],

# Basic check from working directory
# If vendor/ceedling exists, default to running vendored Ceedling
:which_ceedling => (Dir.exist?( 'vendor/ceedling' ) ? 'vendor/ceedling' : 'gem'),

# Default, blank test case filters
:include_test_case => '',
:exclude_test_case => '',

# Default to no duration logging for setup & build ops in Rake context
:stopwatch => false,

# Default to `exit(1)` upon failing test cases
:tests_graceful_fail => false,
}

return app_cfg
end
Loading
Loading