Skip to content

Commit

Permalink
Create a scancode.io pipeline just for fingerprinting
Browse files Browse the repository at this point in the history
Signed-off-by: Jono Yang <[email protected]>
  • Loading branch information
JonoYang committed Mar 15, 2024
1 parent 1644830 commit e4fa8dd
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
3 changes: 3 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,6 @@ docs =
[options.entry_points]
scancode_post_scan =
fingerprint = matchcode_toolkit.plugin_fingerprint:Fingerprint

scancodeio_pipelines =
fingerprint_package = matchcode_toolkit.pipelines.fingerprint_package:FingerprintPackage
43 changes: 43 additions & 0 deletions src/matchcode_toolkit/pipelines/fingerprint_package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# SPDX-License-Identifier: Apache-2.0
#
# http://nexb.com and https://github.com/nexB/scancode.io
# The ScanCode.io software is licensed under the Apache License version 2.0.
# Data generated with ScanCode.io is provided as-is without warranties.
# ScanCode is a trademark of nexB Inc.
#
# You may not use this software except in compliance with the License.
# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software distributed
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.
#
# Data Generated with ScanCode.io is provided on an "AS IS" BASIS, WITHOUT WARRANTIES
# OR CONDITIONS OF ANY KIND, either express or implied. No content created from
# ScanCode.io should be considered or used as legal advice. Consult an Attorney
# for any legal advice.
#
# ScanCode.io is a free software code scanning tool from nexB Inc. and others.
# Visit https://github.com/nexB/scancode.io for support and download.

from scanpipe.pipelines import Pipeline
from scanpipe.pipes import matchcode


class FingerprintPackage(Pipeline):
"""
Calculate the directory fingerprints of a Project codebase
"""

download_inputs = False
is_addon = True

@classmethod
def steps(cls):
return (cls.fingerprint_codebase,)

def fingerprint_codebase(self):
"""
Compute directory fingerprints for matching purposes
"""
matchcode.fingerprint_codebase_directories(self.project)

0 comments on commit e4fa8dd

Please sign in to comment.