A full-featured license tool to check and fix license headers and resolve dependencies' licenses.

Overview

SkyWalking Eyes

Sky Walking logo

A full-featured license tool to check and fix license headers and resolve dependencies' licenses.

Twitter Follow

Usage

You can use License-Eye in GitHub Actions or in your local machine.

GitHub Actions

To use License-Eye in GitHub Actions, add a step in your GitHub workflow.

- name: Check License Header
  uses: apache/[email protected]      # always prefer to use a revision instead of `main`.
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # needed only when you want License-Eye to comment on the pull request.

Add a .licenserc.yaml in the root of your project, for Apache Software Foundation projects, the following configuration should be enough.

header:
  license:
    spdx-id: Apache-2.0
    copyright-owner: Apache Software Foundation

  paths-ignore:
    - 'dist'
    - 'licenses'
    - '**/*.md'
    - 'LICENSE'
    - 'NOTICE'

  comment: on-failure

NOTE: The full configurations can be found in the configuration section.

Docker Image

$ docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header check
$ docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

Compile from Source

$ git clone https://github.com/apache/skywalking-eyes
$ cd skywalking-eyes
$ make build

Check License Header

$ bin/darwin/license-eye -c test/testdata/.licenserc_for_test_fix.yaml header check

INFO Loading configuration from file: test/testdata/.licenserc_for_test.yaml
INFO Totally checked 23 files, valid: 8, invalid: 8, ignored: 7, fixed: 0
ERROR The following files don't have a valid license header:
test/testdata/include_test/without_license/testcase.go
test/testdata/include_test/without_license/testcase.graphql
test/testdata/include_test/without_license/testcase.java
test/testdata/include_test/without_license/testcase.md
test/testdata/include_test/without_license/testcase.py
test/testdata/include_test/without_license/testcase.sh
test/testdata/include_test/without_license/testcase.yaml
test/testdata/include_test/without_license/testcase.yml
exit status 1

Fix License Header

$ bin/darwin/license-eye -c test/testdata/.licenserc_for_test_fix.yaml header fix

INFO Loading configuration from file: test/testdata/.licenserc_for_test_fix.yaml
INFO Totally checked 16 files, valid: 7, invalid: 8, ignored: 1, fixed: 8

Resolve Dependencies' licenses

$ bin/darwin/license-eye -c test/testdata/.licenserc_for_test_check.yaml dep resolve
INFO GITHUB_TOKEN is not set, license-eye won't comment on the pull request
INFO Loading configuration from file: test/testdata/.licenserc_for_test_check.yaml
WARNING Failed to resolve the license of dependency: gopkg.in/yaml.v3 cannot identify license content
Dependency                                  |      License
------------------------------------------- | ------------
github.com/bmatcuk/doublestar/v2            |          MIT
github.com/sirupsen/logrus                  |          MIT
golang.org/x/sys/unix                       | BSD-3-Clause
github.com/spf13/cobra                      |   Apache-2.0
github.com/spf13/pflag                      | BSD-3-Clause
vendor/golang.org/x/net/dns/dnsmessage      | BSD-3-Clause
vendor/golang.org/x/net/route               | BSD-3-Clause
golang.org/x/oauth2                         | BSD-3-Clause
golang.org/x/oauth2/internal                | BSD-3-Clause
vendor/golang.org/x/crypto/cryptobyte       | BSD-3-Clause
vendor/golang.org/x/crypto/cryptobyte/asn1  | BSD-3-Clause
golang.org/x/net/context/ctxhttp            | BSD-3-Clause
vendor/golang.org/x/crypto/chacha20poly1305 | BSD-3-Clause
vendor/golang.org/x/crypto/chacha20         | BSD-3-Clause
vendor/golang.org/x/crypto/internal/subtle  | BSD-3-Clause
vendor/golang.org/x/crypto/poly1305         | BSD-3-Clause
vendor/golang.org/x/sys/cpu                 | BSD-3-Clause
vendor/golang.org/x/crypto/curve25519       | BSD-3-Clause
vendor/golang.org/x/crypto/hkdf             | BSD-3-Clause
vendor/golang.org/x/net/http/httpguts       | BSD-3-Clause
vendor/golang.org/x/net/idna                | BSD-3-Clause
vendor/golang.org/x/text/secure/bidirule    | BSD-3-Clause
vendor/golang.org/x/text/transform          | BSD-3-Clause
vendor/golang.org/x/text/unicode/bidi       | BSD-3-Clause
vendor/golang.org/x/text/unicode/norm       | BSD-3-Clause
vendor/golang.org/x/net/http/httpproxy      | BSD-3-Clause
vendor/golang.org/x/net/http2/hpack         | BSD-3-Clause
gopkg.in/yaml.v3                            |      Unknown

ERROR failed to identify the licenses of following packages:
gopkg.in/yaml.v3

Configurations

header: # <1>
  license:
    spdx-id: Apache-2.0 # <2>
    copyright-owner: Apache Software Foundation # <3>
    content: | # <4>
      Licensed to Apache Software Foundation (ASF) under one or more contributor
      license agreements. See the NOTICE file distributed with
      this work for additional information regarding copyright
      ownership. Apache Software Foundation (ASF) licenses this file to you under
      the Apache License, Version 2.0 (the "License"); you may
      not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.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.

    pattern: | # <5>
      Licensed to the Apache Software Foundation under one or more contributor
      license agreements. See the NOTICE file distributed with
      this work for additional information regarding copyright
      ownership. The Apache Software Foundation licenses this file to you under
      the Apache License, Version 2.0 \(the "License"\); you may
      not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.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.

  paths: # <6>
    - '**'

  paths-ignore: # <7>
    - 'dist'
    - 'licenses'
    - '**/*.md'
    - '**/testdata/**'
    - '**/go.mod'
    - '**/go.sum'
    - 'LICENSE'
    - 'NOTICE'
    - '**/assets/languages.yaml'
    - '**/assets/assets.gen.go'

  comment: on-failure # <8>

dependency: # <9>
  files: # <10>
    - go.mod
  1. The header section is configurations for source codes license header.
  2. The SPDX ID of the license, it’s convenient when your license is standard SPDX license, so that you can simply specify this identifier without copying the whole license content or pattern. This will be used as the content when fix command needs to insert a license header.
  3. The copyright owner to replace the [owner] in the SPDX-ID license template.
  4. If you are not using the standard license text, you can paste your license text here, this will be used as the content when fix command needs to insert a license header, if both license and SPDX-ID are specified, license wins.
  5. The pattern is an optional regexp. You don’t need this if all the file headers are the same as license or the license of SPDX-ID, otherwise you need to compose a pattern that matches your license texts.
  6. The paths are the path list that will be checked (and fixed) by license-eye, default is ['**']. Formats like **/*.md and **/bin/** are supported.
  7. The paths-ignore are the path list that will be ignored by license-eye. By default, .git and the content in .gitignore will be inflated into the paths-ignore list.
  8. On what condition License-Eye will comment the check results on the pull request, on-failure, always or never. Options other than never require the environment variable GITHUB_TOKEN to be set.
  9. dependency section is configurations for resolving dependencies' licenses.
  10. files are the files that declare the dependencies of a project, typically, go.mo in Go project, pom.xml in maven project, and package.json in NodeJS project. If it's a relative path, it's relative to the .licenserc.yaml.

NOTE: When the SPDX-ID is Apache-2.0 and the owner is Apache Software foundation, the content would be a dedicated license specified by the ASF, otherwise, the license would be the standard one.

Supported File Types

The header check command theoretically supports all kinds of file types, while the supported file types of header fix command can be found in this YAML file. In the YAML file, if the language has a non-empty property comment_style_id, and the comment style id is declared in the comment styles file, then the language is supported by fix command.

  • assets/languages.yaml

    Java:
      type: programming
      tm_scope: source.java
      ace_mode: java
      codemirror_mode: clike
      codemirror_mime_type: text/x-java
      color: "#b07219"
      extensions:
        - ".java"
      language_id: 181
      comment_style_id: SlashAsterisk
  • assets/languages.yaml

    - id: SlashAsterisk     # (i)
      start: '/*'           # (ii)
      middle: ' *'          # (iii)
      end: ' */'            # (iv)
    1. The comment_style_id used in assets/languages.yaml.
    2. The leading characters of the starting of a block comment.
    3. The leading characters of the middle lines of a block comment.
    4. The leading characters of the ending line of a block comment.

Contribution

  • If you find any file type should be supported by the aforementioned configurations, but it's not listed there, feel free to open a pull request to add the configuration into the two files.
  • If you find the license template of an SPDX ID is not supported, feel free to open a pull request to add it into the template folder.

License

Apache License 2.0

Contact Us

Comments
  • [Docs] Add a PlantUML activity diagram of header fixing mechanism

    [Docs] Add a PlantUML activity diagram of header fixing mechanism

    I took some time to create an activity diagram in descriptive PlantUML syntax which shows how the current header fixing mechanism works. I think this could simplify future discussions about the header fixing mechanism and its technical requirements.

    My original idea was to add this to PR #40 which is merged already, therefore I create this new PR. Feel free to refuse this PR, if the diagram or the SVG file is not desired (in this repository) or if you think this does not belong here.

    documentation 
    opened by emschu 17
  • add feature: support resolving pom.xml for maven

    add feature: support resolving pom.xml for maven

    Solution: copy, using mvn dependency:copy-dependencies, all dependencies and transitive dependencies, and then resolve license from the jar files.

    Known disadvantages:

    • depends on maven
    • replication of the jar files needs to read and write the disk
    feature 
    opened by MoGuGuai-hzr 12
  • New feature: replace already existing license header based on pattern

    New feature: replace already existing license header based on pattern

    Example config snippet:

    header:
      license:
        #spdx-id: Apache-2.0 # the spdx id of the license, it's convenient when your license is standard SPDX license.
        copyright-owner: Example Ltd # the copyright owner to replace the [owner] in the `spdx-id` template.
    
        content: |
          Licensed Materials - Property of Example Ltd.
          (C) Copyright Example Ltd 2021-2022. All Rights Reserved.
    
        pattern: |
          Licensed Materials - Property of Example Ltd\.
          \(C\) Copyright Example Ltd [0-9-]+\. All Rights Reserved\.
    
      paths:
        - '**/*.go'
        - '**/*.sh'
        - '**/Dockerfile'
    
    feature 
    opened by halacs 11
  • feat: list files by git when possible

    feat: list files by git when possible

    Although we try to use ignore pattern present by a .gitignore file, it's possible that users have a global git ignore settings or manually ignore a file.

    We can use git command to list files when runs under a git worksapce, and if there's no git workspace, we don't have to see .gitignore. Normally, it's via directly download and all ignored files already excluded. If users want to respect to the ignore pattern, they can simply git init.

    cc @kezhenxu94 @wu-sheng @fgksgf @spacewander

    Reference:

    • https://github.com/apache/skywalking/issues/7543
    • https://github.com/apache/skywalking/issues/7538
    enhancement 
    opened by tisonkun 9
  • Add support for multiple licenses in the header config section

    Add support for multiple licenses in the header config section

    This allows for multiple license configurations to be contained within the same .licenserc.yaml file. The intended use is for a project that has multiple packages or modules with differing licenses.

    To do this we introduce a ConfigV2 config format since it is not valid YAML for a key to be either a dictionary or a sequence.

    We try to parse as V2 first, and fall back to V1.

    feature 
    opened by dave-tucker 8
  • [config]Support config license header comment style.

    [config]Support config license header comment style.

    Recently, I use this project to fix myself project license header, It is a GoLand project.

    I find that the header comment style config at the languages.yaml and styles.yaml, and it doesn't support config.

    The Go file license header comment style is //, like:

    // Licensed to the Apache Software Foundation (ASF) under one
    // ... ...
    

    But I want the license header comment style is *, like:

    /*
     * Licensed to the Apache Software Foundation (ASF) under one
     * ... ...
     */
    

    So, I fix code and submit this PR.

    I add the config languages at the .licenserc.yaml, and the license header comment style use this file config preferentially, if this file doesn't have this config, it use the default config at the languages.yaml.

    feature 
    opened by dongzl 7
  • Enhance NPM dependency resolver to resolve all the dependent packages

    Enhance NPM dependency resolver to resolve all the dependent packages

    This patch enhances the NPM dependency resolver to resolve all the dependent packages. First, it runs the npm command npm ls --all --parseable to list all the packages' absolute paths. Then, each package's name is inferred from its relative path from the node_modules dir. Finally, walk through each package's root path to resolve licenses from the package.json file or the license file.

    feature 
    opened by zooltd 6
  • fix license header normalizer

    fix license header normalizer

    Why do we need this fix?

    As we are using license-eyes to check license header in our open-sourced projects, we notice that it can help detect unexpected changes in the license header, except the copyright line. In my opinion, it's also necessary to protect the copyright line from unintentional changes.

    How was this issue introduced?

    https://github.com/apache/skywalking-eyes/pull/46 introduced this line processor to ignore copyright line, mostly for the purpose of dependency resolution. However, in https://github.com/apache/skywalking-eyes/pull/107 starts using Google's license check for this purpose, and this line processor only works to ignore copyright line when checking / fixing license header.

    Reviewer

    @kezhenxu94

    bug 
    opened by xiaoyawei 5
  • Add support for resolving npm dependencies' licenses

    Add support for resolving npm dependencies' licenses

    1. Parse the project package.json file to gather the required packages
    2. Run command 'npm install' to install or update the required node packages (can skip)
    3. Walk through each package's root directory to resolve licenses
      • STEP 1: Try to find and parse the package.json file to capture the license field
      • STEP 2: Try to find the license file to identify the license
    feature 
    opened by zooltd 5
  • Added .pre-commit-hooks.yaml

    Added .pre-commit-hooks.yaml

    This addition allows users of the pre-commit Git hook management tool to use Skywalking Eyes' license-eyes header fix command to automate fixing their license headers at regular points in the development lifecycle.

    enhancement 
    opened by HungryJoe 4
  • feature: support saving dependencies' licenses

    feature: support saving dependencies' licenses

    This is a missing but important feature that helps to organize the distribution package especially in ASF projects, it resolves and saves all LICENSE files of the dependencies.

    feature 
    opened by kezhenxu94 4
Releases(v0.4.0)
  • v0.4.0(Jul 12, 2022)

    What's Changed

    • Polish release doc by @fgksgf in https://github.com/apache/skywalking-eyes/pull/106
    • dep: short circuit if user declare dep license by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/108
    • [docs] Fix the indents issue in the action demo by @FushuWang in https://github.com/apache/skywalking-eyes/pull/109
    • Use Google's licensecheck to identify licenses by @fgksgf in https://github.com/apache/skywalking-eyes/pull/107
    • Make licensecheck's threshold configurable by @fgksgf in https://github.com/apache/skywalking-eyes/pull/110
    • Lazy initialize GitHub client for comment by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/111
    • Fix grammar mistakes by @kevgo in https://github.com/apache/skywalking-eyes/pull/113
    • Add custom license urls for identification by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/114
    • Stablize summary context to perform consistant output by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/115
    • maven: set group:artifact as maven dependency name and extend functions in summary template by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/116
    • Add excludes to license resolve config by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/117
    • Add support for multiple licenses in the header config section by @dave-tucker in https://github.com/apache/skywalking-eyes/pull/118
    • Prune packages before listing all dependencies by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/119
    • Support license expression in dep check. by @jmjoy in https://github.com/apache/skywalking-eyes/pull/120
    • Add rust cargo support for dep command. by @jmjoy in https://github.com/apache/skywalking-eyes/pull/121
    • Reorganize GHA by header and dependency by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/123
    • Draft 0.4.0 by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/124

    New Contributors

    • @FushuWang made their first contribution in https://github.com/apache/skywalking-eyes/pull/109
    • @kevgo made their first contribution in https://github.com/apache/skywalking-eyes/pull/113
    • @dave-tucker made their first contribution in https://github.com/apache/skywalking-eyes/pull/118
    • @jmjoy made their first contribution in https://github.com/apache/skywalking-eyes/pull/120

    Full Changelog: https://github.com/apache/skywalking-eyes/compare/v0.3.0...v0.4.0

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(May 14, 2022)

    What's Changed

    • Obtain default GitHub token in GitHub Actions by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/82
    • Adds an option to the action to run in "fix" mode by @ryanmrichard in https://github.com/apache/skywalking-eyes/pull/84
    • Only allow squash merge by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/85
    • Add Comment Style for CMake Language by @ryanmrichard in https://github.com/apache/skywalking-eyes/pull/86
    • Lock version of golangci-lint to 1.43.0. And fix lint issue. by @wu-sheng in https://github.com/apache/skywalking-eyes/pull/88
    • Add MPL-2.0 header template by @steveklabnik in https://github.com/apache/skywalking-eyes/pull/87
    • Add comment style for HCL (Terraform) by @stumins in https://github.com/apache/skywalking-eyes/pull/89
    • Add comment style for Makefile & EditorConfig by @spacewander in https://github.com/apache/skywalking-eyes/pull/90
    • config: Fix incorrect log message by @Xuanwo in https://github.com/apache/skywalking-eyes/pull/91
    • test: add tests for bare spdx license header content by @tisonkun in https://github.com/apache/skywalking-eyes/pull/92
    • Fix license check in go library testify by @mrproliu in https://github.com/apache/skywalking-eyes/pull/93
    • Trim leading and trailing newlines before rewrite license header cotent by @tisonkun in https://github.com/apache/skywalking-eyes/pull/94
    • test: use T.TempDir to create temporary test directory by @Juneezee in https://github.com/apache/skywalking-eyes/pull/95
    • [Docs]Correct spelling mistakes. by @dongzl in https://github.com/apache/skywalking-eyes/pull/96
    • [config]Support config license header comment style. by @dongzl in https://github.com/apache/skywalking-eyes/pull/97
    • New feature: replace already existing license header based on pattern by @halacs in https://github.com/apache/skywalking-eyes/pull/98
    • [Docs] add the usage for config the license header comment style. by @dongzl in https://github.com/apache/skywalking-eyes/pull/99
    • Add Python DocString comment style by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/100
    • Add .exe suffix to windows binary by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/101
    • Support fix license header for tcl files by @tisonkun in https://github.com/apache/skywalking-eyes/pull/102
    • Provide --summary flag to generate the license summary file by @mrproliu in https://github.com/apache/skywalking-eyes/pull/103
    • Add GitHub Action step summary for better experience by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/104
    • Release 0.3.0 by @fgksgf in https://github.com/apache/skywalking-eyes/pull/105

    New Contributors

    • @ryanmrichard made their first contribution in https://github.com/apache/skywalking-eyes/pull/84
    • @steveklabnik made their first contribution in https://github.com/apache/skywalking-eyes/pull/87
    • @stumins made their first contribution in https://github.com/apache/skywalking-eyes/pull/89
    • @spacewander made their first contribution in https://github.com/apache/skywalking-eyes/pull/90
    • @Xuanwo made their first contribution in https://github.com/apache/skywalking-eyes/pull/91
    • @tisonkun made their first contribution in https://github.com/apache/skywalking-eyes/pull/92
    • @Juneezee made their first contribution in https://github.com/apache/skywalking-eyes/pull/95
    • @dongzl made their first contribution in https://github.com/apache/skywalking-eyes/pull/96
    • @halacs made their first contribution in https://github.com/apache/skywalking-eyes/pull/98

    Full Changelog: https://github.com/apache/skywalking-eyes/compare/v0.2.0...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Oct 19, 2021)

    Download

    https://skywalking.apache.org/downloads/#SkyWalkingEyes

    What's Changed

    • Fix the inaccurate description of README.md. by @zifeihan in https://github.com/apache/skywalking-eyes/pull/19
    • Add documentation about how to use via docker image by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/20
    • fix: @ is optional in bat comment by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/21
    • chore: upgrade to go 1.16 and remove go-bindata by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/22
    • defect: avoid crash when no comment style is found by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/23
    • feat: support ini extension by @chengshiwen in https://github.com/apache/skywalking-eyes/pull/24
    • feature: support .rst files and allow fixing header of a single file by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/25
    • chore: only build linux binary when building inside docker to save time by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/26
    • Update NOTICE by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/27
    • feature: add reasonable default config to allow running in a new repo without copying config file by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/28
    • Adding comment styles for Rust by @fulmicoton in https://github.com/apache/skywalking-eyes/pull/29
    • enhance: tolerate leading whitespaces in license header by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/30
    • Fix properties comment style and add bat comment style by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/32
    • Fix infinite recursive calls when containing symbolic files by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/33
    • Expose license-location-threshold as config item by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/34
    • Fix 404 error by @heyanlong in https://github.com/apache/skywalking-eyes/pull/35
    • Fix minor error by @MoGuGuai-hzr in https://github.com/apache/skywalking-eyes/pull/36
    • Add support for MatLab files by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/37
    • Add support for Smarty template language by @emschu in https://github.com/apache/skywalking-eyes/pull/38
    • Add support for Twig template language by @emschu in https://github.com/apache/skywalking-eyes/pull/39
    • Add support for PHP by @emschu in https://github.com/apache/skywalking-eyes/pull/40
    • Add support of apostrophe style comments for PlantUML by @emschu in https://github.com/apache/skywalking-eyes/pull/42
    • Fix typescript file license header fix to use SlashAsterisk instead of AngleBrackets by @emschu in https://github.com/apache/skywalking-eyes/pull/43
    • fix some program compatibility issues in Windows by @zooltd in https://github.com/apache/skywalking-eyes/pull/44
    • Enhance Go dependency resolver to resolve built-in and non-standard Go modules by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/46
    • Add all well-known licenses and polish normalizers by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/47
    • fix bug: license file is not found but reported message is nil by @MoGuGuai-hzr in https://github.com/apache/skywalking-eyes/pull/49
    • Add support for resolving npm dependencies' licenses by @zooltd in https://github.com/apache/skywalking-eyes/pull/48
    • [Docs] Add a PlantUML activity diagram of header fixing mechanism by @emschu in https://github.com/apache/skywalking-eyes/pull/41
    • Enhance NPM dependency resolver to resolve all the dependent packages by @zooltd in https://github.com/apache/skywalking-eyes/pull/51
    • add feature: support resolving pom.xml for maven by @MoGuGuai-hzr in https://github.com/apache/skywalking-eyes/pull/50
    • Enhance NPM dependency resolver to resolve deprecated license styles by @zooltd in https://github.com/apache/skywalking-eyes/pull/52
    • add support for resolving jars' licenses by @MoGuGuai-hzr in https://github.com/apache/skywalking-eyes/pull/53
    • set log level to info in GitHub Action usage by @fgksgf in https://github.com/apache/skywalking-eyes/pull/54
    • Fix wrong license identification by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/55
    • make the log level configurable by @fgksgf in https://github.com/apache/skywalking-eyes/pull/56
    • Make the config file configurable in GitHub Action by @fgksgf in https://github.com/apache/skywalking-eyes/pull/57
    • Set up mechanism to check dependencies' license compatibilities by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/58
    • Reduce Docker image size and add npm env to resolve npm projects' dependencies by @zooltd in https://github.com/apache/skywalking-eyes/pull/59
    • header fix: respect user configured license content by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/60
    • Publish snapshot Docker image to GHCR by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/61
    • add comment type to cython declaration by @keiranmraine in https://github.com/apache/skywalking-eyes/pull/62
    • Enable 'fix' on perl files by @keiranmraine in https://github.com/apache/skywalking-eyes/pull/63
    • Feature/r by @keiranmraine in https://github.com/apache/skywalking-eyes/pull/64
    • Feature: header fix supports nextflow files by @keiranmraine in https://github.com/apache/skywalking-eyes/pull/65
    • Fix file extension conflict between RenderScript and Rust by @guilload in https://github.com/apache/skywalking-eyes/pull/66
    • Resolve absolute path in .gitignore to relative path by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/67
    • Honor Python's coding directive by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/68
    • feature: support saving dependencies' licenses by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/69
    • fix the save location problem by @zooltd in https://github.com/apache/skywalking-eyes/pull/70
    • Enhance Npm Resolver: support recording license contents by @zooltd in https://github.com/apache/skywalking-eyes/pull/71
    • Remove .tsx from XML language extensions by @freeqaz in https://github.com/apache/skywalking-eyes/pull/72
    • Add Comment Style for TypeScript language support by @freeqaz in https://github.com/apache/skywalking-eyes/pull/73
    • Speed up the initialization phase by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/75
    • Support installing via go install by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/76
    • Support display version property for dependency resolve by @mrproliu in https://github.com/apache/skywalking-eyes/pull/78
    • Add some line normalize processor for help skywalking-satellite dependency resolve by @mrproliu in https://github.com/apache/skywalking-eyes/pull/79
    • Prepare 0.2.0 release by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/80
    • chore: fix wrong file path and exclude binary files in src release by @kezhenxu94 in https://github.com/apache/skywalking-eyes/pull/81

    New Contributors

    • @zifeihan made their first contribution in https://github.com/apache/skywalking-eyes/pull/19
    • @chengshiwen made their first contribution in https://github.com/apache/skywalking-eyes/pull/24
    • @fulmicoton made their first contribution in https://github.com/apache/skywalking-eyes/pull/29
    • @heyanlong made their first contribution in https://github.com/apache/skywalking-eyes/pull/35
    • @MoGuGuai-hzr made their first contribution in https://github.com/apache/skywalking-eyes/pull/36
    • @emschu made their first contribution in https://github.com/apache/skywalking-eyes/pull/38
    • @zooltd made their first contribution in https://github.com/apache/skywalking-eyes/pull/44
    • @fgksgf made their first contribution in https://github.com/apache/skywalking-eyes/pull/54
    • @keiranmraine made their first contribution in https://github.com/apache/skywalking-eyes/pull/62
    • @guilload made their first contribution in https://github.com/apache/skywalking-eyes/pull/66
    • @freeqaz made their first contribution in https://github.com/apache/skywalking-eyes/pull/72
    • @mrproliu made their first contribution in https://github.com/apache/skywalking-eyes/pull/78

    Full Changelog: https://github.com/apache/skywalking-eyes/compare/v0.1.0...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Jan 12, 2021)

    • License Header
      • Add check and fix command.
      • check results can be reported to pull request as comments.
      • fix suggestions can be filed on pull request as edit suggestions.
    Source code(tar.gz)
    Source code(zip)
Owner
The Apache Software Foundation
The Apache Software Foundation
dqlx is a fully featured DGraph Schema and Query Builder for Go.

dqlx is a fully featured DGraph Schema and Query Builder for Go. It aims to simplify the interaction with the awesome Dgraph database allowing you to fluently compose any queries and mutations of any complexity. It also comes with a rich Schema builder to easily develop and maintain your Dgraph schema.

Fabrizio 54 Dec 17, 2022
Fully featured, spec-compliant HTML5 server-sent events library

go-sse Lightweight, fully spec-compliant HTML5 server-sent events library. Table of contents go-sse Table of contents Installation and usage Implement

Teodor Maxim 165 Dec 5, 2022
A tool to check problems about meta files of Unity

A tool to check problems about meta files of Unity on Git repositories, and also the tool can do limited autofix for meta files of auto-generated files.

DeNA 65 Dec 22, 2022
Helper library for full uint64 randomness, pool backed for efficient concurrency

fastrand64-go Helper library for full uint64 randomness, pool backed for efficient concurrency Inspired by https://github.com/valyala/fastrand which i

Ryan Haksi 41 Dec 5, 2021
A well tested and comprehensive Golang statistics library package with no dependencies.

Stats - Golang Statistics Package A well tested and comprehensive Golang statistics library / package / module with no dependencies. If you have any s

Montana Flynn 2.6k Dec 30, 2022
Little helper to create tar balls of an executable together with its ELF shared library dependencies.

Little helper to create tar balls of an executable together with its ELF shared library dependencies. This is useful for prototyping with gokrazy: htt

null 10 Sep 7, 2022
Go linter to check the struct literal to use field name

Structfield Find struct literals using non-labeled fields. The structfield analysis reports the usage of struct literal using non-labeled fields more

Nuruddin Ashr 3 Aug 23, 2021
Log4j check with golang

log4jcheck Install go install github.com/michael1026/[email protected] Example Usage cat URLs | log4jcheck -user-agent -referer -server example.burpc

Michael Blake 0 Dec 11, 2021
🤖🤝A tool to test and analyze storage and retrieval deal capability on the Filecoin network.

Dealbot A tool to test and analyze storage and retrieval deal capability on the Filecoin network. Getting Started Clone the repo and build: git clone

Filecoin 29 Sep 10, 2022
sigurls is a reconnaissance tool, it fetches URLs from AlienVault's OTX, Common Crawl, URLScan, Github and the Wayback Machine.

sigurls is a reconnaissance tool, it fetches URLs from AlienVault's OTX, Common Crawl, URLScan, Github and the Wayback Machine. DiSCLAIMER: fe

Alex Munene 128 May 22, 2021
A tool and library for using structural regular expressions.

Structural Regular Expressions sregx is a package and tool for using structural regular expressions as described by Rob Pike (link).

Zachary Yedidia 41 Dec 7, 2022
tool for working with numbers and units

tool for working with numbers and units

null 36 Nov 26, 2022
Fast, lightweight and NOT reliable tool for downloading tons of images.

image-download-tool Fast, lightweight and NOT reliable tool for downloading tons of images. How to use Run .exe with --help flag Create json file with

Denis 3 May 12, 2022
Tiny Go tool for running multiple functions concurrently and collecting their results into an error slice.

Overview Short for "ConCurrent". Tiny Go tool for running multiple functions concurrently and collecting their results into an error slice. Dependency

Nelo Mitranim 0 Nov 22, 2021
Otx - otx tool can scrap to find sensitive information and vulnerable endpoint urls.

otx Description This tool is base on AlienVault Open Threat Exchange (OTX)? and this tool can help you to extract all the urls endpoints which can be

ShaneKhant 4 Sep 24, 2022
efaceconv - Code generation tool for high performance conversion from interface{} to immutable type without allocations.

efaceconv High performance conversion from interface{} to immutable types without additional allocations This is tool for go generate and common lib (

Ivan 50 May 14, 2022
GoWrap is a command line tool for generating decorators for Go interfaces

GoWrap GoWrap is a command line tool that generates decorators for Go interface types using simple templates. With GoWrap you can easily add metrics,

Max Chechel 701 Dec 30, 2022
Perforator is a tool for recording performance metrics over subregions of a program using the Linux "perf" interface.

Perforator Perforator is a tool for recording performance metrics over subregions of a program (e.g., functions) using the Linux "perf" interface.

Zachary Yedidia 34 Dec 15, 2022
a tool for creating exploited media files for discord

Discord-Exploits A program for creating exploited media files for discord written in Go. Usage discord-exploits is a command line utility, meaning you

schmenn 219 Dec 29, 2021