Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial implementation of issue 141 #145

Merged
merged 15 commits into from
Jan 24, 2023
Merged

Initial implementation of issue 141 #145

merged 15 commits into from
Jan 24, 2023

Conversation

pmonks
Copy link
Collaborator

@pmonks pmonks commented Jan 24, 2023

This is an initial implementation of issue #141 (add support for multi-license texts to license comparison logic).

int endIndex = -1;
List<String> nonOptionalText = null;
try {
nonOptionalText = getNonOptionalLicenseText(license.getStandardLicenseTemplate(), true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

15% of developers fix this issue

NULL_DEREFERENCE: object returned by license.getStandardLicenseTemplate() could be null and is dereferenced by call to getNonOptionalLicenseText(...) at line 858.


ℹ️ Learn about @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Was this a good recommendation?
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

@sonatype-lift
Copy link
Contributor

sonatype-lift bot commented Jan 24, 2023

🛠 Lift Auto-fix

Some of the Lift findings in this PR can be automatically fixed. You can download and apply these changes in your local project directory of your branch to review the suggestions before committing.1

# Download the patch
curl https://lift.sonatype.com/api/patch/github.com/spdx/Spdx-Java-Library/145.diff -o lift-autofixes.diff

# Apply the patch with git
git apply lift-autofixes.diff

# Review the changes
git diff

Want it all in a single command? Open a terminal in your project's directory and copy and paste the following command:

curl https://lift.sonatype.com/api/patch/github.com/spdx/Spdx-Java-Library/145.diff | git apply

Once you're satisfied commit and push your changes in your project.

Footnotes

  1. You can preview the patch by opening the patch URL in the browser.

@goneall
Copy link
Member

goneall commented Jan 24, 2023

Thanks @pmonks - Could you sign-off your commits - or you could also just add add a comment to this PR that you agree to the licensing section of the CONTRIBUTING.md file: https://github.com/spdx/Spdx-Java-Library/blob/master/CONTRIBUTING.md#licensing

Also - one of the checks in the CI is complaining about a possible null pointer exception - on line

nonOptionalText = getNonOptionalLicenseText(license.getStandardLicenseTemplate(), true);

An easy fix would be to add a check at the beginning of the method - something like:

	public static boolean isStandardLicenseWithinText(String text, SpdxListedLicense license) {
               if (license == null || if text == null) {
                    return false;
                 }
		// Get match status
		boolean result = false;
		int startIndex = -1;

If you want to add that to the PR, that would be great.

Signed-off-by: Peter Monks <pmonks@gmail.com>
@pmonks
Copy link
Collaborator Author

pmonks commented Jan 24, 2023

@goneall I fixed the linter issue, and signed that final commit as well. I held off on rebasing all of my earlier commits to sign them, as I've been merging from master as you worked there in parallel, and didn't want to accidentally sign your interleaved commits (git makes this kind of thing way too difficult / error-prone, but I digress...).

Regardless, I assert here that all of my earlier commits were developed personally by me, and that they meet the requirements of CONTRIBUTING.md#licensing.

@pmonks
Copy link
Collaborator Author

pmonks commented Jan 24, 2023

@goneall Note that the "1 new bug" detected by @sonatype-lift for rev 99c365a is a false positive. license cannot be null on line 863 because of the guard on line 858.

@goneall
Copy link
Member

goneall commented Jan 24, 2023

Thanks @pmonks - I'll go ahead and merge this in.

BTW - I run into similar false positives on the linter from time to time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants