Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3353 commits
Select commit Hold shift + click to select a range
0c6a5c1
Add org.apache.commons.lang3.time.DateUtils.toLocalDateTime(Date[,
garydgregory Aug 22, 2025
e917dd0
Add org.apache.commons.lang3.time.DateUtils.toOffsetDateTime(Date[,
garydgregory Aug 23, 2025
58e0095
Add org.apache.commons.lang3.time.DateUtils.toZonedDateTime(Date[,
garydgregory Aug 23, 2025
7e1b41f
Add assertion messages to understand failures on GH CI
garydgregory Aug 24, 2025
3f4ffec
Add assertion messages to understand failures on GH CI
garydgregory Aug 24, 2025
747227f
Add @DefaultTimeZone("GMT") to some tests
garydgregory Aug 24, 2025
f7ee527
Add @MethodSource("testToLocalDateTimeTimeZone")
garydgregory Aug 24, 2025
0576886
Add @MethodSource("testToLocalDateTimeTimeZone")
garydgregory Aug 24, 2025
bb570f5
Add @DefaultLocale(language = "en")
garydgregory Aug 24, 2025
406de78
Use @DefaultLocale(language = "en", country = "US") for some tests
garydgregory Aug 24, 2025
ace5aae
Rename some test methods
garydgregory Aug 24, 2025
1b87490
Fix bug in test
garydgregory Aug 24, 2025
744a867
Add test for oldest Date
garydgregory Aug 24, 2025
384f8dc
Add test for max Date
garydgregory Aug 24, 2025
20d8d42
Reuse TimeZones.GMT
garydgregory Aug 24, 2025
c428164
Fix indentation
garydgregory Aug 25, 2025
43538ea
Reduce vertical whitespace
garydgregory Aug 25, 2025
9b9155e
Precompile pattern.
garydgregory Aug 25, 2025
2034a52
Sort annotations
garydgregory Aug 25, 2025
0d0681c
Move package-provate constant to satisfy Java 8
garydgregory Aug 25, 2025
f6817da
Better comment
garydgregory Aug 28, 2025
5a770ec
Add unboxing tests for primitives in MethodUtilsTest
garydgregory Aug 28, 2025
2306116
Add MethodUtilsTest tests
garydgregory Aug 28, 2025
7de27aa
Merge branch 'master' of https://[email protected]/apache/commo…
garydgregory Aug 29, 2025
9edbeb4
Better test fixtures
garydgregory Aug 29, 2025
8dc2457
Bump org.apache.commons:commons-parent from 85 to 87
garydgregory Aug 29, 2025
3149af0
Rename test fixtures
garydgregory Aug 29, 2025
374e97f
Rename some test methods
garydgregory Aug 29, 2025
527f106
Internal refactoring
garydgregory Aug 29, 2025
089be86
Add and rename tests in MethodUtilsTest
garydgregory Aug 29, 2025
ee09f69
MethodUtils cannot find or invoke a vararg method without providing
garydgregory Aug 29, 2025
bcf6c68
Normalize encoding name to upper case
garydgregory Aug 29, 2025
0802ea0
Reset commons.rc.version
garydgregory Aug 29, 2025
0ffdc06
Reduce whitespace
garydgregory Aug 29, 2025
43bf070
Go back to the Maven Javadoc plugin 3.11.2
garydgregory Aug 29, 2025
397d249
Bump actions/dependency-review-action from 4.7.2 to 4.7.3 (#1438)
dependabot[bot] Aug 29, 2025
adc598c
Add comments
garydgregory Aug 29, 2025
e2b349d
Fix exception message
garydgregory Aug 29, 2025
5dd8e33
MethodUtils cannot find or invoke vararg methods of interface types
garydgregory Aug 29, 2025
2355e5c
Reduce vertical whitespace
garydgregory Aug 29, 2025
c67935e
Don't check accessibility twice in
garydgregory Aug 29, 2025
0ca9e76
Javadoc
garydgregory Aug 29, 2025
aff5352
Reduce vertical whitespace
garydgregory Aug 29, 2025
eaf6cac
Internal refactoring
garydgregory Aug 29, 2025
1e53065
Javadoc
garydgregory Aug 30, 2025
325d06c
Reduce vertical whitespace
garydgregory Aug 30, 2025
7fa2f7e
Better internal name and comments
garydgregory Aug 30, 2025
70e6930
Javadoc
garydgregory Aug 30, 2025
ab108a1
Add comment
garydgregory Aug 30, 2025
36423bd
Use expression
garydgregory Aug 30, 2025
0aba82a
Reuse ArrayUtils.setAll()
garydgregory Aug 30, 2025
bdbc6cb
Use ternary.
garydgregory Aug 30, 2025
565d026
Reuse ArrayUtils.setAll()
garydgregory Aug 30, 2025
1897e4d
Reuse ArrayUtils.setAll()
garydgregory Aug 30, 2025
14d3450
MethodUtils cannot find or invoke vararg methods when widening primitive
garydgregory Aug 30, 2025
3f9333e
[LANG-1782] getMatchingAccessibleMethod incorrectly returns null if no
garydgregory Aug 30, 2025
15a6578
[LANG-1597] Invocation fails because matching varargs method found but
garydgregory Aug 30, 2025
b258a16
Remove extra whitespace in string comparison logic (#1439)
mymde Sep 1, 2025
6a06317
Remove extra whitespace
garydgregory Sep 1, 2025
eb60952
Reuse own API better
garydgregory Sep 1, 2025
89a6b41
Add assertions to
garydgregory Sep 1, 2025
c3de9e0
Don't create extra temporary Strings
garydgregory Sep 1, 2025
c36116a
Javadoc
garydgregory Sep 1, 2025
71f3b1d
Add assertions to
garydgregory Sep 1, 2025
7b3c1cc
Add assertions to
garydgregory Sep 1, 2025
61c2d8f
[LANG-1774] Improve handling of ClassUtils.getShortCanonicalName for …
madhurlathi Sep 1, 2025
a661870
[LANG-1774] ClassUtils.getShortCanonicalName() can not handle invalid
garydgregory Sep 1, 2025
c55d1f3
Merge branch 'master' of https://[email protected]/apache/commo…
garydgregory Sep 1, 2025
bf42165
Javadoc
garydgregory Sep 2, 2025
929df5d
Conversion.hexTo*() methods now throw IllegalArgumentException instead
garydgregory Sep 2, 2025
1de1da9
XML format nit
garydgregory Sep 2, 2025
7833161
Conversion.hexTo*() methods now throw IllegalArgumentException instead
garydgregory Sep 2, 2025
be8b654
Conversion.hexTo*() methods now throw IllegalArgumentException instead
garydgregory Sep 2, 2025
db29f5b
Javadoc (#1440)
mymde Sep 3, 2025
22d2664
Fix CalendarUtils.toLocalDate() Javadoc return type description #1440
garydgregory Sep 3, 2025
ae8ba31
Revert to the released behavior and update tests
garydgregory Sep 3, 2025
b284082
Comments
garydgregory Sep 3, 2025
719acc8
Javadoc
garydgregory Sep 3, 2025
9456a9a
Improve Javadocs for Conversion
garydgregory Sep 3, 2025
42fef8b
Better Javadoc and exception messages
garydgregory Sep 3, 2025
8a5ea52
Use JRE constants
garydgregory Sep 3, 2025
6303b3f
Javadoc upper case acronyms
garydgregory Sep 3, 2025
8262fd8
Bump github/codeql-action from 3.29.11 to 3.30.1 (#1443)
dependabot[bot] Sep 5, 2025
e267036
Corrected the method name in Javadoc examples (#1444)
mymde Sep 6, 2025
f9947d0
Fix the method name in Javadoc examples for CharUtils.isHex() #1444
garydgregory Sep 6, 2025
1eb7802
Fix Javadoc example
garydgregory Sep 6, 2025
a1ea0e4
Deprecate NumberUtils.compare(byte, byte) in favor of Byte.compare(byte,
garydgregory Sep 6, 2025
1d9093c
Deprecate NumberUtils.compare(int, int) in favor of Integer.compare(int,
garydgregory Sep 6, 2025
611887f
Deprecate NumberUtils.compare(long, long) in favor of Long.compare(long,
garydgregory Sep 6, 2025
9e8bf56
Deprecate NumberUtils.compare(short, short) in favor of
garydgregory Sep 6, 2025
2323400
Javadoc
garydgregory Sep 6, 2025
7e5f3da
Add ByteConsumer
garydgregory Sep 9, 2025
1852dee
Javadoc
garydgregory Sep 9, 2025
a4ec388
Add FailableByteConsumer
garydgregory Sep 9, 2025
19bac38
Add FailableByteSupplier
garydgregory Sep 9, 2025
e56ce0f
Add ByteSupplier
garydgregory Sep 9, 2025
63c3546
Javadoc
garydgregory Sep 11, 2025
decf0f1
Bump github/codeql-action from 3.30.1 to 3.30.3 (#1446)
dependabot[bot] Sep 12, 2025
8fb6551
Test [LANG-1743] when ArrayUtils.removeAll meeting 'null' array
garydgregory Sep 13, 2025
d7b8ffb
Javadoc
garydgregory Sep 13, 2025
532f658
Rename test class to match class under test
garydgregory Sep 14, 2025
13b9bd6
Javadoc
garydgregory Sep 14, 2025
1a3a12d
[LANG-1784] Add Functions methods for null-safe mapping and
garydgregory Sep 14, 2025
07914b3
[LANG-1784] Add Failable methods for null-safe mapping and
garydgregory Sep 14, 2025
c49ed13
[LANG-1784] Add Functions|Failable methods for null-safe mapping and
garydgregory Sep 14, 2025
ebfc393
Sort methods
garydgregory Sep 14, 2025
8132b80
[LANG-1784] Add Functions|Failable methods for null-safe mapping and
garydgregory Sep 14, 2025
ab54a7b
Raise the bar for Jacoco and commons.jacoco.complexityRatio
garydgregory Sep 14, 2025
9774c21
Reuse parent POM's commons.jmh.version property
garydgregory Sep 14, 2025
5ffa640
Adjust the bar for Jacoco and commons.jacoco.complexityRatio
garydgregory Sep 14, 2025
63eae72
Add IntegerRange.fit(int)
garydgregory Sep 16, 2025
fe43aa4
Add LongRange.fit(long)
garydgregory Sep 16, 2025
d8f7c38
Add DoubleRange.fit(double)
garydgregory Sep 16, 2025
f626e53
Use simple names in action descriptions
garydgregory Sep 16, 2025
35f35e9
Add DurationUtils.get(String, TemporalUnit, long)
garydgregory Sep 16, 2025
ecc97cd
Javadoc
garydgregory Sep 18, 2025
995f227
Javadoc
garydgregory Sep 18, 2025
a58fa28
Javadoc
garydgregory Sep 18, 2025
6bac1a2
Migrate from deprecated APIs
garydgregory Sep 18, 2025
9cbf068
Javadoc
garydgregory Sep 18, 2025
8b27dec
Add SystemProperties.getBoolean(Class, String, BooleanSupplier)
garydgregory Sep 18, 2025
533396f
Javadoc
garydgregory Sep 18, 2025
b8d9617
Javadoc
garydgregory Sep 18, 2025
0c58cce
Deprecate obsolete system property constants.
garydgregory Sep 18, 2025
75f9aa6
Javadoc
garydgregory Sep 18, 2025
e61f79b
Deprecate constants for obsolete system properties in SystemUtils
garydgregory Sep 18, 2025
08bf347
Javadoc
garydgregory Sep 19, 2025
1a49a5e
Javadoc
garydgregory Sep 19, 2025
bd5edbf
Bump org.apache.commons:commons-parent from 87 to 88
garydgregory Sep 19, 2025
d9b9a2a
Replace old feather logotype with new oak logotype
garydgregory Sep 19, 2025
010c313
Prepare for the next release candidate
garydgregory Sep 19, 2025
3d1eb77
Prepare for the release candidate 3.19.0 RC1
garydgregory Sep 19, 2025
562cc56
Bump to next development version
garydgregory Sep 24, 2025
921c1b4
Updates for the next release
garydgregory Sep 24, 2025
766c028
Updates for the next release
garydgregory Sep 24, 2025
71c9052
Optimize ObjectToStringComparator.compare() method
garydgregory Sep 24, 2025
f8b03db
[javadoc] Improve `StringUtils` Javadoc (#1450)
Marcono1234 Sep 25, 2025
31ec838
[javadoc] Improve StringUtils Javadoc #1450
garydgregory Sep 25, 2025
4916a1f
Javadoc
garydgregory Sep 25, 2025
fcff655
Replace GH CI Java 24 with 25
garydgregory Sep 26, 2025
3205d86
Bump actions/dependency-review-action from 4.7.3 to 4.7.4 (#1452)
dependabot[bot] Sep 26, 2025
c5b5045
Bump github/codeql-action from 3.30.3 to 3.30.4 (#1453)
dependabot[bot] Sep 26, 2025
756436b
Bump actions/cache from 4.2.4 to 4.3.0 (#1451)
dependabot[bot] Sep 26, 2025
6513eb0
Fix internal inverted logic in private isEnum() method and correct it…
mymde Sep 29, 2025
354275c
Add missing edge test case
garydgregory Sep 29, 2025
30c4652
Fix internal inverted logic in private isEnum() method and correct its
garydgregory Sep 29, 2025
d96a28a
Use accessors in ToStringStyle so subclasses can effectively override
garydgregory Sep 29, 2025
970e4d6
Javadoc
garydgregory Sep 29, 2025
800f16d
Reuse ObjectUtils.toString()
garydgregory Sep 29, 2025
28552e8
Javadoc
garydgregory Sep 29, 2025
da05830
Add SystemProperties.getPath(String, Supplier<Path>)
garydgregory Sep 30, 2025
14a2398
Next version will be 3.20.0
garydgregory Sep 30, 2025
70fa706
Add JavaVersion.JAVA_25
garydgregory Oct 2, 2025
9bfde80
Javadoc
garydgregory Oct 3, 2025
77c2bb7
Bump github/codeql-action from 3.30.4 to 3.30.6 (#1458)
dependabot[bot] Oct 3, 2025
798cb09
Bump actions/dependency-review-action from 4.7.4 to 4.8.0 (#1457)
dependabot[bot] Oct 3, 2025
02866ed
Bump ossf/scorecard-action from 2.4.2 to 2.4.3 (#1456)
dependabot[bot] Oct 3, 2025
a558568
Update name in changes.xml
garydgregory Oct 4, 2025
04cc033
Internal refactoring
garydgregory Oct 5, 2025
9391506
Internal refactoring
garydgregory Oct 5, 2025
af1f708
Formatting nits
garydgregory Oct 5, 2025
e9e8e6f
Javadoc
garydgregory Oct 5, 2025
323a41a
Javadoc
garydgregory Oct 5, 2025
03e7c36
`LocaleUtils.toLocale(String)` for a 2 letter country code now returns a
garydgregory Oct 5, 2025
85476e7
Javadoc
garydgregory Oct 5, 2025
7cb24c3
Add more tests for LocaleUtils.toLocale(String)
garydgregory Oct 5, 2025
ae06181
Javadoc
garydgregory Oct 7, 2025
48d6e56
No need for FQCN
garydgregory Oct 7, 2025
e9dbead
Bump org.apache.commons:commons-parent from 88 to 89
garydgregory Oct 8, 2025
3154ce2
Javadoc
garydgregory Oct 8, 2025
5572527
Javadoc
garydgregory Oct 8, 2025
c140fc8
Add MutablePair.ofNonNull(Map.Entry)
garydgregory Oct 8, 2025
fa8a90c
Sort members
garydgregory Oct 8, 2025
e1da3a2
Simplify Javadoc
garydgregory Oct 8, 2025
7a55ebb
Simplify Javadoc
garydgregory Oct 8, 2025
f2f204d
Javadoc
garydgregory Oct 8, 2025
5a5ced8
Fix typo in test assertion messages
garydgregory Oct 10, 2025
9eb728f
Fix contributor in action due-to
garydgregory Oct 10, 2025
1c93abf
Fix typo in StringUtils.trunctate() IllegalArgumentException message …
mymde Oct 10, 2025
8343885
Fix typo in StringUtils.trunctate() IllegalArgumentException message and
garydgregory Oct 10, 2025
60316eb
Fix test case: assign transientField to correct object in testTransie…
mymde Oct 10, 2025
930c95c
Fix test fixture in
garydgregory Oct 10, 2025
b2f8be8
Javadoc
garydgregory Oct 10, 2025
b700935
Pickup commons.javadoc.version from parent POM
garydgregory Oct 10, 2025
d024bec
Revert "Pickup commons.javadoc.version from parent POM"
garydgregory Oct 10, 2025
9650121
Ignore macOS file
garydgregory Oct 10, 2025
89bb309
Bump github/codeql-action from 3.30.6 to 4.30.7 (#1465)
dependabot[bot] Oct 10, 2025
cd87ec6
[LANG-1789] NullPointerException when generating NoSuchMethodException
garydgregory Oct 14, 2025
402b9ee
[LANG-1789] NullPointerException when generating NoSuchMethodException
garydgregory Oct 14, 2025
d24fad7
More bullet proofing
garydgregory Oct 14, 2025
e673b48
Javadoc
garydgregory Oct 14, 2025
94385c8
Javadoc
garydgregory Oct 14, 2025
4ec9b8e
Add missing assertions for Java 25 in SystemUtilsTest
garydgregory Oct 14, 2025
ad6890f
Merge branch 'master' of https://gitbox.apache.org/repos/asf/commons-…
garydgregory Oct 14, 2025
1441ba9
Javadoc
garydgregory Oct 14, 2025
df3e271
Add TimedSemaphore.builder() and Builder
garydgregory Oct 14, 2025
9132251
Javadoc
garydgregory Oct 14, 2025
cc5ecf5
Deprecate TimedSemaphore constructors in favor of the builder
garydgregory Oct 14, 2025
f24c027
Add JavaVersion.JAVA_26
garydgregory Oct 16, 2025
428489a
Bump actions/dependency-review-action from 4.8.0 to 4.8.1 (#1468)
dependabot[bot] Oct 17, 2025
d9bda44
Bump github/codeql-action from 4.30.7 to 4.30.8 (#1467)
dependabot[bot] Oct 17, 2025
8b6fdad
Fix grammar
garydgregory Oct 19, 2025
f4762c3
Javadoc
garydgregory Oct 21, 2025
2d86acd
Bump github/codeql-action from 4.30.8 to 4.30.9 (#1471)
dependabot[bot] Oct 24, 2025
8eebf39
Bump org.apache.commons:commons-parent from 89 to 90 (#1472)
dependabot[bot] Oct 25, 2025
1e3629c
Bump org.apache.commons:commons-parent from 89 to 90 #1472
garydgregory Oct 25, 2025
c044691
Javadoc
garydgregory Oct 25, 2025
7b77ea4
Inline single use local variable
garydgregory Oct 25, 2025
21e65f8
Javadoc
garydgregory Oct 25, 2025
a22cfcd
[LANG-1791] Add test
garydgregory Oct 25, 2025
b5cb40c
Javadoc
garydgregory Oct 25, 2025
817d50f
Migrate from deprecated method
garydgregory Oct 25, 2025
f5c9f68
Javadoc
garydgregory Oct 26, 2025
8646304
Asserts FastDateFormat.format(Calendar) doesn't edit the given Calendar
garydgregory Oct 26, 2025
b77073c
Javadoc
garydgregory Oct 26, 2025
728e570
Javadoc
garydgregory Oct 26, 2025
3939c0a
Clarify implementation with comment
garydgregory Oct 26, 2025
7d14157
Fix typo
garydgregory Oct 26, 2025
290859f
Remove useless // comment
garydgregory Oct 27, 2025
d71293a
Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#1478)
dependabot[bot] Oct 31, 2025
bbfe331
Bump github/codeql-action from 4.30.9 to 4.31.2 (#1479)
dependabot[bot] Oct 31, 2025
2703e48
Add dependabot email [skip ci]
sebbASF Nov 1, 2025
9167659
Use HTTPS in URL
garydgregory Nov 2, 2025
bfcaa94
Add org.apache.commons.lang3.time.FastDateParser_TimeZoneStrategyTest…
garydgregory Nov 3, 2025
1ac4de0
Add but disable
garydgregory Nov 3, 2025
ce2ba7b
LANG-1504 - Adding labels to split StopWatch feature (#1473)
edelgadoh Nov 3, 2025
d1411b6
Adding labels and history to split StopWatch #1473
garydgregory Nov 3, 2025
02eb913
Bump org.apache.commons:commons-parent from 88 to 91
garydgregory Nov 3, 2025
7a94b88
Revert from commons-parent 91 to 90.
garydgregory Nov 3, 2025
ba85f5e
Upgrade from deprecated macos-13 to macos-latest in GitHub CI
garydgregory Nov 5, 2025
c9ff6aa
[LANG-1786] Map deprecated TimeZone short IDs and avoid JRE WARNINGs …
garydgregory Nov 7, 2025
d8c946e
[LANG-1786] Map deprecated TimeZone short IDs and avoid JRE WARNINGs …
garydgregory Nov 7, 2025
29b8ed5
Javadoc
garydgregory Nov 7, 2025
e708ab9
Typo
garydgregory Nov 7, 2025
52d1b7b
Bump org.apache.commons:commons-parent from 90 to 91
garydgregory Nov 8, 2025
a5314fc
Add test from
garydgregory Nov 10, 2025
527f355
Use new oak leaf logo
garydgregory Nov 10, 2025
1db7018
Pickup Javadoc plugin from parent POM
garydgregory Nov 10, 2025
2b25490
Prepare for the next release candidate
garydgregory Nov 10, 2025
8d5bc87
Revert "Pickup Javadoc plugin from parent POM"
garydgregory Nov 10, 2025
7e7225b
Add comment
garydgregory Nov 10, 2025
7588fd4
Bump org.apache.commons:commons-parent from 91 to 92 (#1484)
dependabot[bot] Nov 11, 2025
205d7d0
Bump org.apache.commons:commons-parent from 91 to 92 #1484
garydgregory Nov 11, 2025
d631b6c
Merge branch 'master' of https://[email protected]/apache/commo…
garydgregory Nov 11, 2025
0cebd84
Mention JDK 25 LTS as a tested version in the release notes (#1485)
sepe81 Nov 11, 2025
5454931
[LANG-1792] TypeUtils.toString() skips angle brackets for Class type
garydgregory Nov 11, 2025
3d673ad
Reduce vertical whitespace
garydgregory Nov 11, 2025
d9ab066
Mention JDK 25 LTS as a tested version in the release notes #1485
garydgregory Nov 11, 2025
ffc86e4
Merge branch 'master' of https://github.com/apache/commons-lang
garydgregory Nov 12, 2025
626e7e9
Prepare for the next release candidate
garydgregory Nov 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 30 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

github:
description: "Apache Commons Lang"
homepage: https://commons.apache.org/lang/

notifications:
commits: [email protected]
issues: [email protected]
pullrequests: [email protected]
jira_options: link label
jobs: [email protected]
# commits_bot_dependabot: [email protected]
issues_bot_dependabot: [email protected]
pullrequests_bot_dependabot: [email protected]
issues_bot_codecov-commenter: [email protected]
pullrequests_bot_codecov-commenter: [email protected]
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
Expand Down
25 changes: 5 additions & 20 deletions .travis.yml → .github/GH-ROBOTS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,15 @@
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

language: java
jdk:
- openjdk8
- openjdk11
- openjdk13
- openjdk-ea

matrix:
include:
- os: linux-ppc64le
jdk: openjdk8
allow_failures:
- jdk: openjdk-ea

script:
- mvn

after_success:
- mvn clean test jacoco:report coveralls:report -Ptravis-jacoco javadoc:javadoc -Ddoclint=all
# Keeps on creating FUD PRs in test code
# Does not follow Apache disclosure policies
User-agent: JLLeitschuh/security-research
Disallow: *
28 changes: 28 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

version: 2
updates:
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "friday"

30 changes: 30 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->

Thanks for your contribution to [Apache Commons](https://commons.apache.org/)! Your help is appreciated!

Before you push a pull request, review this list:

- [ ] Read the [contribution guidelines](CONTRIBUTING.md) for this project.
- [ ] Read the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) if you use Artificial Intelligence (AI).
- [ ] I used AI to create any part of, or all of, this pull request.
- [ ] Run a successful build using the default [Maven](https://maven.apache.org/) goal with `mvn`; that's `mvn` on the command line by itself.
- [ ] Write unit tests that match behavioral changes, where the tests fail if the changes to the runtime are not applied. This may not always be possible, but it is a best practice.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [ ] Each commit in the pull request should have a meaningful subject line and body. Note that a maintainer may squash commits during the merge process.
85 changes: 85 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: "CodeQL"

on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '33 9 * * 4'

permissions:
contents: read

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'java', 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support

steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 5.0.0
with:
persist-credentials: false
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@0499de31b99561a6d14a36a5f662c2a54f91beee # 3.29.5
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# 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)
- name: Autobuild
uses: github/codeql-action/autobuild@0499de31b99561a6d14a36a5f662c2a54f91beee # 3.29.5

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@0499de31b99561a6d14a36a5f662c2a54f91beee # 3.29.5
31 changes: 31 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: 'Dependency Review'
on: [pull_request]

permissions:
contents: read

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: 'Dependency Review PR'
uses: actions/dependency-review-action@40c09b7dc99638e5ddb0bfd91c1673effc064d8a # v4.8.1
35 changes: 27 additions & 8 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
Expand All @@ -15,21 +15,40 @@

name: Java CI

on: [push]
on: [push, pull_request]

permissions:
contents: read

jobs:
build:

runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
java: [ '1.8', '11.0.4', '12.0.2' ]

os: [ubuntu-latest, windows-latest, macos-latest]
java: [ 8, 11, 17, 21, 25 ]
experimental: [false]
include:
- java: 26-ea
experimental: true
os: ubuntu-latest

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
distribution: ${{ runner.os == 'macOS' && matrix.java == '8' && 'zulu' || 'temurin' }}
java-version: ${{ matrix.java }}
- name: Build with Maven
run: mvn -V apache-rat:check spotbugs:check javadoc:javadoc -Ddoclint=all package --file pom.xml
run: mvn --errors --show-version --batch-mode --no-transfer-progress -Ddoclint=all
69 changes: 69 additions & 0 deletions .github/workflows/scorecards-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache license, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the license for the specific language governing permissions and
# limitations under the license.

name: "Scorecards supply-chain security"

on:
branch_protection_rule:
schedule:
- cron: "30 1 * * 6" # Weekly on Saturdays
push:
branches: [ "master" ]

permissions: read-all

jobs:

analysis:

name: "Scorecards analysis"
runs-on: ubuntu-latest
permissions:
# Needed to upload the results to the code-scanning dashboard.
security-events: write
actions: read
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout

steps:

- name: "Checkout code"
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 5.0.0
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # 2.4.3
with:
results_file: results.sarif
results_format: sarif
# A read-only PAT token, which is sufficient for the action to function.
# The relevant discussion: https://github.com/ossf/scorecard-action/issues/188
repo_token: ${{ secrets.GITHUB_TOKEN }}
# Publish the results for public repositories to enable scorecard badges.
# For more details: https://github.com/ossf/scorecard-action#publishing-results
publish_results: true

- name: "Upload artifact"
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # 5.0.0
with:
name: SARIF file
path: results.sarif
retention-days: 5

- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@0499de31b99561a6d14a36a5f662c2a54f91beee # 3.29.5
with:
sarif_file: results.sarif
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,7 @@ site-content
.project
.externalToolBuilders
.checkstyle

# jenv's version file
.java-version
/.DS_Store
4 changes: 4 additions & 0 deletions .mvn/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#
# Empty file (Maven 4 wants the directory .mvn to be present,
# and we want Git to create it.)
#
Loading