This is an automated email from the ASF dual-hosted git repository. rzo1 pushed a commit to branch OPENNLP-1704-Auto-generate-NOTICE-for-OpenNLP-Core-Project in repository https://gitbox.apache.org/repos/asf/opennlp.git
commit 845c312ab4d4162d2574213e94ce383d1c77b9a4 Author: Richard Zowalla <[email protected]> AuthorDate: Fri Feb 7 09:06:17 2025 +0100 OPENNLP-1704 - Auto-generate NOTICE for OpenNLP Core Project --- .github/workflows/license.yml | 70 ++++++++++++++++++++++ NOTICE | 66 +++++++-------------- pom.xml | 117 +++++++++++++++++++++++++++++++++++++ rat-excludes | 1 + src/license/NOTICE.template | 42 +++++++++++++ src/license/THIRD-PARTY.properties | 16 +++++ 6 files changed, 267 insertions(+), 45 deletions(-) diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml new file mode 100644 index 00000000..a2abf514 --- /dev/null +++ b/.github/workflows/license.yml @@ -0,0 +1,70 @@ +# Licensed to the 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. +# The 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. + +name: CI Main - Regenerate NOTICE + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Cache Maven packages + uses: actions/cache@v4 + with: + path: ~/.m2 + key: ${{ runner.os }}-master-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-master-m2 + + - name: Generate Dependency Licenses + run: | + mvn license:aggregate-add-third-party@generate-and-check-licenses \ + -Dlicense.skipAggregateAddThirdParty=false \ + -B \ + -Dlicense.thirdPartyFilename=DEPENDENCY-LICENSES \ + -Dlicense.outputDirectory=target + + - name: Create NOTICE File + run: | + cat src/license/NOTICE.template target/DEPENDENCY-LICENSES > NOTICE + + - name: Create Pull Request after License Regeneration + uses: peter-evans/create-pull-request@v7 + with: + base: main + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "Minor: Regenerated NOTICE File for ${{ github.sha }}" + committer: GitHub <[email protected]> + author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> + signoff: true + branch: regenerate_license_file_after_dep_upgrade + delete-branch: true + title: "Regenerated NOTICE file after dependency changes" + body: | + Found some uncommited changes (from NOTICE regeneration) after running build on OpenNLP + labels: | + dependency \ No newline at end of file diff --git a/NOTICE b/NOTICE index 7c303c75..f1fe7d24 100644 --- a/NOTICE +++ b/NOTICE @@ -14,8 +14,8 @@ http://snowball.tartarus.org/ ============================================================================ -Wordpiece tokenizer -https://github.com/robrua/easy-bert +The Wordpiece tokenizer in opennlp-tools/main/java/opennlp/tools/tokenize +is taken from https://github.com/robrua/easy-bert license under The MIT License (MIT) @@ -41,55 +41,31 @@ SOFTWARE. ============================================================================ -ONNX Runtime +List of third-party dependencies grouped by their license type. -MIT License -Copyright (c) Microsoft Corporation + Apache License, Version 2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -============================================================================ + * Apache Log4j API (org.apache.logging.log4j:log4j-api:2.24.3 - https://logging.apache.org/log4j/2.x/log4j/log4j-api/) + * Apache Log4j Core (org.apache.logging.log4j:log4j-core:2.24.3 - https://logging.apache.org/log4j/2.x/log4j/log4j-core/) + * Apache UIMA Base: uimaj-core (org.apache.uima:uimaj-core:3.6.0 - https://uima.apache.org) + * HPPC Collections (com.carrotsearch:hppc:0.7.2 - http://labs.carrotsearch.com/hppc.html/hppc) + * jcommander (com.beust:jcommander:1.78 - https://jcommander.org) + * SLF4J 2 Provider for Log4j API (org.apache.logging.log4j:log4j-slf4j2-impl:2.24.3 - https://logging.apache.org/log4j/2.x/log4j/log4j-slf4j2-impl/) -SLF4J API -https://github.com/qos-ch/slf4j + BSD License -MIT License + * Morfologik Command Line Tools (org.carrot2:morfologik-tools:2.1.9 - http://morfologik.blogspot.com/morfologik-tools/) + * Morfologik FSA (Builder) (org.carrot2:morfologik-fsa-builders:2.1.9 - http://morfologik.blogspot.com/morfologik-fsa-builders/) + * Morfologik FSA (Traversal) (org.carrot2:morfologik-fsa:2.1.9 - http://morfologik.blogspot.com/morfologik-fsa/) + * Morfologik Stemming APIs (org.carrot2:morfologik-stemming:2.1.9 - http://morfologik.blogspot.com/morfologik-stemming/) -Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) -All rights reserved. + MIT License -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + * onnx-runtime (com.microsoft.onnxruntime:onnxruntime_gpu:1.20.0 - https://microsoft.github.io/onnxruntime/) + * onnx-runtime (com.microsoft.onnxruntime:onnxruntime:1.20.0 - https://microsoft.github.io/onnxruntime/) + * SLF4J API Module (org.slf4j:slf4j-api:2.0.16 - http://www.slf4j.org) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. + The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * ClassGraph (io.github.classgraph:classgraph:4.8.179 - https://github.com/classgraph/classgraph) diff --git a/pom.xml b/pom.xml index a825a53e..f25a07ae 100644 --- a/pom.xml +++ b/pom.xml @@ -191,6 +191,8 @@ <maven.failsafe.plugin>3.5.2</maven.failsafe.plugin> <maven.javadoc.plugin>3.11.2</maven.javadoc.plugin> <forbiddenapis.plugin>3.8</forbiddenapis.plugin> + <license-maven-plugin.version>2.5.0</license-maven-plugin.version> + </properties> <build> @@ -454,6 +456,121 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> </plugin> + + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>license-maven-plugin</artifactId> + <version>${license-maven-plugin.version}</version> + <configuration> + <useMissingFile>true</useMissingFile> + <failOnMissing>true</failOnMissing> + <includeTransitiveDependencies>true</includeTransitiveDependencies> + <fileTemplate>/org/codehaus/mojo/license/third-party-file-groupByMultiLicense.ftl + </fileTemplate> + <excludedScopes>system,test</excludedScopes> + <excludedGroups>${project.groupId}</excludedGroups> + <licenseMerges> + <licenseMerge> + Apache License, Version 2.0 | + Apache License, version 2.0 | + Apache License Version 2 | + Apache License Version 2.0 | + Apache License version 2.0 | + Apache 2 | + Apache 2.0 | + Apache-2.0 | + Apache 2.0 License | + Apache License, 2.0 | + Apache License 2 | + Apache License 2.0 | + Apache Public License 2.0 | + Apache Software License - Version 2.0 | + Apache v2 | + ASL, version 2 | + The Apache License, Version 2.0 | + The Apache Software License, Version 2.0 + </licenseMerge> + <licenseMerge> + Apache License | + Apache Software Licenses + </licenseMerge> + <licenseMerge> + BSD License | + BSD license | + BSD licence | + BSD | + The BSD License + </licenseMerge> + <licenseMerge> + BSD 2-Clause License | + BSD 2-Clause license | + </licenseMerge> + <licenseMerge> + BSD 3-Clause License | + BSD 3-Clause | + BSD 3-clause | + BSD-3-Clause | + The BSD 3-Clause License | + New BSD License | + New BSD license + </licenseMerge> + <licenseMerge> + Common Development and Distribution License (CDDL) v1.0 | + COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 | + CDDL 1.0 + </licenseMerge> + <licenseMerge> + Common Development and Distribution License (CDDL) v1.1 | + COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 | + CDDL 1.1 | + Common Development and Distribution License (CDDL), Version 1.1 + </licenseMerge> + <licenseMerge> + Common Development and Distribution License | + <!-- Multilicense, choosing CDDL --> + CDDL+GPL | + CDDL+GPL License | + CDDL + GPLv2 with classpath exception + </licenseMerge> + <licenseMerge> + Eclipse Public License, Version 1.0 | + Eclipse Public License 1.0 | + Eclipse Public License - v 1.0 + </licenseMerge> + <licenseMerge> + Eclipse Public License, Version 2.0 | + EPL-2.0 | + EPL 2.0 + </licenseMerge> + <licenseMerge> + Eclipse Distribution License, Version 1.0 | + Eclipse Distribution License - v 1.0 | + EDL 1.0 + </licenseMerge> + <licenseMerge> + MIT License | + The MIT License | + MIT license | + MIT X11 License | + MIT + </licenseMerge> + <licenseMerge> + The GNU General Public License (GPL), Version 2, With Classpath Exception | + GPL2 w/ CPE + </licenseMerge> + <licenseMerge> + GNU Lesser General Public License (LGPL), Version 2.1 | + LGPL, version 2.1 | + GNU Lesser General Public License Version 2.1 | + GNU Lesser General Public License, version 2.1 + </licenseMerge> + <licenseMerge> + Common Public License Version 1.0 | + Common Public License - v 1.0 + </licenseMerge> + </licenseMerges> + </configuration> + </plugin> </plugins> </build> diff --git a/rat-excludes b/rat-excludes index 33a787b5..7c873b1b 100644 --- a/rat-excludes +++ b/rat-excludes @@ -17,6 +17,7 @@ under the License. --> +src/license/NOTICE.template src/test/resources/opennlp/tools/*/*.txt src/test/resources/opennlp/tools/*/*.sample src/test/resources/opennlp/tools/*/*.txt diff --git a/src/license/NOTICE.template b/src/license/NOTICE.template new file mode 100644 index 00000000..475942e7 --- /dev/null +++ b/src/license/NOTICE.template @@ -0,0 +1,42 @@ +Apache OpenNLP +Copyright 2021-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +============================================================================ + +The snowball stemmers in +opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball +were developed by Martin Porter and Richard Boulton. +The full snowball package is available from +http://snowball.tartarus.org/ + +============================================================================ + +The Wordpiece tokenizer in opennlp-tools/main/java/opennlp/tools/tokenize +is taken from https://github.com/robrua/easy-bert license under + +The MIT License (MIT) + +Copyright (c) 2019 Rob Rua + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +============================================================================ \ No newline at end of file diff --git a/src/license/THIRD-PARTY.properties b/src/license/THIRD-PARTY.properties new file mode 100644 index 00000000..910618d5 --- /dev/null +++ b/src/license/THIRD-PARTY.properties @@ -0,0 +1,16 @@ +# Licensed to the 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. The 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. +# \ No newline at end of file
