Skip to content

Commit 88977ce

Browse files
authored
Merge pull request #53 from nexB/49_simplify_expression
Deduplicate license expressions correctly #49 Signed-off-by: Philippe Ombredanne <[email protected]>
2 parents 584db9d + 92706e9 commit 88977ce

File tree

125 files changed

+1088
-6243
lines changed

Some content is hidden

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

125 files changed

+1088
-6243
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Ignore all Git auto CR/LF line endings conversions
2+
* -text
3+
pyproject.toml export-subst

.gitignore

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Python compiled files
12
*.py[cod]
23

34
# virtualenv and other misc bits
@@ -16,12 +17,15 @@
1617
/Include
1718
/local
1819
*/local/*
20+
/local/
21+
/share/
22+
/tcl/
23+
/.eggs/
1924

2025
# Installer logs
2126
pip-log.txt
2227

2328
# Unit test / coverage reports
24-
.tox
2529
.cache
2630
.coverage
2731
.coverage.*
@@ -36,10 +40,19 @@ htmlcov
3640
.pydevproject
3741
.idea
3842
org.eclipse.core.resources.prefs
43+
.vscode
44+
.vs
3945

4046
# Sphinx
4147
docs/_build
48+
docs/bin
49+
docs/build
50+
docs/include
51+
docs/Lib
52+
doc/pyvenv.cfg
53+
pyvenv.cfg
4254

55+
# Various junk and temp files
4356
.DS_Store
4457
*~
4558
.*.sw[po]
@@ -48,6 +61,13 @@ docs/_build
4861
*.bak
4962
/.cache/
5063

51-
/share/
52-
/local/
64+
# pyenv
65+
/.python-version
66+
/man/
5367
/.pytest_cache/
68+
lib64
69+
tcl
70+
71+
# Ignore Jupyter Notebook related temp files
72+
.ipynb_checkpoints/
73+
/.tox/

.readthedocs.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# .readthedocs.yml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Where the Sphinx conf.py file is located
9+
sphinx:
10+
configuration: docs/source/conf.py
11+
12+
# Setting the python version and doc build requirements
13+
python:
14+
install:
15+
- method: pip
16+
path: .
17+
extra_requirements:
18+
- docs

.travis.yml

Lines changed: 17 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,22 @@
1-
matrix:
2-
include:
3-
- os: osx
4-
env:
5-
- PYTHON="3.6.8"
6-
- TEST_SUITE="bin/py.test -vvs"
7-
language: generic
8-
python:
1+
# This is a skeleton Travis CI config file that provides a starting point for adding CI
2+
# to a Python project. Since we primarily develop in python3, this skeleton config file
3+
# will be specific to that language.
4+
#
5+
# See https://config.travis-ci.com/ for a full list of configuration options.
96

10-
- os: osx
11-
env:
12-
- PYTHON="2.7.15"
13-
- TEST_SUITE="bin/py.test -vvs"
14-
language: generic
15-
python:
7+
os: linux
168

17-
- os: linux
18-
sudo: required
19-
env: TEST_SUITE="bin/py.test -vvs"
20-
language: python
21-
python: "2.7"
22-
dist: xenial
23-
24-
- os: linux
25-
sudo: required
26-
env: TEST_SUITE="bin/py.test -vvs"
27-
language: python
28-
python: "2.7"
29-
dist: bionic
30-
31-
- os: linux
32-
sudo: required
33-
env: TEST_SUITE="bin/py.test -vvs"
34-
language: python
35-
python: "3.6"
36-
dist: xenial
37-
38-
- os: linux
39-
sudo: required
40-
env: TEST_SUITE="bin/py.test -vvs"
41-
language: python
42-
python: "3.6"
43-
dist: bionic
9+
dist: xenial
4410

45-
addons:
46-
homebrew:
47-
packages:
48-
- openssl
49-
- readline
50-
- sqlite3
51-
- xz
52-
- zlib
53-
- pyenv
54-
update: true
11+
language: python
12+
python:
13+
- "3.6"
14+
- "3.7"
15+
- "3.8"
16+
- "3.9"
5517

56-
install:
57-
- ./configure
18+
# Scripts to run at install stage
19+
install: ./configure --dev
5820

59-
script:
60-
# If debugging, use a subset of tests to wait less:
61-
# - ./bin/py.test -n 2 -vvs --cov=src tests/scancode
62-
# - echo $TEST_SUITE
63-
- bin/about check --verbose .
64-
- $TEST_SUITE
65-
66-
notifications:
67-
irc:
68-
channels:
69-
- "chat.freenode.net#aboutcode"
70-
on_success: change
71-
on_failure: always
72-
use_notice: true
73-
skip_join: true
74-
template:
75-
- "%{repository_slug}#%{build_number} (%{branch}-%{commit}:%{author})-%{message}- %{build_url}"
21+
# Scripts to run at script stage
22+
script: tmp/bin/pytest

AUTHORS.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,8 @@ The following organizations or individuals have contributed to this code:
44
- Philippe Ombredanne @pombredanne
55
- Thomas Druez @tdruez
66
- Carmen Bianca Bakker @carmenbianca
7+
- Chin-Yeung Li @chinyeungli
8+
- Steven Esser @majurg
9+
- Sebastian Schuberth @sschuberth
10+
- Max Mehl @mxmehl
11+
- Peter Kolbus @pkolbus

CHANGELOG.rst

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
11
Changelog
22
=========
3-
All notable changes to this project will be documented in this file.
4-
5-
The format is based on `Keep a
6-
Changelog <https://keepachangelog.com/en/1.0.0/>`__
73

84
[Unreleased]
95
------------
106

7+
8+
9+
[2.0] - 2021-06-04
10+
------------------
11+
12+
Added
13+
~~~~~
14+
- Add ability to simplify license expressions without over simplifying by not
15+
using using boolean logic.
16+
17+
Changed
18+
~~~~~~~
19+
- Drop support for python27
20+
- Adopt the skeleton from https://github.com/nexB/skeleton
21+
22+
1123
[1.2] - 2019-11-14
1224
------------------
1325
Added
@@ -22,6 +34,7 @@ Changed
2234
~~~~~~~
2335
- Update the thirdparty directory structure.
2436

37+
2538
[1.0] - 2019-10-16
2639
------------------
2740
Added
@@ -33,6 +46,7 @@ Changed
3346
~~~~~~~
3447
- updated travis CI settings
3548

49+
3650
[0.999] - 2019-04-29
3751
--------------------
3852
- Initial release

MANIFEST.in

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
graft src
2-
graft etc
3-
graft tests
42

5-
prune src/license_expression.egg-info
6-
7-
include README.rst
8-
include apache-2.0.LICENSE
3+
include *.LICENSE
94
include NOTICE
10-
include MANIFEST.in
11-
include setup.py
12-
include setup.cfg
13-
include .gitignore
14-
include configure
15-
include configure.bat
16-
17-
include .travis.yml appveyor.yml
5+
include *.ABOUT
6+
include *.toml
7+
include *.yml
8+
include *.rst
9+
include setup.*
10+
include configure*
11+
include requirements*
12+
include .git*
1813

1914
global-exclude *.py[co] __pycache__ *.*~
15+

NOTICE

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
1-
Software license
2-
================
3-
4-
license-expression is a free software tool from nexB Inc. and others.
5-
Visit https://github.com/nexB/license-expression for support and download.
6-
7-
Copyright (c) 2016 nexB Inc. and others. All rights reserved.
8-
http://nexb.com and http://aboutcode.org
9-
10-
This software is licensed under the Apache License version 2.0.
11-
12-
You may not use this software except in compliance with the License.
13-
You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0
14-
Unless required by applicable law or agreed to in writing, software distributed
15-
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
16-
CONDITIONS OF ANY KIND, either express or implied. See the License for the
17-
specific language governing permissions and limitations under the License.
18-
19-
20-
Third-party software licenses
21-
=============================
22-
23-
license-expression embeds third-party free and open source software packages under
24-
various licenses. The origin and license of these packages is documented by .ABOUT
25-
files. The corresponding source code for pre-compiled third-party software is
26-
available in the thirdparty directory.
1+
#
2+
# Copyright (c) nexB Inc. and others.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
# Visit https://aboutcode.org and https://github.com/nexB/license-expression
6+
# for support and download.
7+
#
8+
# Licensed under the Apache License, Version 2.0 (the "License");
9+
# you may not use this file except in compliance with the License.
10+
# You may obtain a copy of the License at
11+
#
12+
# http://www.apache.org/licenses/LICENSE-2.0
13+
#
14+
# Unless required by applicable law or agreed to in writing, software
15+
# distributed under the License is distributed on an "AS IS" BASIS,
16+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17+
# See the License for the specific language governing permissions and
18+
# limitations under the License.
19+
#

README.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
license-expression
33
==================
44

5-
license-expression is a small utility library to parse, compare, simplify and normalize
6-
license expressions (e.g. SPDX license expressions) using boolean logic such as:
7-
`GPL-2.0 or later WITH Classpath Exception AND MIT`.
5+
license-expression is a comprehensive utility library to parse, compare,
6+
simplify and normalize license expressions (such as SPDX license expressions)
7+
using boolean logic like in: `GPL-2.0 or later WITH Classpath Exception AND MIT`.
88

99
See also for details:
1010
https://spdx.org/sites/cpstandard/files/pages/files/spdxversion2.1.pdf#page=95&zoom=auto
1111

1212
license: apache-2.0
1313

14-
Python: 2.7 and 3.5+
14+
Python: 3.6+
1515

1616
Build and tests status
1717
======================
@@ -135,6 +135,7 @@ Development
135135
===========
136136

137137
* Checkout a clone from https://github.com/nexB/license-expression.git
138-
* Then run ``./configure`` (or ``configure.bat``) and then ``source bin/activate``. This will
139-
install all vendored dependencies in a local virtualenv, including development deps.
138+
* Then run ``./configure`` (or ``configure.bat``) and then ``source bin/activate``.
139+
This will install all vendored dependencies in a local virtualenv, including
140+
development deps.
140141
* To run the tests, run ``py.test -vvs``

apache-2.0.LICENSE

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,3 +174,31 @@
174174
of your accepting any such warranty or additional liability.
175175

176176
END OF TERMS AND CONDITIONS
177+
<<<<<<< HEAD
178+
=======
179+
180+
APPENDIX: How to apply the Apache License to your work.
181+
182+
To apply the Apache License to your work, attach the following
183+
boilerplate notice, with the fields enclosed by brackets "[]"
184+
replaced with your own identifying information. (Don't include
185+
the brackets!) The text should be enclosed in the appropriate
186+
comment syntax for the file format. We also recommend that a
187+
file or class name and description of purpose be included on the
188+
same "printed page" as the copyright notice for easier
189+
identification within third-party archives.
190+
191+
Copyright [yyyy] [name of copyright owner]
192+
193+
Licensed under the Apache License, Version 2.0 (the "License");
194+
you may not use this file except in compliance with the License.
195+
You may obtain a copy of the License at
196+
197+
http://www.apache.org/licenses/LICENSE-2.0
198+
199+
Unless required by applicable law or agreed to in writing, software
200+
distributed under the License is distributed on an "AS IS" BASIS,
201+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
202+
See the License for the specific language governing permissions and
203+
limitations under the License.
204+
>>>>>>> refs/remotes/skeleton/main

0 commit comments

Comments
 (0)