Skip to content

Commit 6381d68

Browse files
committed
Merge branch 'develop' into vchang/cli
Signed-off-by: Victor Chang <[email protected]>
2 parents 130db68 + b9b2112 commit 6381d68

File tree

382 files changed

+5870
-880
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

382 files changed

+5870
-880
lines changed

.dockerignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# Copyright 2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
115
.github/
216
.docs/
317
.demos/
@@ -51,6 +65,7 @@ bld/
5165
!**/packages/build/
5266
# Uncomment if necessary however generally it will be regenerated when needed
5367
#!**/packages/repositories.config
68+
5469
# NuGet v3's project.json files produces more ignoreable files
5570
*.nuget.props
5671
*.nuget.targets

.editorconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# Copyright 2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
115
# editorconfig.org
216

317
# top-most EditorConfig file

.github/.gitversion.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1-
# SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
2-
# SPDX-License-Identifier: Apache License 2.0
1+
# Copyright 2021-2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
314

415
assembly-versioning-scheme: MajorMinorPatchTag
516
mode: ContinuousDelivery

.github/pull_request_template.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
### Description
2+
13
Fixes # .
24

3-
### Description
45
A few sentences describing the changes proposed in this pull request.
56

67
### Status

.github/workflows/ci.yml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1-
# SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
2-
# SPDX-License-Identifier: Apache License 2.0
1+
# Copyright 2021-2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
314

415

516
name: ci
@@ -60,10 +71,16 @@ jobs:
6071
uses: actions/checkout@v2
6172
with:
6273
fetch-depth: 0
74+
6375
- uses: actions/setup-dotnet@v1
6476
with:
6577
dotnet-version: "6.0.x"
6678

79+
- name: Install License Finder tool with Homebrew
80+
uses: tecoli-com/actions-use-homebrew-tools@v0
81+
with:
82+
tools: licensefinder
83+
6784
- name: Enable NuGet cache
6885
uses: actions/[email protected]
6986
with:
@@ -99,6 +116,12 @@ jobs:
99116

100117
- name: Secret detection
101118
uses: gitleaks/[email protected]
119+
120+
- name: Perform License Scanning
121+
run: license_finder -r
122+
123+
- name: Check License Header
124+
uses: apache/skywalking-eyes@main
102125

103126
unit-test:
104127
runs-on: ubuntu-latest

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
# Copyright 2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
114

215
# Created by https://www.toptal.com/developers/gitignore/api/aspnetcore,dotnetcore,visualstudio,visualstudiocode
316
# Edit at https://www.toptal.com/developers/gitignore?templates=aspnetcore,dotnetcore,visualstudio,visualstudiocode

.licenserc.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Copyright 2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
header:
16+
license:
17+
spdx-id: Apache-2.0
18+
copyright-owner: MONAI Consortium
19+
20+
paths-ignore:
21+
- 'LICENSE'
22+
- '.github/**/*.md'
23+
- '**/*.log'
24+
- '**/bin/**'
25+
- '**/obj/**'
26+
- '**/*.json'
27+
- '**/*.ruleset'
28+
- 'src/.sonarlint/**'
29+
- 'src/coverlet.runsettings'
30+
- 'demos/**/.env/**'
31+
- 'docs/templates/**'
32+
- 'tests/Integration.Test/*.dev'
33+
34+
comment: on-failure
35+
36+
# license-location-threshold specifies the index threshold where the license header can be located,
37+
# after all, a "header" cannot be TOO far from the file start.
38+
license-location-threshold: 80
39+
40+
language:
41+
VSSoluation:
42+
extensions:
43+
- ".sln"
44+
comment_style_id: AngleBracket
45+
GherkinFeature:
46+
extensions:
47+
- ".feature"
48+
comment_style_id: Hashtag
49+
Config:
50+
extensions:
51+
- ".conf"
52+
comment_style_id: Hashtag

CODE_OF_CONDUCT.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
<!--
2-
SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
3-
SPDX-License-Identifier: Apache License 2.0
2+
~ Copyright 2021-2022 MONAI Consortium
3+
~
4+
~ Licensed under the Apache License, Version 2.0 (the "License");
5+
~ you may not use this file except in compliance with the License.
6+
~ You may obtain a copy of the License at
7+
~
8+
~ http://www.apache.org/licenses/LICENSE-2.0
9+
~
10+
~ Unless required by applicable law or agreed to in writing, software
11+
~ distributed under the License is distributed on an "AS IS" BASIS,
12+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
~ See the License for the specific language governing permissions and
14+
~ limitations under the License.
415
-->
516

617
# Contributor Covenant Code of Conduct

CONTRIBUTING.md

Lines changed: 66 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
<!--
2-
SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
3-
SPDX-License-Identifier: Apache License 2.0
2+
~ Copyright 2021-2022 MONAI Consortium
3+
~
4+
~ Licensed under the Apache License, Version 2.0 (the "License");
5+
~ you may not use this file except in compliance with the License.
6+
~ You may obtain a copy of the License at
7+
~
8+
~ http://www.apache.org/licenses/LICENSE-2.0
9+
~
10+
~ Unless required by applicable law or agreed to in writing, software
11+
~ distributed under the License is distributed on an "AS IS" BASIS,
12+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
~ See the License for the specific language governing permissions and
14+
~ limitations under the License.
415
-->
16+
517
- [Introduction](#introduction)
618
- [Communicate with us](#communicate-with-us)
719
- [The contribution process](#the-contribution-process)
@@ -77,18 +89,60 @@ An [EditorConfig](https://editorconfig.org "EditorConfig homepage") file (`.edit
7789
All source code files should start with this paragraph:
7890

7991
```
80-
// Copyright <YEAR FROM-YEAR TO> MONAI Consortium
81-
// Licensed under the Apache License, Version 2.0 (the "License");
82-
// you may not use this file except in compliance with the License.
83-
// You may obtain a copy of the License at
84-
// http://www.apache.org/licenses/LICENSE-2.0
85-
// Unless required by applicable law or agreed to in writing, software
86-
// distributed under the License is distributed on an "AS IS" BASIS,
87-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
88-
// See the License for the specific language governing permissions and
89-
// limitations under the License.
92+
/*
93+
* Copyright YYYY[-YYYY] MONAI Consortium
94+
*
95+
* Licensed under the Apache License, Version 2.0 (the "License");
96+
* you may not use this file except in compliance with the License.
97+
* You may obtain a copy of the License at
98+
*
99+
* http://www.apache.org/licenses/LICENSE-2.0
100+
*
101+
* Unless required by applicable law or agreed to in writing, software
102+
* distributed under the License is distributed on an "AS IS" BASIS,
103+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
104+
* See the License for the specific language governing permissions and
105+
* limitations under the License.
106+
*/
107+
108+
```
109+
A CI step (Check License Header) scans the entire repository to ensure all files include the license mentioned above text.
110+
111+
Please refer to [skywalking-eyes](https://github.com/apache/skywalking-eyes) on how to execute the tool locally and use the [.licenserc.yaml](./.licenserc.yaml) to configure scanning options.
112+
113+
###### License Scanning
114+
115+
We operate under the Apache 2.0 license, meaning we can only use packages with specific permissive licenses. Below are the lists of permits we can/maybe can allow.
116+
117+
**Green list** (Can be committed without approval)
118+
119+
- MIT
120+
- Apache 2.0
121+
- Dotnet
122+
123+
**Amber list** (Requires approval from the maintainers)
124+
125+
- BSD
126+
127+
**Red list** (Cannot be used)
128+
129+
- Anything other than the above
130+
131+
No matter the license of the new package that is added, you will notice that the CI license scanner (Perform License Scanning step) will fail and state that the dependency needs approval. This CI step is to ensure that no packages slip through unchecked. When this happens, if your package's license is on the green-list, you can add it to the allow-list at [doc/dependency_decision.yml](./doc/dependency_decisions.yml) with the below template.
132+
133+
```yaml
134+
- - :approve
135+
- PackageName
136+
- :who: YourName (YourUsername)
137+
:why: LicenseName - CorrectLicenceURL
138+
:versions: []
139+
:when: CurrentDate/Time e.g. 2022-04-14 09:14:32
90140
```
91141
142+
If your package is on the Amber list, please make a maintainer aware and let them go through the review process before adding it to the allowlist.
143+
144+
If your package is on the Red list, you will have to look for another package that achieves the same aim with a more permissive license.
145+
92146
#### Test Projects
93147
94148
All C# projects reside in their directory, including a `Tests/` subdirectory.

Dockerfile

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1-
# SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
2-
# SPDX-License-Identifier: Apache License 2.0
1+
# Copyright 2021-2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
314

415
FROM mcr.microsoft.com/dotnet/sdk:6.0-focal as build
516

GitReleaseManager.yaml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1-
# SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
2-
# SPDX-License-Identifier: Apache License 2.0
1+
# Copyright 2021-2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
314

415
issue-labels-include:
516
- breaking

README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
<!--
2-
// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
3-
// SPDX-License-Identifier: Apache License 2.0
4-
-->
2+
~ Copyright 2021-2022 MONAI Consortium
3+
~
4+
~ Licensed under the Apache License, Version 2.0 (the "License");
5+
~ you may not use this file except in compliance with the License.
6+
~ You may obtain a copy of the License at
7+
~
8+
~ http://www.apache.org/licenses/LICENSE-2.0
9+
~
10+
~ Unless required by applicable law or agreed to in writing, software
11+
~ distributed under the License is distributed on an "AS IS" BASIS,
12+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
~ See the License for the specific language governing permissions and
14+
~ limitations under the License.
15+
-->
516

617
<p align="center">
718
<img src="https://raw.githubusercontent.com/Project-MONAI/MONAI/dev/docs/images/MONAI-logo-color.png" width="50%" alt='project-monai'>

codecov.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1-
# SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium
2-
# SPDX-License-Identifier: Apache License 2.0
1+
# Copyright 2021-2022 MONAI Consortium
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
314

415
codecov:
516
require_ci_to_pass: yes

0 commit comments

Comments
 (0)