Skip to content

Commit 9a79649

Browse files
grallcdhazendazharawatarenovate[bot]tianshuang
authored
update (#2)
* Update dependency org.javassist:javassist to v3.29.2-GA * Update dependency org.slf4j:slf4j-api to v2.0.1 * Update dependency org.apache.logging.log4j:log4j-api to v2.19.0 * Update dependency org.apache.logging.log4j:log4j-core to v2.19.0 * Update dependency ch.qos.logback:logback-classic to v1.4.1 * [pom] Update project build output timestamp for reproducible builds * [ci] Correct spelling mistake in proxy factory in better way to avoid naming conflict Alternative attempt to mybatis#2692 * [maven-release-plugin] prepare release mybatis-3.5.11 * [maven-release-plugin] prepare for next development iteration * Update dependency org.slf4j:slf4j-api to v2.0.2 * Update junit5 monorepo to v5.9.1 * Referencing collection parameter by name fails ... when the first argument is a special one (i.e. `RowBounds` or `ResultHandler`). fixes mybatis#2693 * Update dependency org.slf4j:slf4j-api to v2.0.3 * Update dependency org.testcontainers:junit-jupiter to v1.17.4 * Update dependency org.testcontainers:mysql to v1.17.4 * Update dependency org.testcontainers:postgresql to v1.17.4 * Fix a race condition caused by other threads calling mapper methods while mappedStatements are being constructed * Update dependency ch.qos.logback:logback-classic to v1.4.2 * Update dependency ch.qos.logback:logback-classic to v1.4.3 * Update dependency org.testcontainers:junit-jupiter to v1.17.5 * Update dependency org.testcontainers:mysql to v1.17.5 * Update dependency org.testcontainers:postgresql to v1.17.5 * Update dependency ch.qos.logback:logback-classic to v1.4.4 * Update dependency org.mockito:mockito-junit-jupiter to v4.8.1 * Update dependency mysql:mysql-connector-java to v8.0.31 * Update dependency org.mockito:mockito-core to v4.8.1 * Enable ability to provide custom configuration to XMLConfigBuilder Supported via the InputStream/Reader constructors Default constructors will keep using a new configuration * A subclassed configuration class can now be passed to allow XMLConfigBuilder to use a specific implementation when creating the configuration * Adding mapper could fail under JPMS Under JPMS, ClassLoader#getResources() throws `FileSystemException` it seems. It might be better to catch IOException, but it could swallow some exception that should be thrown. Should fix mybatis#2598 * Update mockito monorepo to v4.9.0 * Update dependency org.testcontainers:junit-jupiter to v1.17.6 * Update dependency org.testcontainers:mysql to v1.17.6 * Update dependency org.testcontainers:postgresql to v1.17.6 * Update dependency org.slf4j:slf4j-api to v2.0.4 * Update dependency ch.qos.logback:logback-classic to v1.4.5 * Minor correction: boolean can never be null * Added failing tests Some DBs support INSERT, UPDATE or DELETE statement that returns result set. PostgreSQL has RETURNING MS SQL Server has OUTPUT MyBatis can return results by using @select, @SelectProvider or <select />, however, rollback does not work as expected because SELECT does not mark the session 'dirty'. * Added 'affectData' attribute to SELECT statements To indicate the SELECT affects DB data. e.g. PostgreSQL's RETURNING, MS SQL Server's OUTPUT * Update dependency ch.qos.reload4j:reload4j to v1.2.23 * Bump postgresql from 42.5.0 to 42.5.1 Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.5.0 to 42.5.1. - [Release notes](https://github.com/pgjdbc/pgjdbc/releases) - [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md) - [Commits](pgjdbc/pgjdbc@REL42.5.0...REL42.5.1) --- updated-dependencies: - dependency-name: org.postgresql:postgresql dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * Update dependency org.slf4j:slf4j-api to v2.0.5 * Documentation * selectCursor() should respect affectData as well * Update dependency ch.qos.reload4j:reload4j to v1.2.24 * Missing entry in es and ko doc [ci skip] * Awful typo [ci skip] * [pom] Update mysql-connector-j to new GAV relocation * [ci] Use charset with filewriter * [pom] Add filter to exclude MANIFEST.MF from uber jar from other jars (using ours) clears warning and behaviour is the same. * Update dependency org.slf4j:slf4j-api to v2.0.6 * Update mockito monorepo to v4.10.0 * Avoid false-negative * Update mockito monorepo to v4.11.0 * Update dependency org.mybatis:mybatis-parent to v37 * Resolve resultType by namespace and id when not provide resultType and resultMap * [actions] Drop jdk 18 * Minor refactoring, more tests * Update dependency org.assertj:assertj-core to v3.24.1 * Update junit5 monorepo to v5.9.2 * Update mockito monorepo to v5 * Update dependency org.assertj:assertj-core to v3.24.2 * Update dependency com.mysql:mysql-connector-j to v8.0.32 * Update dependency maven to v3.8.7 * Include JDK 21 (EA at this point) in CI build * [pom] Add mockito subclass support some of our tests need the legacy style support that mockito made available. We should look at those in longer term to get on fact that inline is now the default as per mockito we will likely have other issues. * Update mockito monorepo to v5.1.0 * Update mockito monorepo to v5.1.1 * Update dependency org.postgresql:postgresql to v42.5.2 * [ci] Type the array lists * Update dependency org.postgresql:postgresql to v42.5.3 * [ci] Sort imports * [ci] Run partial formatting * [ci] Update copyright dates * [ci] Remove extra /p as not required in the javadoc * [ci] formatting * [ci] Update copyright dates * [ci] formatting * [ci] Update copyright date * [ci] formatting * [ci] Formatting * [ci] formatting * [ci] formatting * [ci] formatting * [ci] formatting * [ci] Add note about formatting to readme * [ci] Try adjusting formatting on readme * [pom] For pre jdk 16 skip impsort * [ci] Fix readme for formatter tags * [mvn] Bump to maven 3.9.0 and change maven.config to 3.9/4.x style * Search readable property when resolving constructor arg type Should fix mybatis#2803 * Update test code to clarify the consequence * Update dependency org.postgresql:postgresql to v42.5.4 * Add Unit Test for PooledDataSource * Using cursor causes OOM mybatis#2812 * [ci] Minor formatting adjustments * [ci] Import sort new test class * [ci] Fix end of line markers at end of file per git standards (ie empty last line) * [ci] Apply open rewrite partially on java cleanup * [ci] Add private constructors to classes that cannot be instantiated (all static) * [test] Remove dumb test - not valid now as class is static and should not have been instantiated * [test] Remove invalid extension of class for testing * [ci] Tabs to spaces * [ci] Add final where appropriate per open rewrite relaxed some of its suggestions but generally took most. * [pom] Move surefire configuration to parent and make properties more readable * [pom] Update surefire property usage to non deprecated values * [ci] Adjust argument * [ci] Show active profiles being used * [actions] Drop usage of ci only tests group as unnecessary / directly set excludedGroups profile is not needed. All we are doing is setting a property. * [actions] Run all tests for ubuntu jdk 11 using arglines * [pom] Add comment on how to disable excluded groups runs * [pom] Add another comment around excluded groups * [ci] Add readme that describes how our testing works * [ci] Do not use star imports (across test classes) * [ci] Use diamond operators (test classes) squash with diamond * [ci] Add missing seial version uid at 1L (throughout tests) * [ci] Use mockito argument matchers instead of deprecated logic * [ci] Use 'L' instead of 'l' for long * [ci] Remove new of primative as known * [ci] Remove super as no super to call * [ci] More direct returns to save on GC * [ci] Various small items cleaning up assignments * [ci] Better parsing wrapper classes * [ci] Remove public from methods in interfaces * [ci] Formatting / update copyright dates * [ci] Add missing overrides * [ci] Various small cleanups * [ci] Use objects class for hash, equals usage * [ci] Cleanup if statement breaks / return logic * [ci] Remove unnecessary super calls * [ci] Make static classes 'static' * [ci] Remove unnecessary parentheses and allow quicker exit * [ci] Add missing serial version uid as 1L * [ci] Use diamond operator * [ci] Remove named wrapper of list as type given already * [ci] Remove unused variable from internal method * [ci] Smarter list creation * [ci] Update copyright dates * [ci] Add back type as not until jdk 9 can this be determined * Add resultOrdered="true" and change expected cursor's nestedResultObjects size to be less than 3 * Update dependency org.apache.logging.log4j:log4j-api to v2.20.0 * Update dependency org.apache.logging.log4j:log4j-core to v2.20.0 * Use CountDownLatch to coordinate the execution order * [pom] Add some comments in the pom for clarity * [pom] Remove compiler test compiler argument parameters as not needed now * [maven-release-plugin] prepare release mybatis-3.5.12 * [maven-release-plugin] prepare for next development iteration * [ci] Add release backup to gitignore * [fix] Change formatter around javadoc to retain L&F and correct javadoc error * [maven-release-plugin] prepare release mybatis-3.5.12 * [maven-release-plugin] prepare for next development iteration * fix Chinese translation error for `parameterType` --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Jeremy Landis <[email protected]> Co-authored-by: Iwao AVE! <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: tianshuang <[email protected]> Co-authored-by: Willie Scholtz <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: FlyInWind <[email protected]> Co-authored-by: hogimn <[email protected]> Co-authored-by: gallyamb <[email protected]> Co-authored-by: puppylpg <[email protected]>
1 parent 369ab2b commit 9a79649

File tree

1,290 files changed

+12101
-9311
lines changed

Some content is hidden

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

1,290 files changed

+12101
-9311
lines changed

.gitattributes

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# Set default behaviour, in case users don't have core.autocrlf set.
2-
* text=auto
2+
* text=auto

.github/workflows/ci.yaml

+7-21
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,3 @@
1-
#
2-
# Copyright 2009-2021 the original author or authors.
3-
#
4-
# Licensed under the Apache License, Version 2.0 (the "License");
5-
# you may not use this file except in compliance with the License.
6-
# You may obtain a copy of the License at
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
12-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
# See the License for the specific language governing permissions and
14-
# limitations under the License.
15-
#
16-
171
name: Java CI
182

193
on: [push, pull_request]
@@ -24,7 +8,7 @@ jobs:
248
strategy:
259
matrix:
2610
os: [ubuntu-latest, macOS-latest, windows-latest]
27-
java: [11, 17, 18, 19, 20]
11+
java: [11, 17, 19, 20, 21]
2812
distribution: ['zulu']
2913
fail-fast: false
3014
max-parallel: 4
@@ -56,18 +40,20 @@ jobs:
5640
- name: Set argLine command line option
5741
if: ${{ matrix.java == '11' }}
5842
run: echo 'ARG_LINE=-D"argLine=--illegal-access=permit"' >> $GITHUB_ENV
43+
- name: Run all tests
44+
if: ${{ matrix.os == 'ubuntu-latest' && matrix.java == '11' }}
45+
run: echo 'ARG_LINE=-D"excludedGroups="' >> $GITHUB_ENV
5946
- name: Skip tests that require illegal reflective access
6047
if: ${{ matrix.os == 'ubuntu-latest' && matrix.java != '11' }}
6148
run: echo 'ARG_LINE=-D"excludedGroups=RequireIllegalAccess"' >> $GITHUB_ENV
6249
- name: Skip tests that require illegal reflective access
6350
if: ${{ matrix.os != 'ubuntu-latest' && matrix.java != '11' }}
6451
run: echo 'ARG_LINE=-D"excludedGroups=TestcontainersTests,RequireIllegalAccess"' >> $GITHUB_ENV
65-
- name: Set env command line option
66-
if: ${{ matrix.os == 'ubuntu-latest' }}
67-
run: echo 'ENV_GITHUB="-Denv.GITHUB"' >> $GITHUB_ENV
52+
- name: Active Profiles
53+
run: ./mvnw help:active-profiles
6854
- name: Test with Maven
6955
if: ${{ matrix.os != 'windows-latest' }}
70-
run: ./mvnw test -B -D"license.skip=true" -D"jacoco.skip=true" $ENV_GITHUB $ARG_LINE
56+
run: ./mvnw test -B -D"license.skip=true" -D"jacoco.skip=true" $ARG_LINE
7157
- name: Test with Maven
7258
if: ${{ matrix.os == 'windows-latest' && matrix.java == '11' }}
7359
run: ./mvnw test -B -D"license.skip=true" -D"jacoco.skip=true" -D"argLine=--illegal-access=permit"

.github/workflows/coveralls.yaml

-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,3 @@
1-
#
2-
# Copyright 2009-2021 the original author or authors.
3-
#
4-
# Licensed under the Apache License, Version 2.0 (the "License");
5-
# you may not use this file except in compliance with the License.
6-
# You may obtain a copy of the License at
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
12-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
# See the License for the specific language governing permissions and
14-
# limitations under the License.
15-
#
16-
171
name: Coveralls
182

193
on: [push, pull_request]

.github/workflows/sonar.yaml

-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,3 @@
1-
#
2-
# Copyright 2009-2020 the original author or authors.
3-
#
4-
# Licensed under the Apache License, Version 2.0 (the "License");
5-
# you may not use this file except in compliance with the License.
6-
# You may obtain a copy of the License at
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
12-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
# See the License for the specific language governing permissions and
14-
# limitations under the License.
15-
#
16-
171
name: SonarCloud
182

193
on:

.github/workflows/sonatype.yaml

-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,3 @@
1-
#
2-
# Copyright 2009-2020 the original author or authors.
3-
#
4-
# Licensed under the Apache License, Version 2.0 (the "License");
5-
# you may not use this file except in compliance with the License.
6-
# You may obtain a copy of the License at
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
12-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
# See the License for the specific language governing permissions and
14-
# limitations under the License.
15-
#
16-
171
name: Sonatype
182

193
on:

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ derby.log
1616
/bin/
1717
.mvn/wrapper/maven-wrapper.jar
1818
.sts4-cache/
19+
*.releaseBackup

.mvn/maven.config

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
-Daether.checksums.algorithms=SHA-512,SHA-256,SHA-1,MD5 --no-transfer-progress
1+
-Daether.checksums.algorithms=SHA-512,SHA-256,SHA-1,MD5
2+
--no-transfer-progress

.mvn/wrapper/MavenWrapperDownloader.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* "License"); you may not use this file except in compliance
88
* with the License. You may obtain a copy of the License at
99
*
10-
* http://www.apache.org/licenses/LICENSE-2.0
10+
* https://www.apache.org/licenses/LICENSE-2.0
1111
*
1212
* Unless required by applicable law or agreed to in writing,
1313
* software distributed under the License is distributed on an

.mvn/wrapper/maven-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
# KIND, either express or implied. See the License for the
1515
# specific language governing permissions and limitations
1616
# under the License.
17-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
17+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.0/apache-maven-3.9.0-bin.zip
1818
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar

CONTRIBUTING.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## If you have a question or need any help...
22

3-
Please use [the mailing list](http://groups.google.com/group/mybatis-user) instead of creating issues on the tracker. Thank you!
3+
Please use [the mailing list](https://groups.google.com/group/mybatis-user) instead of creating issues on the tracker. Thank you!
44

55
## Reporting a bug
66

@@ -9,13 +9,13 @@ Please use [the mailing list](http://groups.google.com/group/mybatis-user) inste
99

1010
## Proposing a new feature
1111

12-
- It is a good idea to discuss your changes on [the mailing list](http://groups.google.com/group/mybatis-user) to get feedback from the community.
12+
- It is a good idea to discuss your changes on [the mailing list](https://groups.google.com/group/mybatis-user) to get feedback from the community.
1313
- If you have a patch with unit tests, send a pull request. Please see the [Contributing code](CONTRIBUTING.md#contributing-code) section.
1414

1515

1616
## Improving documentation
1717

18-
- Documentations are placed under [src/site](https://github.com/mybatis/mybatis-3/tree/master/src/site) directory in [the xdoc format](http://maven.apache.org/doxia/references/xdoc-format.html), so it is basically the same as creating a patch to contribute documentation changes. Please see the [Contributing code](CONTRIBUTING.md#contributing-code) section.
18+
- Documentations are placed under [src/site](https://github.com/mybatis/mybatis-3/tree/master/src/site) directory in [the xdoc format](https://maven.apache.org/doxia/references/xdoc-format.html), so it is basically the same as creating a patch to contribute documentation changes. Please see the [Contributing code](CONTRIBUTING.md#contributing-code) section.
1919

2020
## Contributing code
2121

@@ -34,7 +34,7 @@ Please use [the mailing list](http://groups.google.com/group/mybatis-user) inste
3434
* you may not use this file except in compliance with the License.
3535
* You may obtain a copy of the License at
3636
*
37-
* http://www.apache.org/licenses/LICENSE-2.0
37+
* https://www.apache.org/licenses/LICENSE-2.0
3838
*
3939
* Unless required by applicable law or agreed to in writing, software
4040
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -57,6 +57,6 @@ Here are the steps of a typical workflow.
5757
6. Send a [pull request](https://help.github.com/articles/using-pull-requests).
5858

5959
For steps 1 to 3, please read [this GitHub help](https://help.github.com/articles/fork-a-repo) if you are not familiar with these operations.
60-
Step 4 and 5 are basic [git](http://git-scm.com/) operations. Please see the [online documentation](http://git-scm.com/documentation) for its usage.
60+
Step 4 and 5 are basic [git](https://git-scm.com/) operations. Please see the [online documentation](https://git-scm.com/documentation) for its usage.
6161

6262
For how to write a unit test, please see the [unit test](https://github.com/mybatis/mybatis-3/wiki/Unit-Test) page.

ISSUE_TEMPLATE.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ https://stackoverflow.com/questions/ask?tags=mybatis
88
99
Question?
1010
======================
11-
Please use the mailing list. http://groups.google.com/group/mybatis-user
11+
Please use the mailing list. https://groups.google.com/group/mybatis-user
1212
Or Stack Overflow with 'mybatis' tag. https://stackoverflow.com/questions/ask?tags=mybatis
1313
Questions on this tracker will be closed without comment.
1414
@@ -26,7 +26,7 @@ And we spend a lot of time just trying to reproduce the reported problem, so ple
2626
Feature request?
2727
=======================
2828
- Please delete the BUG REPORT FORM below and describe the feature.
29-
- It is a good idea to discuss your changes on the mailing list to get feedback from the community. http://groups.google.com/group/mybatis-user
29+
- It is a good idea to discuss your changes on the mailing list to get feedback from the community. https://groups.google.com/group/mybatis-user
3030
- If you have a patch with unit tests, send a pull request. Please see the wiki page : https://github.com/mybatis/mybatis-3/wiki/Contribute
3131
-->
3232

LICENSE

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Apache License
22
Version 2.0, January 2004
3-
http://www.apache.org/licenses/
3+
https://www.apache.org/licenses/
44

55
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
66

@@ -192,7 +192,7 @@
192192
you may not use this file except in compliance with the License.
193193
You may obtain a copy of the License at
194194

195-
http://www.apache.org/licenses/LICENSE-2.0
195+
https://www.apache.org/licenses/LICENSE-2.0
196196

197197
Unless required by applicable law or agreed to in writing, software
198198
distributed under the License is distributed on an "AS IS" BASIS,

NOTICE

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
iBATIS
22
This product includes software developed by
3-
The Apache Software Foundation (http://www.apache.org/).
3+
The Apache Software Foundation (https://www.apache.org/).
44

55
Copyright 2010 The Apache Software Foundation
66

77
Licensed under the Apache License, Version 2.0 (the "License");
88
you may not use this file except in compliance with the License.
99
You may obtain a copy of the License at
1010

11-
http://www.apache.org/licenses/LICENSE-2.0
11+
https://www.apache.org/licenses/LICENSE-2.0
1212

1313
Unless required by applicable law or agreed to in writing, software
1414
distributed under the License is distributed on an "AS IS" BASIS,
@@ -59,7 +59,7 @@ Refactored SqlBuilder class (SQL, AbstractSQL)
5959
you may not use this file except in compliance with the License.
6060
You may obtain a copy of the License at
6161

62-
http://www.apache.org/licenses/LICENSE-2.0
62+
https://www.apache.org/licenses/LICENSE-2.0
6363

6464
Unless required by applicable law or agreed to in writing, software
6565
distributed under the License is distributed on an "AS IS" BASIS,

README.md

+53-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ MyBatis SQL Mapper Framework for Java
99
[![Stack Overflow](https://img.shields.io/:stack%20overflow-mybatis-brightgreen.svg)](https://stackoverflow.com/questions/tagged/mybatis)
1010
[![Project Stats](https://www.openhub.net/p/mybatis/widgets/project_thin_badge.gif)](https://www.openhub.net/p/mybatis)
1111

12-
![mybatis](http://mybatis.github.io/images/mybatis-logo.png)
12+
![mybatis](https://mybatis.org/images/mybatis-logo.png)
1313

1414
The MyBatis SQL mapper framework makes it easier to use a relational database with object-oriented applications.
1515
MyBatis couples objects with stored procedures or SQL statements using an XML descriptor or annotations.
@@ -18,6 +18,57 @@ Simplicity is the biggest advantage of the MyBatis data mapper over object relat
1818
Essentials
1919
----------
2020

21-
* [See the docs](http://mybatis.github.io/mybatis-3)
21+
* [See the docs](https://mybatis.org/mybatis-3)
2222
* [Download Latest](https://github.com/mybatis/mybatis-3/releases)
2323
* [Download Snapshot](https://oss.sonatype.org/content/repositories/snapshots/org/mybatis/mybatis/)
24+
25+
Contributions
26+
-------------
27+
28+
Mybatis-core is now being auto formatted. Given nature of some code logic with mybatis, it is more appropriate to force a formatting structure manually for snippets such as sql statements. To do so, add following blocks around code.
29+
30+
- ```// @formatter:off``` to start the block of unformatted code
31+
- ```// @formatter:on``` to end the block of unformatted code
32+
33+
If comment sections need same behaviour such as javadocs, note that the entire block must be around entire comment as direct usage does not properly indicate that formatter treats it all as one comment block regardless.
34+
35+
Tests
36+
-----
37+
38+
Mybatis-3 code runs more expressive testing depending on jdk usage and platform.
39+
40+
By default, we set ```<excludedGroups>TestcontainersTests</excludedGroups>``` which will exclude a subset of tests with @Tag('TestcontainersTests'). Further, if pre jdk 16, we will further exclude record classes from executions further reducing tests.
41+
42+
When using jdk 16+, we adjust the rule to ```<excludedGroups>TestcontainersTests,RequireIllegalAccess</excludedGroups>```.
43+
44+
When we run on ci platform, we further make adjustments as needed. See [here](.github/workflows/ci.yaml) for details.
45+
46+
As of 2/20/2023, using combined system + jdk will result in given number of tests ran. This will change as tests are added or removed over time.
47+
48+
without adjusting settings (ie use as is, platform does not matter)
49+
50+
- any OS + jdk 11 = 1730 tests
51+
- any OS + jdk 17 = 1710 tests
52+
- any OS + jdk 19 = 1710 tests
53+
- any OS + jdk 20 = 1710 tests
54+
- any OS + jdk 21 = 1710 tests
55+
56+
our adjustments for GH actions where platform does matter
57+
58+
- windows + jdk 11 = 1730 tests
59+
- windows + jdk 17 = 1710 tests
60+
- windows + jdk 19 = 1710 tests
61+
- windows + jdk 20 = 1710 tests
62+
- windows + jdk 21 = 1710 tests
63+
64+
- linux + jdk 11 = 1765 tests
65+
- linux + jdk 17 = 1745 tests
66+
- linux + jdk 19 = 1745 tests
67+
- linux + jdk 20 = 1745 tests
68+
- linux + jdk 21 = 1745 tests
69+
70+
- mac + jdk 11 = 1730 tests
71+
- mac + jdk 17 = 1710 tests
72+
- mac + jdk 19 = 1710 tests
73+
- mac + jdk 20 = 1710 tests
74+
- mac + jdk 21 = 1710 tests

format.xml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
4+
Copyright 2009-2023 the original author or authors.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
https://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
-->
19+
<!DOCTYPE Format>
20+
<Format>
21+
<!-- Dummy format file -->
22+
</Format>

mvnw

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# "License"); you may not use this file except in compliance
99
# with the License. You may obtain a copy of the License at
1010
#
11-
# http://www.apache.org/licenses/LICENSE-2.0
11+
# https://www.apache.org/licenses/LICENSE-2.0
1212
#
1313
# Unless required by applicable law or agreed to in writing,
1414
# software distributed under the License is distributed on an

mvnw.cmd

+7-7
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
@REM "License"); you may not use this file except in compliance
88
@REM with the License. You may obtain a copy of the License at
99
@REM
10-
@REM http://www.apache.org/licenses/LICENSE-2.0
10+
@REM https://www.apache.org/licenses/LICENSE-2.0
1111
@REM
1212
@REM Unless required by applicable law or agreed to in writing,
1313
@REM software distributed under the License is distributed on an
@@ -141,12 +141,12 @@ if exist %WRAPPER_JAR% (
141141
)
142142

143143
powershell -Command "&{"^
144-
"$webclient = new-object System.Net.WebClient;"^
145-
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
146-
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
147-
"}"^
148-
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
149-
"}"
144+
"$webclient = new-object System.Net.WebClient;"^
145+
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
146+
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
147+
"}"^
148+
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
149+
"}"
150150
if "%MVNW_VERBOSE%" == "true" (
151151
echo Finished downloading %WRAPPER_JAR%
152152
)

0 commit comments

Comments
 (0)