mirror of
https://github.com/zxing/zxing.git
synced 2025-03-05 20:48:51 -08:00
Various code tweaks, action updates, dep updates
This commit is contained in:
parent
fa19d4758f
commit
0ea0ecddc5
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
|
@ -28,14 +28,14 @@ However, bug reports with a pull request are likely to be merged promptly.
|
||||||
Please search previous issues for an answer before opening a pull request. A few common ones
|
Please search previous issues for an answer before opening a pull request. A few common ones
|
||||||
are listed here.
|
are listed here.
|
||||||
|
|
||||||
### I get a compilation error.
|
### I get a compilation error
|
||||||
|
|
||||||
While you can check the build status on Github to confirm,
|
While you can check the build status on Github to confirm,
|
||||||
the project correctly builds and passes tests at all times.
|
the project correctly builds and passes tests at all times.
|
||||||
90% of the time it's due to using an old version of Java. Version 3.4+ require Java 8.
|
90% of the time it's due to using an old version of Java. Version 3.4+ require Java 8.
|
||||||
Use earlier versions with Java 7 and earlier.
|
Use earlier versions with Java 7 and earlier.
|
||||||
|
|
||||||
### This barcode doesn't decode.
|
### This barcode doesn't decode
|
||||||
|
|
||||||
Not all images will decode. All else equal, more is better, but this is not accepted as a bug
|
Not all images will decode. All else equal, more is better, but this is not accepted as a bug
|
||||||
report. A pull request that makes changes to make the barcode decode without decreasing the net
|
report. A pull request that makes changes to make the barcode decode without decreasing the net
|
||||||
|
|
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
|
@ -36,11 +36,11 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v2
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
|
@ -51,7 +51,7 @@ jobs:
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v1
|
uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
|
@ -65,4 +65,4 @@ jobs:
|
||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v2
|
||||||
|
|
2
.github/workflows/test_java_17.yml
vendored
2
.github/workflows/test_java_17.yml
vendored
|
@ -12,7 +12,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v2
|
uses: actions/setup-java@v2
|
||||||
with:
|
with:
|
||||||
|
|
2
.github/workflows/test_java_8_android.yml
vendored
2
.github/workflows/test_java_8_android.yml
vendored
|
@ -15,7 +15,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: Set up Android SDK
|
- name: Set up Android SDK
|
||||||
run: if [ ! -d /tmp/android-sdk-linux/platforms ]; then curl -s https://storage.googleapis.com/zxing-build/android-sdk-linux.tar.bz2 | bunzip2 | tar xf - -C /tmp; else ls -l /tmp/android-sdk-linux; fi
|
run: if [ ! -d /tmp/android-sdk-linux/platforms ]; then curl -s https://storage.googleapis.com/zxing-build/android-sdk-linux.tar.bz2 | bunzip2 | tar xf - -C /tmp; else ls -l /tmp/android-sdk-linux; fi
|
||||||
- name: Set up JDK 8
|
- name: Set up JDK 8
|
||||||
|
|
|
@ -70,7 +70,6 @@ library implemented in Java, with ports to other languages.
|
||||||
| [pyzxing](https://github.com/ChenjieXu/pyzxing) | Python wrapper to ZXing library
|
| [pyzxing](https://github.com/ChenjieXu/pyzxing) | Python wrapper to ZXing library
|
||||||
| [zxing-dart](https://github.com/shirne/zxing-dart) | Port to dart
|
| [zxing-dart](https://github.com/shirne/zxing-dart) | Port to dart
|
||||||
|
|
||||||
|
|
||||||
### Other related third-party open source projects
|
### Other related third-party open source projects
|
||||||
|
|
||||||
| Module | Description
|
| Module | Description
|
||||||
|
@ -94,9 +93,8 @@ on StackOverflow](https://stackoverflow.com/questions/tagged/zxing).
|
||||||
|
|
||||||
## Etcetera
|
## Etcetera
|
||||||
|
|
||||||
[](https://scan.coverity.com/projects/1924)
|
[](https://codecov.io/gh/zxing/zxing)
|
||||||
[](https://codecov.io/github/zxing/zxing?branch=master)
|
[](https://www.codacy.com/gh/zxing/zxing/dashboard?utm_source=github.com&utm_medium=referral&utm_content=zxing/zxing&utm_campaign=Badge_Grade)
|
||||||
[](https://www.codacy.com/app/srowen/zxing?utm_source=github.com&utm_medium=referral&utm_content=zxing/zxing&utm_campaign=Badge_Grade)
|
|
||||||
|
|
||||||
QR code is trademarked by Denso Wave, inc. Thanks to Haase & Martin OHG for contributing the logo.
|
QR code is trademarked by Denso Wave, inc. Thanks to Haase & Martin OHG for contributing the logo.
|
||||||
|
|
||||||
|
|
|
@ -290,7 +290,7 @@ public class MinimalECIInput implements ECIInput {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (minimalJ < 0) {
|
if (minimalJ < 0) {
|
||||||
throw new RuntimeException("Internal error: failed to encode \"" + stringToEncode + "\"");
|
throw new IllegalStateException("Failed to encode \"" + stringToEncode + "\"");
|
||||||
}
|
}
|
||||||
List<Integer> intsAL = new ArrayList<>();
|
List<Integer> intsAL = new ArrayList<>();
|
||||||
InputEdge current = edges[inputLength][minimalJ];
|
InputEdge current = edges[inputLength][minimalJ];
|
||||||
|
|
|
@ -64,11 +64,13 @@ public final class StringUtils {
|
||||||
*/
|
*/
|
||||||
public static String guessEncoding(byte[] bytes, Map<DecodeHintType,?> hints) {
|
public static String guessEncoding(byte[] bytes, Map<DecodeHintType,?> hints) {
|
||||||
Charset c = guessCharset(bytes, hints);
|
Charset c = guessCharset(bytes, hints);
|
||||||
if (c == SHIFT_JIS_CHARSET) {
|
if (c.equals(SHIFT_JIS_CHARSET)) {
|
||||||
return "SJIS";
|
return "SJIS";
|
||||||
} else if (c == StandardCharsets.UTF_8) {
|
}
|
||||||
|
if (c.equals(StandardCharsets.UTF_8)) {
|
||||||
return "UTF8";
|
return "UTF8";
|
||||||
} else if (c == StandardCharsets.ISO_8859_1) {
|
}
|
||||||
|
if (c.equals(StandardCharsets.ISO_8859_1)) {
|
||||||
return "ISO8859_1";
|
return "ISO8859_1";
|
||||||
}
|
}
|
||||||
return c.name();
|
return c.name();
|
||||||
|
|
|
@ -472,7 +472,7 @@ public final class MinimalEncoder {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (minimalJ < 0) {
|
if (minimalJ < 0) {
|
||||||
throw new RuntimeException("Internal error: failed to encode \"" + input + "\"");
|
throw new IllegalStateException("Failed to encode \"" + input + "\"");
|
||||||
}
|
}
|
||||||
return new Result(edges[inputLength][minimalJ]);
|
return new Result(edges[inputLength][minimalJ]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -435,8 +435,8 @@ public final class Code128Writer extends OneDimensionalCodeWriter {
|
||||||
patternIndex = CODE_FNC_3;
|
patternIndex = CODE_FNC_3;
|
||||||
break;
|
break;
|
||||||
case ESCAPE_FNC_4:
|
case ESCAPE_FNC_4:
|
||||||
if ((charset == Charset.A && latch != Latch.SHIFT) ||
|
if (charset == Charset.A && latch != Latch.SHIFT ||
|
||||||
(charset == Charset.B && latch == Latch.SHIFT)) {
|
charset == Charset.B && latch == Latch.SHIFT) {
|
||||||
patternIndex = CODE_FNC_4_A;
|
patternIndex = CODE_FNC_4_A;
|
||||||
} else {
|
} else {
|
||||||
patternIndex = CODE_FNC_4_B;
|
patternIndex = CODE_FNC_4_B;
|
||||||
|
@ -445,12 +445,11 @@ public final class Code128Writer extends OneDimensionalCodeWriter {
|
||||||
default:
|
default:
|
||||||
patternIndex = contents.charAt(i) - ' ';
|
patternIndex = contents.charAt(i) - ' ';
|
||||||
}
|
}
|
||||||
if ((charset == Charset.A && latch != Latch.SHIFT) ||
|
if ((charset == Charset.A && latch != Latch.SHIFT ||
|
||||||
(charset == Charset.B && latch == Latch.SHIFT)) {
|
charset == Charset.B && latch == Latch.SHIFT) &&
|
||||||
if (patternIndex < 0) {
|
patternIndex < 0) {
|
||||||
patternIndex += '`';
|
patternIndex += '`';
|
||||||
}
|
}
|
||||||
}
|
|
||||||
addPattern(patterns, patternIndex, checkSum, checkWeight, i);
|
addPattern(patterns, patternIndex, checkSum, checkWeight, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -244,13 +244,13 @@ public final class PDF417ScanningDecoder {
|
||||||
throw NotFoundException.getNotFoundInstance();
|
throw NotFoundException.getNotFoundInstance();
|
||||||
}
|
}
|
||||||
barcodeMatrix01.setValue(calculatedNumberOfCodewords);
|
barcodeMatrix01.setValue(calculatedNumberOfCodewords);
|
||||||
} else if (numberOfCodewords[0] != calculatedNumberOfCodewords) {
|
} else if (numberOfCodewords[0] != calculatedNumberOfCodewords &&
|
||||||
if (calculatedNumberOfCodewords >= 1 && calculatedNumberOfCodewords <= PDF417Common.MAX_CODEWORDS_IN_BARCODE) {
|
calculatedNumberOfCodewords >= 1 &&
|
||||||
|
calculatedNumberOfCodewords <= PDF417Common.MAX_CODEWORDS_IN_BARCODE) {
|
||||||
// The calculated one is more reliable as it is derived from the row indicator columns
|
// The calculated one is more reliable as it is derived from the row indicator columns
|
||||||
barcodeMatrix01.setValue(calculatedNumberOfCodewords);
|
barcodeMatrix01.setValue(calculatedNumberOfCodewords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private static DecoderResult createDecoderResult(DetectionResult detectionResult) throws FormatException,
|
private static DecoderResult createDecoderResult(DetectionResult detectionResult) throws FormatException,
|
||||||
ChecksumException, NotFoundException {
|
ChecksumException, NotFoundException {
|
||||||
|
|
|
@ -370,13 +370,13 @@ final class PDF417HighLevelEncoder {
|
||||||
tmp.append((char) 27); //ll
|
tmp.append((char) 27); //ll
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
if (startpos + idx + 1 < count) {
|
if (startpos + idx + 1 < count &&
|
||||||
if (!input.isECI(startpos + idx + 1) && isPunctuation(input.charAt(startpos + idx + 1))) {
|
!input.isECI(startpos + idx + 1) &&
|
||||||
|
isPunctuation(input.charAt(startpos + idx + 1))) {
|
||||||
submode = SUBMODE_PUNCTUATION;
|
submode = SUBMODE_PUNCTUATION;
|
||||||
tmp.append((char) 25); //pl
|
tmp.append((char) 25); //pl
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
tmp.append((char) 29); //ps
|
tmp.append((char) 29); //ps
|
||||||
tmp.append((char) PUNCTUATION[ch]);
|
tmp.append((char) PUNCTUATION[ch]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,7 +235,6 @@ public final class BitMatrixTestCase extends Assert {
|
||||||
fullMatrix.setRegion(0, 0, 3, 3);
|
fullMatrix.setRegion(0, 0, 3, 3);
|
||||||
BitMatrix centerMatrix = new BitMatrix(3, 3);
|
BitMatrix centerMatrix = new BitMatrix(3, 3);
|
||||||
centerMatrix.setRegion(1, 1, 1, 1);
|
centerMatrix.setRegion(1, 1, 1, 1);
|
||||||
BitMatrix emptyMatrix24 = new BitMatrix(2, 4);
|
|
||||||
|
|
||||||
boolean[][] matrix = new boolean[3][3];
|
boolean[][] matrix = new boolean[3][3];
|
||||||
assertEquals(emptyMatrix, BitMatrix.parse(matrix));
|
assertEquals(emptyMatrix, BitMatrix.parse(matrix));
|
||||||
|
|
22
pom.xml
22
pom.xml
|
@ -165,7 +165,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-javadoc-plugin</artifactId>
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||||||
<version>3.4.0</version>
|
<version>3.4.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>${java.version}</source>
|
<source>${java.version}</source>
|
||||||
<quiet>true</quiet>
|
<quiet>true</quiet>
|
||||||
|
@ -204,22 +204,22 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-install-plugin</artifactId>
|
<artifactId>maven-install-plugin</artifactId>
|
||||||
<version>3.0.0-M1</version>
|
<version>3.0.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<version>3.2.0</version>
|
<version>3.3.0</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
<version>3.2.2</version>
|
<version>3.3.0</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
<version>3.4.0</version>
|
<version>3.4.2</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
@ -262,12 +262,12 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-scm-plugin</artifactId>
|
<artifactId>maven-scm-plugin</artifactId>
|
||||||
<version>2.0.0-M1</version>
|
<version>2.0.0-M2</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-deploy-plugin</artifactId>
|
<artifactId>maven-deploy-plugin</artifactId>
|
||||||
<version>3.0.0-M2</version>
|
<version>3.0.0</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
@ -277,7 +277,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-project-info-reports-plugin</artifactId>
|
<artifactId>maven-project-info-reports-plugin</artifactId>
|
||||||
<version>3.3.0</version>
|
<version>3.4.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
@ -385,7 +385,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-site-plugin</artifactId>
|
<artifactId>maven-site-plugin</artifactId>
|
||||||
<version>4.0.0-M2</version>
|
<version>4.0.0-M3</version>
|
||||||
<inherited>false</inherited>
|
<inherited>false</inherited>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
@ -396,7 +396,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||||
<version>3.1.2</version>
|
<version>3.2.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<configLocation>src/checkstyle/checkstyle.xml</configLocation>
|
<configLocation>src/checkstyle/checkstyle.xml</configLocation>
|
||||||
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
||||||
|
@ -421,7 +421,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.rat</groupId>
|
<groupId>org.apache.rat</groupId>
|
||||||
<artifactId>apache-rat-plugin</artifactId>
|
<artifactId>apache-rat-plugin</artifactId>
|
||||||
<version>0.14</version>
|
<version>0.15</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<consoleOutput>true</consoleOutput>
|
<consoleOutput>true</consoleOutput>
|
||||||
<ignoreErrors>true</ignoreErrors>
|
<ignoreErrors>true</ignoreErrors>
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<spring.version>5.3.21</spring.version>
|
<spring.version>5.3.23</spring.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
Loading…
Reference in a new issue