avro
avro copied to clipboard
AVRO-2955: Avro-C: Support all Visual Studio versions from 2010 to 2019
AVRO-2955: Avro-C: Support all Visual Studio versions from 2010 to 2019
Fix compiling using Visual Studio 2010|2013|2015|2017|2019. Fix building using either cmake/ninja or cmake/visualstudio. Fix testing using cmake/ninja. Improve Windows compatibility. All existing tests passed using all Visual Studio versions mentioned.
Make sure you have checked all steps below.
Jira
- [X] My PR addresses the following Avro Jira issues and references them in the PR title. For example, "AVRO-1234: My Avro PR"
- https://issues.apache.org/jira/browse/AVRO-2955
- In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy. *** Imported a couple of files (getopt.h/getopt_long.c) from FreeBSD with modification for Windows. BSD licensed sources should be compatible with the license here.
Tests
- [X] My PR adds the following unit tests OR does not need testing for this extremely good reason: *** No new functionality added. All existing tests passed.
Commits
- [X] My commits all reference Jira issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":
- Subject is separated from body by a blank line
- Subject is limited to 50 characters (not including Jira issue reference)
- Subject does not end with a period
- Subject uses the imperative mood ("add", not "adding")
- Body wraps at 72 characters
- Body explains "what" and "why", not "how"
Documentation
- [X] In case of new functionality, my PR adds documentation that describes how to use it.
- All the public functions and the classes in the PR contain Javadoc that explain what it does *** No new functionality added.
@kiyolee The PR is messed up somehow. It contains many unrelated commits. Also the following files have no licence headers:
- lang/c/src/getopt/getopt.h
- lang/c/src/getopt/getopt_long.c
@martin-g Didn't aware the last pull rebase was messed up. Now fixed. The following files are originated from FreeBSD and modified to work with MSVC:
- lang/c/src/getopt/getopt.h
- lang/c/src/getopt/getopt_long.c
The license per file does exist and are kept unchanged. What have I missed?
The license per file does exist and are kept unchanged. What have I missed?
The RAT test fails because the new files do not have the ASLv2 license. Since you are copying files from elsewhere we need to add an entry to the NOTICE file about that.
❌ Deploy Preview for avro-website-preview failed.
🔨 Explore the source changes: 8c926e11ce9aba5732365b717c5df7f7da41f090
🔍 Inspect the deploy log: https://app.netlify.com/sites/avro-website-preview/deploys/6206759aa1fb7b00077d0121