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

ENH: Upgrade CI for ITK 5.4.0 #40

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
c7d84d8
ENH: Update the license header to the ISC copyright.
thewtex Jun 8, 2015
9be213a
BUG: Ensure factory is registered once.
jcfr Dec 4, 2015
179b368
STYLE: Use Macro for Function Deletion
zachary-williamson Jun 29, 2016
bbfe27f
ENH: Add FACTORY_NAMES parameter to itk_module() declaration
Oct 26, 2017
f30300d
ENH: Require cmake minimum version to be 3.9.5.
Jan 17, 2018
fa9b2dc
ENH: ITKv5 override consistency
hjmjohnson Dec 17, 2017
21a2915
COMP: Use C++11 override directly
hjmjohnson Dec 17, 2017
161b1e4
COMP: Use C++ headers over C header
hjmjohnson Jan 14, 2018
547d286
STYLE: Modernize to C++11 conventions
hjmjohnson Feb 12, 2018
de73fb9
STYLE: Prefer C++11 type alias over typedef
hjmjohnson Feb 13, 2018
2a457cc
STYLE: Prefer constexpr for const numeric literals
hjmjohnson Feb 13, 2018
df6afc9
COMP: Move ITK_DISALLOW_COPY_AND_ASSIGN calls to public section.
Apr 14, 2018
0aee453
COMP: Set the minimum required CMake version to 3.10.2.
May 5, 2018
0fae569
STYLE: Use "typename" for template parameters.
jhlegarreta Oct 23, 2018
f3116e1
ENH: Clean unnecessary files.
jhlegarreta Nov 10, 2018
228414d
ENH: Add CI.
jhlegarreta Nov 10, 2018
91f5e48
DOC: Add license file.
jhlegarreta Nov 10, 2018
5777624
DOC: Improve `README` file.
jhlegarreta Nov 10, 2018
e76a583
DOC: Improve Python package information.
jhlegarreta Dec 21, 2018
bb94cd7
BUG: Fix CMake configuration warning.
jhlegarreta Jan 30, 2019
2f4d776
STYLE: Fix `itk-module.cmake` local variable typo.
jhlegarreta Jan 30, 2019
23bb47b
STYLE: Conform to ITK IO module naming convention.
jhlegarreta Jan 27, 2019
5b2fc1e
ENH: Add .gitattributes to allow running ITK clang-formatting scripts
hjmjohnson Feb 19, 2020
365f94e
ENH: Update enums from recent enum changes in ITK
mseng10 Feb 18, 2020
c75a877
STYLE: Remove redundant void argument lists
hjmjohnson Feb 17, 2020
b82d235
STYLE: Replace integer literals which are cast to bool.
hjmjohnson Feb 17, 2020
01c32f6
STYLE: Prefer = default to explicitly trivial implementations
hjmjohnson Feb 17, 2020
275c9a3
STYLE: Remove redundant void argument lists
hjmjohnson Feb 17, 2020
9c16ae9
PERF: readability container size empty
hjmjohnson Feb 18, 2020
595da0c
DOC: Update copyright assignment to NumFOCUS
hjmjohnson Feb 19, 2020
3fdd2c1
ENH: Prefer https vs http for ctest submission.
hjmjohnson Feb 23, 2020
dfdeff9
ENH: Update ITK Python Package to 5.1.1 in setup.py
mseng10 Jun 17, 2020
2205525
ENH: Incorporate GitHub Actions from ITKModuleTemplate This requires …
mseng10 Nov 2, 2020
8e32ed6
DOC: Remove old CI badges
thewtex Nov 22, 2020
0f328a3
STYLE: Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE
mseng10 Oct 14, 2020
c644ea8
BUG: Remove deprecated CI
mseng10 Dec 2, 2020
b8b1b0a
COMP: Update GitHub Actions from ITKModuleTemplate
mseng10 Dec 2, 2020
902553d
ENH: Update CI for ITK 5.2 RC 3
thewtex Mar 19, 2021
2d24be1
DOC: Add PyPI, License badges
thewtex Mar 20, 2021
02f7b96
ENH: Update package for itk-5.2.0.post3
thewtex Jun 15, 2021
fd1e44b
COMP: Modules need updated version of ITK
hjmjohnson Dec 18, 2021
326e783
ENH: Bump ITK and replace http with https using script
tbirdso May 31, 2022
d8a0b69
ENH: Upgrade CI for ITK 5.4.0
thewtex Jun 19, 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
151 changes: 151 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
## This config file is only relevant for clang-format version 8.0.0
##
## Examples of each format style can be found on the in the clang-format documentation
## See: https://clang.llvm.org/docs/ClangFormatStyleOptions.html for details of each option
##
## The clang-format binaries can be downloaded as part of the clang binary distributions
## from https://releases.llvm.org/download.html
##
## Use the script Utilities/Maintenance/clang-format.bash to faciliate
## maintaining a consistent code style.
##
## EXAMPLE apply code style enforcement before commit:
# Utilities/Maintenance/clang-format.bash --clang ${PATH_TO_CLANG_FORMAT_8.0.0} --modified
## EXAMPLE apply code style enforcement after commit:
# Utilities/Maintenance/clang-format.bash --clang ${PATH_TO_CLANG_FORMAT_8.0.0} --last
---
# This configuration requires clang-format version 8.0.0 exactly.
BasedOnStyle: Mozilla
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: true
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
# clang 9.0 AllowAllArgumentsOnNextLine: true
# clang 9.0 AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
# clang 9.0 AllowShortLambdasOnASingleLine: All
# clang 9.0 features AllowShortIfStatementsOnASingleLine: Never
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: All
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Custom
BraceWrapping:
# clang 9.0 feature AfterCaseLabel: false
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
## This is the big change from historical ITK formatting!
# Historically ITK used a style similar to https://en.wikipedia.org/wiki/Indentation_style#Whitesmiths_style
# with indented braces, and not indented code. This style is very difficult to automatically
# maintain with code beautification tools. Not indenting braces is more common among
# formatting tools.
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBinaryOperators: None
#clang 6.0 BreakBeforeInheritanceComma: true
BreakInheritanceList: BeforeComma
BreakBeforeTernaryOperators: true
#clang 6.0 BreakConstructorInitializersBeforeComma: true
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
## The following line allows larger lines in non-documentation code
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: true
IndentPPDirectives: AfterHash
IndentWidth: 2
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 2
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: false
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
## The following line allows larger lines in non-documentation code
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Middle
ReflowComments: true
# We may want to sort the includes as a separate pass
SortIncludes: false
# We may want to revisit this later
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
# SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 2
UseTab: Never
...
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Custom attribute to mark sources as using our C++/C code style.
[attr]our-c-style whitespace=tab-in-indent,no-lf-at-eof hooks.style=KWStyle,clangformat

*.c our-c-style
*.h our-c-style
*.cxx our-c-style
*.hxx our-c-style
*.txx our-c-style
*.txt whitespace=tab-in-indent,no-lf-at-eof
*.cmake whitespace=tab-in-indent,no-lf-at-eof

# ExternalData content links must have LF newlines
*.md5 crlf=input
*.sha512 crlf=input
15 changes: 15 additions & 0 deletions .github/workflows/build-test-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

name: Build, test, package

on: [push,pull_request]

jobs:
cxx-build-workflow:
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-cxx.yml@v5.4.0

python-build-workflow:
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-package-python.yml@v5.4.0
with:
test-notebooks: false
secrets:
pypi_password: ${{ secrets.pypi_password }}
13 changes: 13 additions & 0 deletions .github/workflows/clang-format-linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: clang-format linter

on: [push,pull_request]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- uses: InsightSoftwareConsortium/ITKClangFormatLinterAction@master
11 changes: 10 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
cmake_minimum_required(VERSION 3.10.2)
project(IOFDF)
set(IOFDF_LIBRARIES IOFDF)
itk_module_impl()

if(NOT ITK_SOURCE_DIR)
find_package(ITK REQUIRED)
list(APPEND CMAKE_MODULE_PATH ${ITK_CMAKE_DIR})
include(ITKModuleExternal)
else()
itk_module_impl()
endif()

7 changes: 7 additions & 0 deletions CTestConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
set(CTEST_PROJECT_NAME "ITK")
set(CTEST_NIGHTLY_START_TIME "1:00:00 UTC")

set(CTEST_DROP_METHOD "https")
set(CTEST_DROP_SITE "open.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=Insight")
set(CTEST_DROP_SITE_CDASH TRUE)
3 changes: 0 additions & 3 deletions ITKKWStyleOverwrite.txt

This file was deleted.

Loading