mirror of https://github.com/apache/jmeter.git
Compare commits
6 Commits
d0f925222e
...
c786a81b5a
| Author | SHA1 | Date |
|---|---|---|
|
|
c786a81b5a | |
|
|
83e211fed7 | |
|
|
1366ed47fb | |
|
|
805f115414 | |
|
|
d21c15bfc1 | |
|
|
36a0a592b2 |
35
bin/jmeter
35
bin/jmeter
|
|
@ -115,18 +115,19 @@ if [ -z "$JAVA_HOME" ]; then
|
|||
JAVA_HOME="$JRE_HOME"
|
||||
fi
|
||||
|
||||
#--add-opens if JAVA 9
|
||||
JAVA9_OPTS=
|
||||
# Module access for modern Java versions (required for JMeter components)
|
||||
JAVA_OPTS="--add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED"
|
||||
|
||||
# Minimal version to run JMeter
|
||||
MINIMAL_VERSION=8
|
||||
MINIMAL_VERSION=17
|
||||
|
||||
# Check if version is from OpenJDK or Oracle Hotspot JVM prior to 9 containing 1.${version}.x
|
||||
# Check if version meets the minimal requirement
|
||||
CURRENT_VERSION=`"${JAVA_HOME}/bin/java" -version 2>&1 | awk -F'"' '/version/ {gsub("^1[.]", "", $2); gsub("[^0-9].*$", "", $2); print $2}'`
|
||||
|
||||
# Check if Java is present and the minimal version requirement
|
||||
if [ "$CURRENT_VERSION" -gt "$MINIMAL_VERSION" ]; then
|
||||
JAVA9_OPTS="--add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED"
|
||||
# Check if Java is present and meets the minimal version requirement
|
||||
if [ "$CURRENT_VERSION" -lt "$MINIMAL_VERSION" ]; then
|
||||
echo "ERROR: Java version $CURRENT_VERSION is too low. JMeter requires Java $MINIMAL_VERSION or higher."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
: "${JMETER_OPTS:=""}"
|
||||
|
|
@ -169,15 +170,19 @@ esac
|
|||
# Default to en_EN
|
||||
: "${JMETER_LANGUAGE:="-Duser.language=en -Duser.region=EN"}"
|
||||
|
||||
# Uncomment this to generate GC verbose file with Java prior to 9
|
||||
# VERBOSE_GC="-verbose:gc -Xloggc:gc_jmeter_%p.log -XX:+PrintGCDetails -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps"
|
||||
# Legacy GC verbose options removed (Java 8/9 support discontinued)
|
||||
|
||||
# Uncomment this to generate GC verbose file with Java 9 and above
|
||||
# VERBOSE_GC="-Xlog:gc*,gc+age=trace,gc+heap=debug:file=gc_jmeter_%p.log"
|
||||
# Optimized GC logging for Java 17 with structured output and performance analysis
|
||||
# Uncomment to enable comprehensive GC logging with rotation and detailed metrics
|
||||
# VERBOSE_GC="-Xlog:gc,gc+heap,gc+regions,gc+refine,gc+phases:gc_jmeter_%p_%t.log:time,level,tags:filecount=5,filesize=50M"
|
||||
|
||||
# Alternative: Minimal GC logging for production (uncomment if needed)
|
||||
# VERBOSE_GC="-Xlog:gc:gc_jmeter_%p.log:time"
|
||||
|
||||
# Docker support for Java 17+
|
||||
# Modern container memory detection is automatic in Java 17+
|
||||
# RUN_IN_DOCKER="-XX:+UseContainerSupport"
|
||||
|
||||
# Uncomment this if you run JMeter in DOCKER (need Java SE 8u131 or JDK 9)
|
||||
# see https://blogs.oracle.com/java-platform-group/java-se-support-for-docker-cpu-and-memory-limits
|
||||
# RUN_IN_DOCKER="-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"
|
||||
|
||||
# Finally, some tracing to help in case things go astray:
|
||||
# You may want to add those settings:
|
||||
|
|
@ -191,7 +196,7 @@ SYSTEM_PROPS="-Djava.security.egd=file:/dev/urandom"
|
|||
SERVER="-server"
|
||||
|
||||
if [ -z "${JMETER_COMPLETE_ARGS}" ]; then
|
||||
ARGS="$JAVA9_OPTS $SERVER $DUMP $HEAP $VERBOSE_GC $GC_ALGO $SYSTEM_PROPS $JMETER_LANGUAGE $RUN_IN_DOCKER"
|
||||
ARGS="$JAVA_OPTS $SERVER $DUMP $HEAP $VERBOSE_GC $GC_ALGO $SYSTEM_PROPS $JMETER_LANGUAGE $RUN_IN_DOCKER"
|
||||
else
|
||||
ARGS=""
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -78,12 +78,19 @@ if not defined JMETER_LANGUAGE (
|
|||
)
|
||||
|
||||
rem Minimal version to run JMeter
|
||||
set MINIMAL_VERSION=1.8.0
|
||||
set MINIMAL_VERSION=17.0.0
|
||||
|
||||
|
||||
rem --add-opens if JAVA 9
|
||||
set JAVA9_OPTS=
|
||||
rem Optimized GC logging for Java 17 with structured output and performance analysis
|
||||
rem Uncomment to enable comprehensive GC logging with rotation and detailed metrics
|
||||
rem set VERBOSE_GC=-Xlog:gc,gc+heap,gc+regions,gc+refine,gc+phases:gc_jmeter_%%p_%%t.log:time,level,tags:filecount=5,filesize=50M
|
||||
|
||||
rem Alternative: Minimal GC logging for production (uncomment if needed)
|
||||
rem set VERBOSE_GC=-Xlog:gc:gc_jmeter_%%p.log:time
|
||||
|
||||
|
||||
rem Module access for modern Java versions (required for JMeter components)
|
||||
set JAVA_OPTS=--add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED
|
||||
|
||||
for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
|
||||
rem @echo Debug Output: %%g
|
||||
|
|
@ -95,36 +102,24 @@ if not defined JAVAVER (
|
|||
goto pause
|
||||
)
|
||||
|
||||
|
||||
|
||||
rem Check if version is from OpenJDK or Oracle Hotspot JVM prior to 9 containing 1.${version}.x
|
||||
rem JAVAVER will be equal to "9.0.4" (quotes are part of the value) for Oracle Java 9
|
||||
rem JAVAVER will be equal to "1.8.0_161" (quotes are part of the value) for Oracle Java 8
|
||||
rem so we extract 2 chars starting from index 1
|
||||
IF "%JAVAVER:~1,2%"=="1." (
|
||||
set JAVAVER=%JAVAVER:"=%
|
||||
for /f "delims=. tokens=1-3" %%v in ("%JAVAVER%") do (
|
||||
set current_minor=%%w
|
||||
)
|
||||
) else (
|
||||
rem Java 9 at least
|
||||
set current_minor=9
|
||||
set JAVA9_OPTS=--add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED
|
||||
rem Extract major version number from Java version string
|
||||
for /f "delims=. tokens=1" %%v in ("%JAVAVER:~1,-1%") do (
|
||||
set current_major=%%v
|
||||
)
|
||||
|
||||
|
||||
for /f "delims=. tokens=1-3" %%v in ("%MINIMAL_VERSION%") do (
|
||||
set minimal_minor=%%w
|
||||
rem Extract minimal major version
|
||||
for /f "delims=. tokens=1" %%v in ("%MINIMAL_VERSION%") do (
|
||||
set minimal_major=%%v
|
||||
)
|
||||
|
||||
if not defined current_minor (
|
||||
if not defined current_major (
|
||||
@echo Not able to find Java executable or version. Please check your Java installation.
|
||||
set ERRORLEVEL=2
|
||||
goto pause
|
||||
)
|
||||
rem @echo Debug: CURRENT=%current_minor% - MINIMAL=%minimal_minor%
|
||||
if %current_minor% LSS %minimal_minor% (
|
||||
@echo Error: Java version -- %JAVAVER% -- is too low to run JMeter. Needs a Java version greater than or equal to %MINIMAL_VERSION%
|
||||
|
||||
if %current_major% LSS %minimal_major% (
|
||||
@echo Error: Java version -- %JAVAVER% -- is too low to run JMeter. Needs Java %MINIMAL_VERSION% or higher.
|
||||
set ERRORLEVEL=3
|
||||
goto pause
|
||||
)
|
||||
|
|
@ -151,13 +146,7 @@ if not defined HEAP (
|
|||
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
|
||||
)
|
||||
|
||||
rem Uncomment this to generate GC verbose file with Java prior to 9
|
||||
rem set VERBOSE_GC=-verbose:gc -Xloggc:gc_jmeter_%%p.log -XX:+PrintGCDetails -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintAdaptiveSizePolicy
|
||||
|
||||
rem Uncomment this to generate GC verbose file with Java 9 and above
|
||||
rem set VERBOSE_GC=-Xlog:gc*,gc+age=trace,gc+heap=debug:file=gc_jmeter_%%p.log
|
||||
rem You may want to add those settings
|
||||
rem -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem
|
||||
rem Legacy GC verbose options removed (Java 8/9 support discontinued)
|
||||
if not defined GC_ALGO (
|
||||
set GC_ALGO=-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20
|
||||
)
|
||||
|
|
@ -167,9 +156,9 @@ set SYSTEM_PROPS=-Djava.security.egd=file:/dev/urandom
|
|||
rem Always dump on OOM (does not cost anything unless triggered)
|
||||
set DUMP=-XX:+HeapDumpOnOutOfMemoryError
|
||||
|
||||
rem Uncomment this if you run JMeter in DOCKER (need Java SE 8u131 or JDK 9)
|
||||
rem see https://blogs.oracle.com/java-platform-group/java-se-support-for-docker-cpu-and-memory-limits
|
||||
rem set RUN_IN_DOCKER=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap
|
||||
rem Docker support for Java 17+
|
||||
rem Modern container memory detection is automatic in Java 17+
|
||||
rem set RUN_IN_DOCKER=-XX:+UseContainerSupport
|
||||
|
||||
rem Additional settings that might help improve GUI performance on some platforms
|
||||
rem See: http://www.oracle.com/technetwork/java/perf-graphics-135933.html
|
||||
|
|
@ -188,7 +177,7 @@ if not defined DDRAW (
|
|||
|
||||
rem Collect the settings defined above
|
||||
if not defined JMETER_COMPLETE_ARGS (
|
||||
set ARGS=%JAVA9_OPTS% %DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS% %JMETER_LANGUAGE% %RUN_IN_DOCKER%
|
||||
set ARGS=%JAVA_OPTS% %DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS% %JMETER_LANGUAGE% %RUN_IN_DOCKER%
|
||||
) else (
|
||||
set ARGS=
|
||||
)
|
||||
|
|
|
|||
|
|
@ -90,14 +90,17 @@ fi
|
|||
JAVA9_OPTS=
|
||||
|
||||
# Minimal version to run JMeter
|
||||
MINIMAL_VERSION=8
|
||||
MINIMAL_VERSION=17
|
||||
|
||||
# Check if version is from OpenJDK or Oracle Hotspot JVM prior to 9 containing 1.${version}.x
|
||||
CURRENT_VERSION=`"${JAVA_HOME}/bin/java" -version 2>&1 | awk -F'"' '/version/ {gsub("^1[.]", "", $2); gsub("[^0-9].*$", "", $2); print $2}'`
|
||||
|
||||
# Check if Java is present and the minimal version requirement
|
||||
if [ "$CURRENT_VERSION" -gt "$MINIMAL_VERSION" ]; then
|
||||
if [ "$CURRENT_VERSION" -ge "$MINIMAL_VERSION" ]; then
|
||||
JAVA9_OPTS="--add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED --add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED"
|
||||
else
|
||||
echo "JMeter requires Java $MINIMAL_VERSION or later. Current Java version is $CURRENT_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Don't add additional arguments to the JVM start, except those needed for Java 9
|
||||
|
|
|
|||
|
|
@ -82,6 +82,10 @@ buildParameters {
|
|||
defaultValue.set(false)
|
||||
description.set("Skip AutoStyle verifications")
|
||||
}
|
||||
bool("skipOpenrewrite") {
|
||||
defaultValue.set(false)
|
||||
description.set("Skip OpenRewrite processing")
|
||||
}
|
||||
bool("skipCheckstyle") {
|
||||
defaultValue.set(false)
|
||||
description.set("Skip Checkstyle verifications")
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
plugins {
|
||||
`embedded-kotlin` apply false
|
||||
id("com.github.autostyle") version "3.2"
|
||||
id("com.github.autostyle") version "4.0"
|
||||
}
|
||||
|
||||
allprojects {
|
||||
|
|
|
|||
|
|
@ -6,16 +6,22 @@
|
|||
<trusted-key id='dcba03381ef6c89096acd985ac5ec74981f9cda6' group='com.beust' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.core' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.jackson.core' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.dataformat' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.jackson.dataformat' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.datatype' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.module' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.jackson.module' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.woodstox' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.woodstox' />
|
||||
<trusted-key id='d112630c899f508198c09018105cb91cac2aee0e' group='com.github.autostyle' />
|
||||
<trusted-key id='635ee627345f3c1dd422b2e207d3516820bcf6b1' group='com.github.ben-manes.caffeine' />
|
||||
<trusted-key id='253e8e4c6fb28d11748115c1249dee8e2c07a0a2' group='com.github.javaparser' />
|
||||
<trusted-key id='9857c388d7d1d9d031274cd0a5def5a76f94a471' group='com.github.spotbugs.snom' />
|
||||
<trusted-key id='d112630c899f508198c09018105cb91cac2aee0e' group='com.github.vlsi.gradle' />
|
||||
<trusted-key id='7616eb882daf57a11477aaf559a252fb1199d873' group='com.google.code.findbugs' />
|
||||
<trusted-key id='afcc4c7594d09e2182c60e0f7a01b0f236e5430f' group='com.google.code.gson' />
|
||||
<trusted-key id='7615ad56144df2376f49d98b1669c4bb543e0445' group='com.google.errorprone' />
|
||||
<trusted-key id='e77417ac194160a3fabd04969a259c7ee636c5ed' group='com.google.errorprone' />
|
||||
<trusted-key id='f05e5f90e43e837f9dd8c781bf935c771a8474f8' group='com.google.errorprone' />
|
||||
<trusted-key id='694621a7227d8d5289699830abe9f3126bb741c1' group='com.google.guava' />
|
||||
<trusted-key id='bdb5fa4fe719d787fb3d3197f6d4a1d411e9d1ae' group='com.google.guava' />
|
||||
|
|
@ -30,8 +36,13 @@
|
|||
<trusted-key id='636de9055c4c75c7bd9830771241bc872c5e4ec0' group='commons-lang' />
|
||||
<trusted-key id='b920d295bf0e61cb4cf0896c33cd6733af5ec452' group='commons-logging' />
|
||||
<trusted-key id='0186f8b24c5bc02c94a0e0e486f75e83e1ee085f' group='de.thetaphi' />
|
||||
<trusted-key id='cde577234159e222bc56e50f9c61220417aaa02e' group='dev.failsafe' />
|
||||
<trusted-key id='aa417737bd805456db3cbdde6601e5c08dccbb96' group='info.picocli' />
|
||||
<trusted-key id='1ab9bdf40ed49debb5caaded5b30d3b10694f057' group='io.codearte.gradle.nexus' />
|
||||
<trusted-key id='1f47744c9b6e14f2049c2857f1f111af65925306' group='io.github.classgraph' />
|
||||
<trusted-key id='ed09733fa05dedf15100abeb32bbf14af07ca77b' group='io.github.fastfilter' />
|
||||
<trusted-key id='48b086a7d843cfa258e83286928fbf39003c0425' group='io.micrometer' />
|
||||
<trusted-key id='7119b89feb81209430e65c62c2ad9c8a7d4e988a' group='io.quarkus.gizmo' />
|
||||
<trusted-key id='6dd3b8c64ef75253beb2c53ad908a43fb7ec07ac' group='jakarta.activation' />
|
||||
<trusted-key id='fc411cd3cb7dcb0abc9801058118b3bcdb1a5000' group='jakarta.xml.bind' />
|
||||
<trusted-key id='ea23db1360d9029481e7f2efecdfea3cb4493b94' group='jline' />
|
||||
|
|
@ -40,8 +51,10 @@
|
|||
<trusted-key id='517b94f8d0a46317a28d8ab30da8a5ec02d11ead' group='net.sf.jopt-simple' />
|
||||
<trusted-key id='a1885c07a3204611fb184ef7098a31f381819057' group='net.sourceforge.nekohtml' />
|
||||
<trusted-key id='124dac8350968ec2a8260584ee8ecbbbc188fd5d' group='org.ajoberstar.grgit' />
|
||||
<trusted-key id='5719e50eac5a4b1dd390b72c2a742740e08e7f8d' group='org.antlr' />
|
||||
<trusted-key id='8da70c00df7af1b0d2f9dc74ddbcc1270a29d081' group='org.apache.ant' />
|
||||
<trusted-key id='12d16069219c90212a974d119ae296fd02e9f65b' group='org.apache.commons' />
|
||||
<trusted-key id='2db4f1ef0fa761ecc4ea935c86fdc7e2a11262cb' group='org.apache.commons' />
|
||||
<trusted-key id='41a1a08c62fca78b79d3081164a16faaec16a4be' group='org.apache.commons' />
|
||||
<trusted-key id='0785b3eff60b1b1bea94e0bb7c25280eae63ebe5' group='org.apache.httpcomponents' />
|
||||
<trusted-key id='08f0aab4d0c1a4bdde340765b341ddb020fcb6ab' group='org.bouncycastle' />
|
||||
|
|
@ -55,7 +68,9 @@
|
|||
<trusted-key id='1bd97a6a154e7810ee0bc832e2f38302c8075e3d' group='org.gradle.kotlin' />
|
||||
<trusted-key id='66d7cbff956830fe9f5a723afe6c7d77a1ce15a6' group='org.gradlex' />
|
||||
<trusted-key id='4db1a49729b053caf015cee9a6adfc93ef34893e' group='org.hamcrest' />
|
||||
<trusted-key id='e113159331a1f87bfc2a93d0960d2e8635a91268' group='org.hdrhistogram' />
|
||||
<trusted-key id='2e3a1affe42b5f53af19f780bcf4173966770193' group='org.jetbrains' />
|
||||
<trusted-key id='33fd4bfd33554634053d73c0c2148900bcd3c2af' group='org.jetbrains' />
|
||||
<trusted-key id='e62231331bca7e1f292c9b88c1b12a5d99c0729d' group='org.jetbrains' />
|
||||
<trusted-key id='98465301a4939c0279f2e847d89d05374952262b' group='org.jetbrains.dokka' />
|
||||
<trusted-key id='8756c4f765c9ac3cb6b85d62379ce192d401ab61' group='org.jetbrains.intellij.deps' />
|
||||
|
|
@ -65,12 +80,19 @@
|
|||
<trusted-key id='f3184bcd55f4d016e30d4c9bf42e87f9665015c9' group='org.jsoup' />
|
||||
<trusted-key id='ff6e2c001948c5f2f38b0cc385911f425ec61b51' group='org.junit.jupiter' />
|
||||
<trusted-key id='ff6e2c001948c5f2f38b0cc385911f425ec61b51' group='org.junit.platform' />
|
||||
<trusted-key id='7a1d848e7c2af85eeba69c99e7bf252cf360097e' group='org.latencyutils' />
|
||||
<trusted-key id='019082bc00e0324e2aef4cf00d3b328562a119a7' group='org.openjdk.jmh' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite.gradle.tooling' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite.tools' />
|
||||
<trusted-key id='ff6e2c001948c5f2f38b0cc385911f425ec61b51' group='org.opentest4j' />
|
||||
<trusted-key id='a5bd02b93e7a40482eb1d66a5f69ad087600b22c' group='org.ow2.asm' />
|
||||
<trusted-key id='475f3b8e59e6e63aa78067482c7b12f2a511e325' group='org.slf4j' />
|
||||
<trusted-key id='2b1042677fd8190c7b9fc0dc2161d72e7dcd4258' group='org.sonarsource.scanner.api' />
|
||||
<trusted-key id='7cd52b5a8295137c88fb5748dddafa7674e54418' group='org.testng' />
|
||||
<trusted-key id='fa1703b1d287caea3a60f931e0130a3ed5a2079e' group='org.webjars' />
|
||||
<trusted-key id='56b505dc8a29c69138a430b9429c8816dea04cdb' group='org.xerial.snappy' />
|
||||
<trusted-key id='120d6f34e627ed3a772ebbfe55c7e5e701832382' group='org.yaml' />
|
||||
</trusted-keys>
|
||||
<dependencies>
|
||||
<dependency group='com.github.spotbugs.snom' module='spotbugs-gradle-plugin' version='5.0.14'>
|
||||
|
|
@ -109,6 +131,9 @@
|
|||
<dependency group='org.gradle.kotlin' module='gradle-kotlin-dsl-plugins' version='4.1.2'>
|
||||
<sha512>B23C4355CBAB2098506528D196F6C9A71D4689F4A3334494B97D9F6D868883D429D851FC319761C25ACC86F0C4E02F028B33C1868B6EF7BA1246E3D79ADF1582</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.jboss' module='jandex' version='2.4.2.Final'>
|
||||
<sha512>635642582701F6AE26DF91E39D5BFD9345C4C219DA73E71A27F4740A4C0C7970F52CEF667BB9CC4DD08C26D9B0447EE003C9E56D5EDE68870976356C2FCC4A5C</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.jetbrains.kotlin' module='kotlin-gradle-plugin' version='1.8.10'>
|
||||
<sha512>5BA8B33D023D112BCF170B49CF66610A1A3EB3DEBF0D028065E89AE40B23C55380D329B354E1698B44912FA78935294B9F7584AFA6FCE995F12CE1D1D0A329FC</sha512>
|
||||
</dependency>
|
||||
|
|
@ -118,6 +143,9 @@
|
|||
<dependency group='org.nosphere.apache' module='creadur-rat-gradle' version='0.8.1'>
|
||||
<sha512>397C3257C5448C26304B312212F6DA1649AD15E52CE0419C5BA647F8A68864707A0C8071FA9860C28AA9D626D66C8FAF2D5F576E693F9D01B0F71EEEB84B57FB</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.openrewrite' module='plugin' version='6.6.3'>
|
||||
<sha512>FAE9431F2ADE6A8460C7E86AC5FA4AB7A2E11DB919BB9C60F59BD684CF5AF42A9D0DBFD4835AC8450F0F5B36258B6DF1920E445F84CBD3CFE2944F4CE430DF58</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.sonarsource.scanner.gradle' module='sonarqube-gradle-plugin' version='4.0.0.2929'>
|
||||
<sha512>5CD9C5E9C91145E6F5FC1DA819F6241ADCE8685C6C71F480CB7F7F1D2ACFCDFD19C631E7DC2E9FDDEDBA840C6063A020A377644C80543A9E366DF65642F16F8C</sha512>
|
||||
</dependency>
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
b46dc71e03feeb7f89d1f2491f7a8f87b9d8f501
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQGNBGBP58sBDADYRZmxLOkqrz0QZ/yESRpv7IeHGLqDE1a8QfFtFb14MJCLSAAS
|
||||
3nMD6Szi9mEjEqYdJURRcMjbUBhePgbhzGa3FYkjAB8lj6IKbu+ogCwVm1S8+caZ
|
||||
C6HNP1CIefa1wQgi/6FNWEBKbKefUr/DoG1fBAWUvTPC2BjiYOHDaU1xFWwhF3Np
|
||||
p0gEoK2KNgGgy/aSCi9Rb1M1ynPF7CcY8vKpAo6YfJpoNnput3t5FoF0uPnIac0F
|
||||
gikw6Iz8knUoYeqW2MTKNBxgQrtS+Ji1J0EgzT2Nq1SBMPfmq4/h1+XOQweWY/NR
|
||||
GNQTzcR3v+FkLkqCIaywcWUMXkhFXB8U3TdPa4bCEbFlP/AUkEw0X/obxm0isshU
|
||||
w7MRMPoBXR3FkEApkxB+bFptY3ZbBYhu5PCf4FWBE8+FkYEJ31IS+nABC2u9Jcav
|
||||
o5TqVd0y4e8VZ2qz18ez3j2G+nVthHz2OZ3AdEmq60K6iD57RY0H8zQK7xeEe3Ye
|
||||
VoRmpZdS8Eyk2aEAEQEAAbkBjQRgT+w5AQwAz/O+ShczJAFoHvVHLkMmZ1zwRPqT
|
||||
iSk3AYlA3DmMHhw/sZmb20F++yU7IfBx6Fe5WA0CmrwzZCssnZQGNa7yDGpDgK2C
|
||||
6d5ifSxBWZ4T1zAGMNYFt4eowHPXFslJ1ahm/ELstabEEOwWJMsIKZUlRHhHtzPj
|
||||
dCGDRqnClLTngY+XHtXgnNjbfPuosE9XV9LDJhZucOnzmxRwm1jVzAt4ZCRbk7n4
|
||||
oX1I2JDdU2BHsa2gigdJyzj1Yn4RR2uapomzZaYQcDYmgQbfQAcxVunISBoXQ88V
|
||||
HVXMRVPs96xWy1JuduryaqCYG36JCNCRgBv/DIF1V8Us+3YiwZtP3Z70tDUi3D3H
|
||||
mCnMPTN6CNLxASDXvoqwaalEnVWzVpyk98HwpZNXurQh/WHV/GZTrOI4dMR7SS/M
|
||||
hJNyw7RGEdiIw0c2EdjyBKqdZSI9LNJzbm9B8nz/tt6b265BSW5SACyxeVWGfrxo
|
||||
cTXUXGV0ZXgBMdjmtEYgYmRB8UkLgw8sivdhABEBAAG5AY0EYE/sVgEMANM0si+m
|
||||
zaU0yswcmegVzulRloW6lwGUiYPyhhKmbWvsJI0EGs06FogciFW+4piZd7F2ryui
|
||||
nT4tLgZENsjwbF5h2RkUM+d9mr4r7r5ZTO1pJyv4OgyQEAKvSrYtfQjD2ltgfVLC
|
||||
FUD/jHXOVbIjT3m7+KXKug3IiGlKDYpNGHme5co2zCXtMpHZVB0DSmaQn/ka1u7W
|
||||
daeW7ycscWtC4pXuHODZ3I26/Ct7VUUBJvHQb3cY8/17zAsf7sSRsdrMNJt+Z8dS
|
||||
eBd7WpTABJsmyX53ezgCj/nHbqkqDcsCmzOL9LFGQ7L+bAVBfoTGyStgfXBYjo70
|
||||
vZKKq8aQuIc+oiWSQ3gNuavHw9kNIhG8rPUTlIVvvDHFc2f4Ly67MOzlM6B5A7Gc
|
||||
WKo/+/gqqqTfgJd0Y/wMD2/BonmQSoD0mqhM3RWexdpYzK69ygt1EjQSc3dCWd2p
|
||||
ouxeof7E4ag6swtkwEg5JHR0pxA21DdeZtoz+cfRFYf3ouNpcMMHrdihSwARAQAB
|
||||
uQGNBGBP7VUBDADgQy3SvkDWk42nnSv6Su+Lmzaqc/1kzC7UhByy6J7/XfG7zKOZ
|
||||
5+VPVyRAtmMrQNUYmerHA61czGurOyVYO47TUtX4KXBjb7dWYMGmbwu+2D6a2/a0
|
||||
ZKGVrUnZr1vukCWN6rnNg9wmByNNSPrWyV7dx5YTrG7D9PR/vyw8lsW/zYvSzh/3
|
||||
2ka18SZPDP+oXfQofQPw0HcCKgfjZmSxLl67anNEVl65fTgAHL31YzPsrzWTEyHU
|
||||
N2vtN7ZcxiY4tXhOm4YyBBhEDo/yjufCVc4fZpVouUagHWC5p7GH1nySdRdr5QUW
|
||||
WXzj3naVFWDdHBsEp1LWEwsdaNJk1bD2gTTm7HHEbLI7kxa2ebhdE1y5LWEHKEJF
|
||||
rUtJE9wu1Lsaksq2Dci9v+jg9CcXp0J6yE74DmFKAk8wBMCGVoRidahbn+tsLWhy
|
||||
31XDaHD+6xI69Y7NNO+CvcsRLn8urZrsoc/+36DeGGEmbxXJ70PtUqXUfukSSKpy
|
||||
72A+jTAh+Z5bBSMAEQEAAQ==
|
||||
=AxP0
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBFS2J+0BCADZI8RYk32YeO9gnEkY9RN+4dKb+H1AR4v+IGxmy0UYy+O8bo4m
|
||||
YzkQHTlPpEPGe10/quKk1embDifEfNa9mwcSJl+XUPFlTrSA97SR31mdyK/Ua146
|
||||
GKMW0F6v8aCgLUlm9BCJo/OmOat2jsc94SuKnPiRRywhmapte/8o9t7/0GghqLyj
|
||||
X+Ifz4WSKyKZ8oe9mRFg1ZIA+z52a8QnfyI8WS8bpGHM/dXkBXZpzIDlrfKvoZYb
|
||||
I2DcbOotJK/ZzStAZ81e4E/q2BEw96NUKJC5X+G8qahEFNJDcJz33UAxLiTFqWmw
|
||||
iKLqy8oL8p9qPYlx0IAXoW/GxV7E0rBoA95pABEBAAG5AQ0EVLYn7QEIAMde+nVU
|
||||
cozJy9dzLCUpn91SCoWld/wTaSckxTnVMcr4uNLlJI/2PFjMb9ya91grr1yuwqSG
|
||||
3jE8P0Qdk9Bi6t6NkMIGUSJuzyIipsDDWaiCfjWxs7seFd9c+rgcH6r9CaUbNRfU
|
||||
rPqEZSeL+RDwIIz1gQkXmosF94DjZHP9abZYObH1/Or64CSRD8Ocf6kTRndwJOZk
|
||||
RdDtUX5NPFSiU17E/DoEkyryuXMR+Ci0b/hjQ4JnriGeyy6c0StWQUW18SEYPV0j
|
||||
3VyRRUcOLhJajEu8KU4Xaaxgb/2X7o/BosjjQ8BPPUdTz2wRluU/1tKUQ8D+O8QH
|
||||
7dCR3lJt76kKWbsAEQEAAQ==
|
||||
=ZM2y
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
1f47744c9b6e14f2049c2857f1f111af65925306
|
||||
|
|
@ -0,0 +1 @@
|
|||
5719e50eac5a4b1dd390b72c2a742740e08e7f8d
|
||||
|
|
@ -0,0 +1 @@
|
|||
56b505dc8a29c69138a430b9429c8816dea04cdb
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGPF4agBEADsWnQn3m/dMw1Q6FLALQCEucRkRLw4wcmtzXuuYb2M17aHvEb5
|
||||
+OnXDdgQ2QcnnjK4S3zQp/Jt4ZQnnLORqx919+c+1gT24U06VxeGPW/TLRn/hnKA
|
||||
ZM7bwGCz7em/GQ7JaIXPn3aqGrCiy8j8N5jAQ4ePP5ESQLeWisQFlbKMFVU09B7t
|
||||
0IPG/LQ8xJs/SveQw8sGrz9zqyYE58EauyIKfiI91Ruk2jMcb/m+SRL9Bhen3Q12
|
||||
g6kFrHurLtEWzy1rwELt9g9OILv0FokPa2m0goQRHx4nFY0kIpJ/r9kDUg/tlg4H
|
||||
OxP+5XTJxEXGW2gb9zpmDpdR8aUgi67/Kdm8+norzpTTMAuKCgclCv3bJz2D8Jnl
|
||||
IgEXmSoznn1EnFkm0Qsr8JwkaPC6LkGcI7YqvEdCXtRXduot+9GgWytp/IxrlJ4X
|
||||
vFEhOmChdVdn5lT1T0ka6NxEJcmf5mfgyz9jRUVHINNJxQKP1Gh7LyMFeWw6V/X7
|
||||
RAeU/th1pL2rAeBqn3gnK+CIR82/AVDJJa86BAHiQBYilgs+bGYriXYd0qmIFvYO
|
||||
sSfC87Dbl3kzwcAGWB4d6tezLxrzscfbzWFIa9woy31/OcqK+uglSKbTFsIklhM8
|
||||
Rr2B0tQS1iNzq5gyWGKnh8FsqcAiGvDpwhF7irGhU7fNRVVSuamVDnV0BQARAQAB
|
||||
=1wAs
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
48b086a7d843cfa258e83286928fbf39003c0425
|
||||
|
|
@ -0,0 +1 @@
|
|||
e113159331a1f87bfc2a93d0960d2e8635a91268
|
||||
|
|
@ -0,0 +1 @@
|
|||
a5bd02b93e7a40482eb1d66a5f69ad087600b22c
|
||||
|
|
@ -0,0 +1 @@
|
|||
7119b89feb81209430e65c62c2ad9c8a7d4e988a
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBE7JURcBCADO+9Dc4/JnB+wX+fq+Fr2zUGSPOT6/qjE5kXL4FEbJKsqDSAKG
|
||||
VnbtRrsIUdmNIFQmz71bBDFhRBbrSrkz927k8eUPhYtxE2NmmWSuKgrjF4qviPQv
|
||||
m/7SqGx378m/qw4EvpgGUB8EYif98LYdWp5vsU/zx0Ps9auqvetAzJaL9489oE0F
|
||||
q8FVhve6BMfUUV7zOTCmJnf438YO68upjU0PVBdfFE6Qx4cgCeWbQGy2cooW5azN
|
||||
iIenhuYU1qikmxMHq2xZzN4uSTWLGDpimPyz+Y1aTSYJ/bgn9gPStbI9sojWo9SS
|
||||
5gvNK3XqJzMwxwFow86UcIE0vPD2T6ZlBAXRABEBAAG5AQ0ETslRFwEIANrjVe+1
|
||||
SPgEY9Xfe2+XGN/3q9DHHPP0PXLTGPuWKUmAzkBddNEAXTkPKtyCbH4WXhf4jBZR
|
||||
yFIpLkoGrW/yIeJZNfoq5xET7ldjDaAMNxb59/78JfyctGbEAgUlzueFONk3Dl0s
|
||||
DS5GDiWqJg4orqOtUcY+46oo6Z8ncKBbxIvOL+qv1KLWtzIoxjG81PUMk1/CfTij
|
||||
HgklKtLlbpOHs3m47/28AP2sf6kESKxBwzjgdSyeSci2nCuPoeSfLTJBJlsREL+z
|
||||
DaJES4G2nj6r/rXX9YHnuH9n0hNxFyhcY0ztsIyz1wqx0kiOYHnLIpUJ+2TcR/YN
|
||||
mFCYqZ/co98sDMUAEQEAAQ==
|
||||
=Pb2+
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
cde577234159e222bc56e50f9c61220417aaa02e
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGQYtMQBEACmLu7LRrKxzEnLmRI/fWXuO3lcr2Hazd7DVmMSqH5sf+D6taoL
|
||||
uNRchspbHp804GOltu7lR6rNI5htQOpwVuiF6hu8HORujpv++N/yGdW3LGoT3R9a
|
||||
wNkJIudgOCxSZnNON+gKe4pqdk1R3WKWQzXe5o7PBn8zJen5uYP9MBN66lQxXw7T
|
||||
XsDDXjGRHJth7lOzJi/JStcO3Nc/n8PYz6b+t7LW7vZYshogRq6yc4d0Uktr3ZJw
|
||||
IgiN6vT4I2nHU48O+nqvKevfspNZdyWyrUCkAC9heANiXNEnr34j3EjTpJy4Cfmg
|
||||
By1QxFEaJN7HPf6y4OtTd3AThepK/8o69nw2LIjK6mvWa2ERXSNAVWbSKPlKf74e
|
||||
/x6bBDDqevDx9NXApTLrHRzBKDgQ2I0r68sX8RZTgbzx12I5CYTpDo1JRprVtn+T
|
||||
dfO50o1pxwvlDBuWCPqHERIzF9QhNXUDy7uh6J2s9qho+p6LKn01cOXoOrlMg6ZK
|
||||
syd5Ffo/kqiDv77IMAdaXmYmZelX2y3I0tfM3ccH90u5cDKEhRdiFiW48JPnhcz9
|
||||
QKUvGtT8hywsjkU7MpJf56uVQT1ApKmdL9rOgnjGnGeB9HNxEhXl1z9Sqjc0QAx9
|
||||
mq1TZ9K454lk+AqwAkUppoMez3tmJWULqDFqZkLuh/uAjycHhLSHmOWq1QARAQAB
|
||||
uQINBGQYtMQBEADaTQ8FyQYGKEFydGosLSOPet+Z4VaWWrjF4TOElczfhJnDhGIl
|
||||
iDU8c2hHFbovdWfW5fb2G+mgckyXnUFtO0FhIDpho2Mmz1sR4ZY/1dXJdaeSy2kb
|
||||
OxVTcVVJ3iIefvV7P7k6FGz36ROTthLN+Y0O3ZS9QlXDjtpOcANszgS3zaC2y6T6
|
||||
YDjubU8lMfHAad/VNgCtuG0IcErI23s2hNH5IpzndyuZoYff31UTzMW6KufbQC4c
|
||||
Ak7u3SQYVCq0HP7o4MiC+Tt43tLLE4WZUPpHU2REu96FZTot9/6WROTm7SzSNzS0
|
||||
q764jKe3Q1Y3AY01t6kpQHv0mE1bQ99e6yD/Gm1J3Fet+0z6Q6yB1Evt0Omac6yy
|
||||
EJ1eePB4whGmeyoC5oz94jbTkGkhXS8Cxwl+M7HetH82ShC1XPl6dz67WnUndddX
|
||||
LQnOr1PfXI4k81qUyPuojvMLwKhX9lWhAJImQp2e3PqAa3pZOcjdw7pE77ZvKF2a
|
||||
gwUJ0nEenzfM9oyj2/V5NGCI845Lk1K/319XmxaYghEJIaNBAVDrrkoVdY6tD4le
|
||||
5RKdjfTvnndYsZYh/rJZn+fp5GZAk1hHQsj/yiS4kQ3h/Lt6Gztv5Nsh7U7M1mat
|
||||
SLZtB/pfyHZxHmS4khcR0HGyHUSZyPBbz1Xno0hqU4xWOlndax+peHjnHQARAQAB
|
||||
=IBhn
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
a5bd02b93e7a40482eb1d66a5f69ad087600b22c
|
||||
|
|
@ -0,0 +1 @@
|
|||
e113159331a1f87bfc2a93d0960d2e8635a91268
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFqz2mMBEADf9rwaUU4Up4hEHRt7JnhIClBNYqQr8Oc3QLvtEmsMv6UWHQ/h
|
||||
l70MhvCrAZnxnDmcSEE5/A5VeZSDBm4qM+jH8x+B9zIVMoWS2c3IJeE0Q0bt6MO+
|
||||
j6TQrrXmetyCvzYMz/Dbr6f3alEvh89ImkSZ4XdEByFcoXTdpQ7WUzYNw643F3W+
|
||||
pXg2eMm0DVN6Sqagbeqt1qZQ1S/3RwtSIgfGt0T88eBYMe8fhrLhLvsakERrPBKj
|
||||
01uzeBJ5BuUNZ8OrI23RaF7upDVkoxlZW6dz9u2W0YiKozo0IHP5JdllSAtg4Bbn
|
||||
sSfNdia0TbTT5Pwoz6ncY5ivUnCeHP2nZ02IjTAwNs2mni2KLRKop/SRqKG0jqRT
|
||||
wFDS4XeocvBqpCAHR/Gf1LmR2j+jGGkohnFAqS9ds7yZISnp+5VnEvjs+vGwMh2U
|
||||
ybwGpFJTFE70ntg7t5S48P+IjuUDGWoEE1vZsMmm4ytAHPxRBeERvMhPL7PLLYPY
|
||||
pejtRIsc6qSCBVi9DHneXhP1bh9Osjg9YOckShNQTsZGo2IHxjC1dqXXWn0RNYLa
|
||||
oxqz6/RY1uA809N7/kwG1xBgaRMJl/HNfBVAFf3Tx0ILI7cVGvKrHpDiUfSxLpY4
|
||||
M3EWBRlJ925bkFhEIQ2XHhVh6fhy7W8oB47dnYpTlVyEi6iPh+clUKuZ0wARAQAB
|
||||
uQINBFqz2mMBEACt5yWpYhiY2Tk4NXOVBGBe/r8vwwfKiilH7RcUVi5t7JP9n4IY
|
||||
8vzp6sENykHtsTITRu32QOj7KAu1xo6hSdJ9aUUuL0/xiWF6eiISqa8isj54XuKA
|
||||
4xgDTJb6gS7EFAZgU1PWVAihX75cEWMmNfPLulfqOGaxKm9kgdeo1BGDxp5aFm31
|
||||
EptDrCl2h3VgWDaBOm+Zo2xQyjMEpsBmrZTLtv+VEjDGb6J93sgsTFMd6eAhd+Lu
|
||||
yq62Ap/SmavBbYyhUIv+ay/2Kv+8h8lLc8KJSt2Ox/hDD8NFShEw6Q5VDU6+fsjy
|
||||
CauFeCCuDco9hSSFx9d5dNod51dXKlUz9Umwd5NhdLa/OYW5rA3ohsoP/4HbSPzw
|
||||
2DBacf+No4jHxnk58SU4XGyvDtWSuiTVyDrZGiFEYpPjEXUuwjidiSCa3jb3gfl0
|
||||
0lJjg5wKf47TWgVh94AgHjkZGutv6votGc1SoGS0QNJjRFeTjpr1nEwOihz0AH3a
|
||||
FTkiNBd78rsMctURswvfIjHwGijJMrSKzgKysgUTuuyKhvhEH6C739YweArhJkNo
|
||||
HP4Z91FEDrn5PCtUHY7deGHiARLPcgnN74wq45iGNYmK7Qt7sbWcJQzJqtMzHI9c
|
||||
MyM+h9nm7lOflBVvJo4kTYkIgqwg6rV/BLCv6/ONqmmMmEEh7B5c4GA2IQARAQAB
|
||||
=/Car
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
1f47744c9b6e14f2049c2857f1f111af65925306
|
||||
|
|
@ -0,0 +1 @@
|
|||
ed09733fa05dedf15100abeb32bbf14af07ca77b
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFPaQqUBEACzwC+QX+uZlPAmU3ds3+HMgw12yoEb4Wahc3hqL1nSekUZ4oN1
|
||||
EdKtzIrTORcB5eH987FfbgM4wPeott91ZTNuxr0X6ulHH/YzkLnytMjlipEuoxZ1
|
||||
FwXjTBN187Xc6Tbewco+Tm9BpPNVO7eNlmJih4TRXPmb7Nd3WAb9UYOO/L+iHluo
|
||||
6SmZ9fIw3AReNdfVjIOV2w7fTQJdBt+UpN39hrHU1o2Ok/H5EsS7gf170HQWgpHd
|
||||
0GgXVF49BKTVVu/D+X3+C54DHfMJUwsxJ+KNYuYIsWV8nUf+Prayji3IJLeFBegL
|
||||
VO0ZzoQs+u/PyOQIOTz2odvUIwde0rZCveILi1W4wj9ijhL0eT0n+tepE85vlYr+
|
||||
ZHXrlEelJHq4LhC4a7JSdhJ0UreJM3oTIS4svmR6TuwUjAiO1ewYwfjWB5EWoz/7
|
||||
qQ2fj5gjgP2A69DXtJ4dhj0lrUWpCDy8lgdKAgIpxepE03o7SaZhLRslwCQWBRW9
|
||||
SdSEByx2KwZMcu7cmXSgavc+AiSDD5KIZQJdHwEP7r4OewyRpCa/wplcPAimVUs4
|
||||
KTt7bXtBnw4jiGiLmTiHwZqMmCmSEUOzivG+7wuXsBA0ucivmert1IWamSdT3NRt
|
||||
C6IdH7KR8tZXzmkIl6ARH0WGz109ZrqhU1vCG1tLWhmaqW6VuOr4J7lA0wARAQAB
|
||||
uQINBFPaQqUBEAC0uU0KPaS4FjwYB0fvD2bJ7zLg4PGhlAYkGGOIWMSys4pNd0Ql
|
||||
TIdKqlZ6hmCEiPQOwLAGN+B4Fpp9dU7MhPOTfEWY/ccYcOiebktJvtY5C0KbC3JX
|
||||
bVvYKZXSszVcVIvlEMTXt2WtRTov2cff8uWE7vadXSNQozBH3pGBnBlkzTiYJf8y
|
||||
h9BNqgQ4evJG+nRfTPOPHtPKRCtDaC8CwF5rnyD9CBDuFLxd20i9i7T3tsWkfOV1
|
||||
5FDutdtZU97S43cI5d0apQX5wk4XzM3cEmlYSvW3EffK5K0gi+Vyka8JxpR9bwA0
|
||||
RzuCwwbP4HloAhxVB/R3Zcsy4wweK2r6tFOdA12FigOGbO5+s3Us6zp1q0GL8N83
|
||||
D0D7Y8HMMJmLoPhK2Ddg5T6zrti+2z0vO8d6elmJluASzbMYYk4NMxuJTp+gw0i8
|
||||
iTp9k28/FNZbHsVReoHOeigybawoAOZX3x+b52ehcoIWdX7IiVyTFYsPb5hPPmrK
|
||||
185KDwAnYxwSaoamxhj7MybCNteUFCjVQtbD2UHl7q5nzEwUbJIO2ibwOCTBw7FO
|
||||
zmdCVQ4ex85y/agKnzaqxBg3fnpuRKQmflG24oPhwu64gUW2GZskfCQLmLPX0Lqq
|
||||
06FIcS9qgl2o7LaLDLTdS853E4696B9tMXUOgEtvIftZKdVKE/9RqQ6PdwARAQAB
|
||||
=Dpj/
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBFKQ78QBCAC7JYRWDFIDUVKg3upqCY4TtA9wO88x9Madd+2SsZX6dkmMXgDD
|
||||
MCAOP5zqFgX0ZoPh/sOnkEx9I8owfwfITN2H85tOdJ9rVvuWzgZXQpDkWExDG25L
|
||||
VNVzcTlOC3ZrJevjo62WNL4QPKEnrFPvXa9G+fQabixAPFqBwTjVP5WNABr49tol
|
||||
nwNIKNtiqXHXES9J3G02SIjIS8OgbzW0WtSwP8qi8EUzggnCTRCh+lt/Zz1XxEx/
|
||||
Zlk07uurOebvJ2wKJU2jhzYKMI48h4AI7qowjU7+IrGmEmSQ/UIyAnPFCcmf4Xyi
|
||||
Sa795ddZd1KKy5Zxl7SZk+2s2RXzYP3Yyty5ABEBAAG5AQ0EUpDvxAEIAKYmziBF
|
||||
eMz5y9+sl5nOhCZ52H6tbCbmPT5pDS8ct0hFuAocFaOlq0fUyPPtH3S3vgCaNsg+
|
||||
yrZgzUSdvwWKWBiJw/vg+Yw8cluNnNScRzaZOlW29rBnKZAvZVuMoQ3WoR/8kF26
|
||||
BgSaJ1hRduAQLQMmjONWuQSGsU/AyA0K1TQsHNpAuVJIS2PdOuAnf67YDx9WOn8u
|
||||
+Bk302Z+7ppy88s95/IyG8Mpv3cqNaaGyfHRwMPIEZxSOKwnh5yhvgp2Il0BTfwW
|
||||
WZeK8Ls/uBask2FllcQLgQMxkWFRODUaTK9cjSkmXuu+O/9kLnexUvuCdFUdxHqw
|
||||
lz3uqx1u7XBxnBkAEQEAAQ==
|
||||
=sePN
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
7a1d848e7c2af85eeba69c99e7bf252cf360097e
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mI0EVdDLQQEEAJMtYCaTA56YsP5RzQzPvqVTaR2nZ27qRk36blHB9WmXK+NHpGeH
|
||||
PHgq59mLPVueo2/M5k/fFrCe36jHePP31gYpFtueeYDfsofHwod0WhsHyC7JfG8d
|
||||
jEnSczTCmOHRZ3ed9ef6SeWUozYCQAX/tAbpoCthe0lTDYhFhkzVCe/FABEBAAE=
|
||||
=45ZY
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
120d6f34e627ed3a772ebbfe55c7e5e701832382
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFyrDesBEADSY9ho1u1DQ8MY+jc4xApFAagCd8VB+YT96A8FzvPLuj7f8M4T
|
||||
JNjd/Te7kR47SW5KoROiucoVw/YrUnyaHw5Ph+vF1msTlxD3OKU2PiVHI5JJgg/1
|
||||
WUioL4wASue+r2QCOc73a2s3eVfSFjozNE7I/gXlbceuN5+7O8a2eEBDCErH6TPn
|
||||
yD4ShnnRPtMfBTYKMCV+sclIsjO4buxyCfqySyxHS4vGXxgGxZVvc2HrSbL+JFo0
|
||||
PMcjPSaK6u+w2KBo06HS7TngrRkxHmqzuoo4xc8HGaSA9XKyQPOrcerIsdns9EpD
|
||||
ahk556qOtRQay77tDwF5bJZvA37DJI3QfVVXTZBFpPhFHmP5Ji/6OTsodVhpTQr1
|
||||
mycP+zAyMOzD+gvnJO302PFWCZblMXbmVMToefNIXAAobTOaG3QwDsvftwQX9c0V
|
||||
ZTDSoZJXTsYdX/2AOWOU1RMzE+qbzgm/GLZZ9ytLHGdodL4tmo3mitPsm4FLwyUH
|
||||
TjcP/SsZZQk2mZyiR7/vl+BvSTqnHTXj+10p1+MIOPiUAwaa9JVglV4odkJHZwwI
|
||||
7yEKNqyDeMRBbxtZn79l+qmzsMi+51MRdgPiBRktPdwC6w+bkxfSKCSWdD59fbNg
|
||||
91jFktNtUMK3L2NLX6YRuQ6+VRKGqEOI4l8hEDKM7/eS8Y5Dxe5RmesoeQARAQAB
|
||||
uQINBFyrDesBEACqVQoHqtE2l/1crv6Ym49ZHT+wtmtfS4D/ZkthHz3Bc0Zne4+B
|
||||
DbXtdG1WhUvO+S7CRfeczXxDMmMsUeN0/hzcCG03QguFHQyQL9IIccAZRij6TR2I
|
||||
aF/N43fZgfL1ai/TaMgXDv7LTbe44MK3w4jqfrd31Ee+laN+gluG+o+LJBkYfpzC
|
||||
MlkXp1Xa5kuFFoaGn+Dyy0MTs37jnbgblyraGogkciERzlOA+3hMnolxTfx5v/Th
|
||||
Mq1tngshYw/PkLACejKCpJvi03tJF3Q9d5q81AqSyqthSnfIITfOJ40U3J9pDM8Z
|
||||
WJXkkXunlQIUcdNvQAzjegMg1KB8TdVuNcFW7ZrtPAOsSxEBk+Ty/xhXBLxoeHXj
|
||||
WwVlbeSAumCZgVqkkvuxc+0gIocqUKjC/VqTyoENX1z8/dbkiGRmvebUJaYxoiPE
|
||||
x8h9O30zqKh42ovM5xiEHajZ0kJBLJgg225VCdJ+4ce42LkZ0x67EcDZYdQ97iRo
|
||||
rOPqBK11ReeexFsrkfcJoywBnlxIuPKqJ1T70JoqDX9TJHAM2n07kbxjU8E/pqGE
|
||||
jezk+oQpJqGTXibFRizvZbKDeBPmJXVCUHGphs0ZXyzgk+WGEqBuqR7K3dZKykCm
|
||||
AZui12ZyHxSA/PKzaUKMAQmXrg4f3LxmI8GDl4EmuSykK6wAO0I+/X08pwARAQAB
|
||||
=BwIl
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
7119b89feb81209430e65c62c2ad9c8a7d4e988a
|
||||
|
|
@ -0,0 +1 @@
|
|||
5719e50eac5a4b1dd390b72c2a742740e08e7f8d
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQMuBGJIi4URCADFspeHyziASBuPXpLpikWjmC3D6VtTaDT17ogOyGLf6/sjsQUz
|
||||
0KS3PzWBuPoqRGRpTtZxJ5yr10apr8mJF9Po5LFkrtcexaiYmUWAZAik894OhKt1
|
||||
O9he2Sh1OTUiTmFU4ImQY+AeRqASZMYabhbbJOfQLJV2Er+foKzRC0T2MSQVjDho
|
||||
NywU1IsQG58lXEQNOA50uCuhnaCUy7Mh/GKCejyBaqXMtd517evHhqsJd9tWMNW/
|
||||
W2xKvGiH2mWSRjgllZ0h3zHuUEo8xqetOuHrDGGRpkzRES0kIT7En39hpVpP662Y
|
||||
97Wolv4C0/UE4rlfCmiplf6mG9QPET8wZeRvAQDh+Z27sD3ODWU2P5s/EXzsmBoi
|
||||
kK2KzGE+n32kRY4fHQf7BE9PfZ3f58KICY7p5apxP/6+bl8uq9vcszGPHl1aT2cH
|
||||
oQpPm5i2UHRoWXh7U9TpKWxxqx+yvJlPhV1c2DTvdbx530xEMF6up1f04+axhlqE
|
||||
DzjzOenwpnS3DR5iUqflEM33njj4tK+Tw51kXjyBxafPmaKEwuqzYzCFoojidmSx
|
||||
Vk4la9hCvIJzGQ+3iTX6OR4d1lGvRGmVm2g2AVrpZ1yPncgjCu5qFH9UiBblE8LV
|
||||
SVGBufS86pRwTrwW+fXaKw5iIyiPMSSE11H8uw4q75uFVnmEd4JUtQxGjnv7vbjq
|
||||
7hAeE3T4HlLPFBr3y8c3829HY0ozNVKKtXs0/lBzwwgAm/59t1B/dMl61BaufnY1
|
||||
5tYFAcStTrl0c3ZAYHO6DWYTJ8ZZQqiBfeyVI3yqWKQAYg0DxC9AzTtNSOs7SGJK
|
||||
dgdencJoa0ElraZuVXfb2Pr6cBv5wKRfU7ZBvHfCE56vJ/0zAvGbIRy4DYup8+Pj
|
||||
vcLSSWvQMT0iHk9TTw6sJNV/S4aH37Ux2N3SsARvqR1nZ7rQaGN5eTg7qHmwgIgd
|
||||
AoHa2Jd3ixOKuLzwIF4hoh+XKI7bYzVHwYq6yVZWevloxlky0FfAXCH2/lrTGyvj
|
||||
i83tPUIushngZ07senzgK0IWQIuLVjl03tJ/rc12AtiZkx1/ykssQ2uJolIRLfou
|
||||
u7kCDQRiSIuFEAgA+Roa4drFpqXxAR4ZjJ2WA0v9WUGWmbZr03BpqjoWzgHvM453
|
||||
IbSQ3e+l+DYzfxw0EpVKs+7GiRLP4/a1f3v0ubBPf/QHfiY/lzfqUDwCUNfB8Zkw
|
||||
ygvsydthI+DD6hgWOnd6la3O5vtFHvpuH8cv6uYJVWIn5wVbvAbyhJIn1Ug3++Qq
|
||||
/g4Dm7QCKsu/phulcgJtaZuDTPRGKLNhmwVbO7E9chjW1peaEbYhwI0H1jHU8onX
|
||||
s+00uiM0baOnpI20+5bvI8Zm8wYu3FGmzhykOLKOwd8y8NlR2VSaTYZAGO2+h2vm
|
||||
/PWuMnnl9v8mpYi9XbHdrf9KndAcfx+gYtjdxwAFEwgAqg9KGwxXoPtahCzrBdq4
|
||||
M4FK7zJyq5GVtSQXFEzPjnlF4xvcF9ntG+67S7vuPAvTsHyhvfGaqBsssi/eDSVC
|
||||
xD9FIYXGZDrrVCCoMkM1R7qmE3EZKr2fjBKUmmQb8qu6sknjDqUkNwyolhMip129
|
||||
AUvrOW7SV0HK33SSLlbzdv9z+COYM5lyLvgqmWjInKziuXpG5ATszGqlz1BMH8xh
|
||||
tFDoOApVnVPXPO+pLGbxruy2t5DhVIEnsuV/A7rs6ko8XCXk1+njvIyCQndU4m+j
|
||||
NRqPU86Qch3+qZyUBuhwmL/u9VsKcrOl0w7KXwxWTbkqQSZynt+NVtpuPKNxoaKz
|
||||
OA==
|
||||
=DT4Z
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
b46dc71e03feeb7f89d1f2491f7a8f87b9d8f501
|
||||
|
|
@ -0,0 +1 @@
|
|||
b46dc71e03feeb7f89d1f2491f7a8f87b9d8f501
|
||||
|
|
@ -0,0 +1 @@
|
|||
635ee627345f3c1dd422b2e207d3516820bcf6b1
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBF3HgdMBCAC3ET5ipFXdZ9GGMbtsCQ3HGT40saajsNDOdov2nMJxzKkVe3wk
|
||||
sN3bpgbsqBU9ykVkIhX8zV5+v8DOBzkV0pJ2eLjFa9jBPvNjV+KoK2BAI5pzNzYg
|
||||
sHPwo1aRXdI0MvCy+7iaIiiGF4/O16AhU4LmALHnaRQZCyuN6VOQ8rlqNvcczwUf
|
||||
J2DQeLHqR/tsch7S01hGpPAptBeu19PyAlQsntYN0yLCLKoe9dFXWCDkvd1So5LF
|
||||
6So+ryPqupumBbh4WxCmTp9qwDJYJItjAE0zyPe890FurOtxrFTwtRtX6d6qGKkY
|
||||
/B4T3r0tTE1EiOUpmSnxmGNItMh7/l5UtnHjABEBAAG5AQ0EXceB0wEIAK7dVAoq
|
||||
ZqBw9twxk6psNcTmIrfQbvjasKl/+PfLCfBNklD/nwe0CLz799fFSFMezCg43ZPC
|
||||
KIescCQ5t74r0D6O/QTGMpUyZD+w4JhZkMQYy2HjImfMNtPVOWb+XaLku/RloPt9
|
||||
MSG2mtA25TTp295N4mzMPKq0r1PzSa8jj4Yfn3AzzSXXLq6PwoDiljQ91IWBvJL2
|
||||
IAUAMaxSxzq3UqJnlbX2h0yMM+VC0nbSmbkK8mUNltg1EnngJKV1mKRG+Y1GDmZZ
|
||||
1Es19tEwUMsV9x1gt05YlecC31woUkL0//8i1kWuWG7dqRMf/8cXaTFA1brVJ33b
|
||||
/G0VQP/a03UaVd8AEQEAAQ==
|
||||
=AghA
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
635ee627345f3c1dd422b2e207d3516820bcf6b1
|
||||
|
|
@ -0,0 +1 @@
|
|||
f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8
|
||||
|
|
@ -0,0 +1 @@
|
|||
e77417ac194160a3fabd04969a259c7ee636c5ed
|
||||
|
|
@ -0,0 +1 @@
|
|||
f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGA+eiIBEADDcMhLJttJzEdu0drh/9d3wtVvdCm6cfDk9dVFxk4dt5MLe0f+
|
||||
Bv8+WKMmfbsmZzj4/f9nwYMXk3yx41iiN41uuc+YTT8lHwsOdmlPClBAQmtg+VT+
|
||||
xTIXqGKQmsElNjKSnGMzC4wI126cZrlv9uuy1NkDfjv1UM5hCVW/e+mysfgDbF9G
|
||||
cEJajBJIQc4Ps99YruNzbZr+kRis76A9CGtBcxVDniNcNNO7ch7rQ13Df87gQl0x
|
||||
WJrech4mJRhfprqkeM9RD6khTpBAXSXuPOrM6x0hIWEILq0JllYQ00G1AznXgogP
|
||||
fbsqbnN1wiztwXRVOupSOsH01CN8ANS5e+ZIWrc49QxpRHLue+r9ijDVAWQlF3N7
|
||||
2AhUcK1//BApF095z2g1d9W/+BVbwn0MZnLjjNHZqU0myJxSSBfSS3HsKd+xWurk
|
||||
Lp5yBEUaxgKBg90f8ikOl2DQxNt1EPucI51DwsfPbMXkAEEuBTOaZssIAI8DMxNX
|
||||
32VmM5O9ZPR8HuMDoTgwYBCuemp0Zt5JnWyhWWBvpWzz+4qh3ssAysjO7Zmpkh6G
|
||||
2vmG4WNzY0ZsttpvKLC/Ry1c8oKpw5vCM7+EYpH/lj7i9200hLQ+82D2ndxNPbBJ
|
||||
RNUBzBmiyAPcBQ8IZZjOpAfBC4UqaCHDfgz9hPlhEHZAEFHLBHEGd9eXwQARAQAB
|
||||
uQINBGA+eiIBEACXWHVGrQDyqTqboO3vXxCyM7NJgCEeN5Cp7xK+SGBPz/z2qfol
|
||||
IR/lbiFqL/aaGVaSsCKh2yz8kGuPNVsGLyfvO0pWRb8reEG9eXTBVJxZmOQ4Ulhm
|
||||
oBKLvEniOzPCqEPWGxSv2FBhXKeJyViLMD+go/6+jXfJmqBPFFALAN3CWiIZDrCj
|
||||
FqiduWXMapSWptVDtWsq2Q+LD97U0+ESWzvt7BVs/NWzTbUWvXHYvipZ2ZFZstr+
|
||||
ym1G4IsjYB2iy46gjePYh2aG6YSsG9tGe0FMVf1/dJaGz3U0ZMD6qicm5FYDNaXq
|
||||
217pXOd+gvvpi3SxdaOiSMfYPuhoAv5y66+x+zqWNsNVPeRZydtWhbvhpNERSvCx
|
||||
r9Agh+4WC0XPQEGrC+Hyau8rYcwMndAwR/Pw4wNKJuB7IqWnk8y/1m3Br2vbc+hi
|
||||
uhFVOx+ZkBJrlUcFLVT2D/3fonDrxPWmOJvzgqlSeZaFMFNe5/UoXBAbZb/1E1pj
|
||||
6uWrun11NOrZdsD4Eic6PzERdWYoWgd+7fFqeR3CQDMyOY1XvetOgPTCzwAYjLzR
|
||||
UXTENayf/mhXtIbiqYLrx8ljz3HN5XUcFo9Q5Zep1e3IJNrC34dea6azh/N8cgPa
|
||||
4vEKkHI3g+udt8n08WXGMMgrdvi3W/5Sx2UuKjJn/Iu0s13e+C9/odyLhwARAQAB
|
||||
=X8g8
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
56b505dc8a29c69138a430b9429c8816dea04cdb
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGB980QBEADLBOfY981RbUf7zI9AoXcxGignXkYbeSvxIMML9vAbnhmuHwa6
|
||||
h+81ZTY2XK7Rz211y129YidPykkiLX9mY+OWvJsj7dTyVTcIm6MU5ETDvovfmKWg
|
||||
5sJRrANAnkZ73UVJIKTQC9HonBIpiPLmDEBfReHkNsXtYqS4fyZO5tkjy9ejaw2p
|
||||
5qpOS9WixIvZT43OfzH+8O4ecmDrOZ20azogcWqLCQ/ZDbfnyHFH+BvA8bn4bS6y
|
||||
304655N6cxDbShHrLWP6erbGozmLu/hVabCMSJgGRRb8NcUzJQ5rwh27SvKyMGKE
|
||||
8u1ek57d2wv2pI+sACBMzYlrP1S9MTcpUsQ4YvDQi9Ic1QDw7f2KkEsEnxs7h17h
|
||||
AhbBwEvNWqpFkKjI4ApYsM+/fPo0/lsT0lskjKrCnoEL9+sLKDcp85cR1dPC5ELf
|
||||
b2bhgjqccIk2gASrjmTiryF7gUiMTgZVU5PF9f0+p1pGqC4GIjJOf/JGhhGEyzVt
|
||||
BNvJWUgImqWbSFOKWfvnmdjZyULAVouxrrxF1vPN2U7KFurmSQV6tq/1Uf/qccR9
|
||||
/uhEI30ypv4OrVi+8WoVsEamag/AlnRLFCEjdfB0oUy7V/lPqMxRoxmhiTX+cCjM
|
||||
QkFfcspJt830vwct0pi4rtYt9pk1Roh9tOKh2UKRDGL5DE3rZbJYs+6TAQARAQAB
|
||||
uQINBGB980QBEADfm6alrriLjrDLwBlQDIayE/SCyieZlfCsdcM2tcnFF8dznHMp
|
||||
Dimke7NmZ7YYpuSi4im6920D3omARVBHE+JKAcIchCRPRTH0ZvbVx7bzdiPztc/6
|
||||
su9YJ6NbJS81Mk5c2pAdw6e0qd6Zw98aVyjfcd8Dy42uuBfQrHSuYYpXy8kn+WZ7
|
||||
zou7d0CVskvel8GhqPshY4Vwm8aBDXrydEIoEYhlhnzQTUmVylaHLQAnKSJmkWCK
|
||||
o7UUkH1B2vfTZXAIVOt1q+5bkR82AT95Jj5JzKfoneoeXeIwIIbj+j7y1FM44e3V
|
||||
DhjY7TsN4tyOqzMRZ5/6GcVpJ9Zns35o+pGrVa02CUQFEdZFrH1fF84MglydRgHJ
|
||||
QsFuqOUt5cQgRpXMAhu/aex+Y1YBjyWPqRFtIqJMqejLRZ2SGAxQWOXOrW8nJQ0+
|
||||
2leLsFhgbOvtYRI9NBm2kPZomHnrHmmG5EaBwjOu0xXPMEooIICUfCPlqmonXJNI
|
||||
Pm2pZXp7geJ9zV7b83iWkJK4YqIs4UM78T1kb2EUHguAR+eS7kc8Z0wKxn0n/1e7
|
||||
lT5/hlp7ZR7wn/qjr3SAR6RjfIevakD1tK1zj4wJgPWmTnraeyyzrOCq7z4tNGgG
|
||||
ZSvSrKWckb4h35iSEs6mcAEVRrzB6a++HBGlTCOQQ/is/0uUFr4yP5R7oQARAQAB
|
||||
=HqzY
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
ed09733fa05dedf15100abeb32bbf14af07ca77b
|
||||
|
|
@ -0,0 +1 @@
|
|||
b46dc71e03feeb7f89d1f2491f7a8f87b9d8f501
|
||||
|
|
@ -0,0 +1 @@
|
|||
7a1d848e7c2af85eeba69c99e7bf252cf360097e
|
||||
|
|
@ -0,0 +1 @@
|
|||
e77417ac194160a3fabd04969a259c7ee636c5ed
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFKD+PgBEAC8IkWujQlmU0/7+QPZFsc/z/rXgg7BQyo330QK4HeMzeCK6WHa
|
||||
SWzVDM9h6nFDs6Xln6YexbZUjLsxS/a/Ox2i26Qg8B+NghgiratbdJsByRrU/3la
|
||||
0d8eYXrKO8BU024o+go+LzJEBqOb3+bn23dwF96dyCUfnhabYz+ZbPd3VmZV5D3G
|
||||
fv0vBMnQnJkToOW6fVEoqjzCpEQmSFCWe6Cryj0veci2JmFIiiLA45hwuMg3hj92
|
||||
Czd+mdxcURtwm4XFfUoO32a5nAhNfrzKfz2eoV4my79MC8JA8OwQau5aksVu0Ohs
|
||||
3z5IsdXi2hUqPF3s+j6BQFwSPmLo3r5XwZWTx9RAM7D6cOHWr2jW61o32t6ABSiI
|
||||
cfhECTb0arEvjGtr56kD2JhgTA5GTIBGPwbdNBHMKZc4VmIFITnUlJ7MLoRv/gP6
|
||||
XyCerPB4Cm6kOTcNZnm33yUMNB6GfR1/l/+3hCFP+0z4/WJ0aK10d3/9opikkmep
|
||||
gmNtedS6ScgOnU3pj9UF8jEMleK47nD2njc7FhGKdB5+I59L1ri0tSUdMhpuBAEd
|
||||
u497Ei/Q1rt+vkNwA8uMQgXOGka7NLpgPcNw6sDCq1fecCEpt/HgmGrHdK6pY8KE
|
||||
3I1xEGP6GG5DcBs57cbZv1Jdjf3A8fIozX7Ntn+7nBCHUVEWCzaASlQYrQARAQAB
|
||||
uQINBFKD+PgBEAC8ZqGlqxaPZ+Y9QNsroptbfZ8/YL/+09qEki6bJ/bPn1wwAOpf
|
||||
Q57LSHryrVFZXnqMO/+oSTb6zNRvy4C5VG8Lvoc7JqGSo/fc5nfeZwFS1v58j4d+
|
||||
6AfWPPmg0f4mt3JASoHqJVwsRTEQsZsuaykPulA9DUsB5/wMQXlJLU/YewcmkDig
|
||||
QHw1bhG3KROTFnnFp1bWwEQ0C3zTaB9mJcrCswKUnauDIWGeR0r3ALGllPwvzr4R
|
||||
cwwTLUHzaQeeRzJL39oRpU+iq/3WW4HN6at8BQ2jHiat6QidtWOQNKQTvrjybs6X
|
||||
gkRskZniombGiTbDgsTp1/4BRMDb+0nRGh2z3QIj4ZPVg0d2ISf82M0AMdZpzPXX
|
||||
6Jw3o/A7Tv4pJa5gHzOUTDThkOFiQROgVP65nvPt8JPBIvwL5eaG5rzDXm4iWq6a
|
||||
cMnREGz7jQdC07UvVxRAbVa4mCHGJKNskRDbWdGZDT4clYFoMQbMup2CMMkObJac
|
||||
OTxiZ4xy7vQWZ2obNkb37RNrIKqCFxCcuQl/9AhlkbAFFrodEqTjNHOFH0uq1/0B
|
||||
uH3XiW9Xih3AZ0fL1wq7qrl2DXBIYMAbzABoQviGYoRXvApSSfuozFnV9B/y8hyJ
|
||||
DQRInzHslXW/lkdrBWiBYDb9rxKKXCzE1WYYHhcw0BG8dj3T1LJ3c4NKcwARAQAB
|
||||
=Irkl
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
cde577234159e222bc56e50f9c61220417aaa02e
|
||||
|
|
@ -22,6 +22,7 @@ plugins {
|
|||
dependencies {
|
||||
api(projects.buildParameters)
|
||||
api(projects.verification)
|
||||
api(projects.openrewrite)
|
||||
api("me.champeau.jmh:me.champeau.jmh.gradle.plugin:0.7.2")
|
||||
api("com.github.vlsi.crlf:com.github.vlsi.crlf.gradle.plugin:1.90")
|
||||
api("com.github.vlsi.gradle-extensions:com.github.vlsi.gradle-extensions.gradle.plugin:1.90")
|
||||
|
|
|
|||
|
|
@ -121,18 +121,14 @@ tasks.configureEach<Javadoc> {
|
|||
docTitle = "Apache JMeter ${project.name} API"
|
||||
windowTitle = "Apache JMeter ${project.name} API"
|
||||
header = "<b>Apache JMeter</b>"
|
||||
addStringOption("source", "8")
|
||||
addStringOption("source", "17")
|
||||
addStringOption("Xmaxwarns", "10")
|
||||
addBooleanOption("Xdoclint:all,-missing", true)
|
||||
val lastEditYear: String by rootProject.extra
|
||||
bottom =
|
||||
"Copyright © 1998-$lastEditYear Apache Software Foundation. All Rights Reserved."
|
||||
if (buildParameters.buildJdkVersion > 8) {
|
||||
addBooleanOption("html5", true)
|
||||
links("https://docs.oracle.com/en/java/javase/11/docs/api/")
|
||||
} else {
|
||||
links("https://docs.oracle.com/javase/8/docs/api/")
|
||||
}
|
||||
links("https://docs.oracle.com/en/java/javase/17/docs/api/")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("build-logic.openrewrite-base")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
openrewrite(platform("org.openrewrite.recipe:rewrite-recipe-bom:latest.integration"))
|
||||
openrewrite("org.openrewrite.recipe:rewrite-static-analysis")
|
||||
openrewrite("org.openrewrite.recipe:rewrite-testing-frameworks")
|
||||
}
|
||||
|
||||
openrewrite {
|
||||
configFile = project.rootProject.file("config/openrewrite/rewrite.yml")
|
||||
failOnDryRunResults = false
|
||||
activeStyles.add("org.apache.jmeter.style.Style")
|
||||
// See config/openrewrite/rewrite.yml
|
||||
activeRecipes.add("org.apache.jmeter.staticanalysis.CodeCleanup")
|
||||
// See https://github.com/openrewrite/rewrite-static-analysis/blob/8c803a9c50b480841a4af031f60bac5ee443eb4e/src/main/resources/META-INF/rewrite/common-static-analysis.yml#L21
|
||||
activeRecipes.add("org.apache.jmeter.staticanalysis.CommonStaticAnalysis")
|
||||
plugins.withId("build-logic.test-junit5") {
|
||||
// See https://github.com/openrewrite/rewrite-testing-frameworks/blob/47ccd370247f1171fa9df005da8a9a3342d19f3f/src/main/resources/META-INF/rewrite/junit5.yml#L18C7-L18C62
|
||||
activeRecipes.add("org.openrewrite.java.testing.junit5.JUnit5BestPractices")
|
||||
// See https://github.com/openrewrite/rewrite-testing-frameworks/blob/47ccd370247f1171fa9df005da8a9a3342d19f3f/src/main/resources/META-INF/rewrite/junit5.yml#L255C7-L255C60
|
||||
activeRecipes.add("org.openrewrite.java.testing.junit5.CleanupAssertions")
|
||||
}
|
||||
}
|
||||
|
||||
//// See https://github.com/openrewrite/rewrite-gradle-plugin/issues/255
|
||||
//tasks.withType<RewriteDryRunTask>().configureEach {
|
||||
// doFirst {
|
||||
// if (reportPath.exists()) {
|
||||
// // RewriteDryRunTask keeps the report file if there are no violations, so we remove it
|
||||
// reportPath.delete()
|
||||
// }
|
||||
// }
|
||||
// doLast {
|
||||
// if (reportPath.exists()) {
|
||||
// throw GradleException(
|
||||
// "The following files have format violations. " +
|
||||
// "Execute ./gradlew ${path.replace("Dry", "")} to apply the changes:\n" +
|
||||
// reportPath.readText()
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("build-logic.kotlin-dsl-gradle-plugin")
|
||||
}
|
||||
|
||||
val latest = "latest.release"
|
||||
|
||||
dependencies {
|
||||
api(projects.buildParameters)
|
||||
api("org.openrewrite.rewrite:org.openrewrite.rewrite.gradle.plugin:6.6.3")
|
||||
|
||||
implementation(platform("org.openrewrite:rewrite-bom:latest.integration"))
|
||||
implementation("org.openrewrite:rewrite-core")
|
||||
implementation("org.openrewrite:rewrite-gradle")
|
||||
implementation("org.openrewrite:rewrite-groovy")
|
||||
implementation("org.openrewrite:rewrite-hcl")
|
||||
implementation("org.openrewrite:rewrite-java")
|
||||
implementation("org.openrewrite:rewrite-json")
|
||||
implementation("org.openrewrite:rewrite-kotlin:latest.integration")
|
||||
implementation("org.openrewrite:rewrite-properties")
|
||||
implementation("org.openrewrite:rewrite-protobuf")
|
||||
implementation("org.openrewrite:rewrite-xml")
|
||||
implementation("org.openrewrite:rewrite-yaml")
|
||||
implementation("org.openrewrite:rewrite-polyglot:latest.integration")
|
||||
// implementation("com.puppycrawl.tools:checkstyle:9.3")
|
||||
implementation("org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:1.9.22")
|
||||
}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
import org.apache.jmeter.buildtools.openrewrite.OpenRewriteExtension
|
||||
import org.apache.jmeter.buildtools.openrewrite.OpenRewriteProcessTask
|
||||
|
||||
/*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
val openrewrite by configurations.creating {
|
||||
description = "OpenRewrite dependencies"
|
||||
isCanBeConsumed = false
|
||||
isCanBeResolved = false
|
||||
}
|
||||
|
||||
val openrewriteClasspath by configurations.creating {
|
||||
description = "OpenRewrite classpath"
|
||||
isCanBeConsumed = false
|
||||
isCanBeResolved = true
|
||||
extendsFrom(openrewrite)
|
||||
attributes {
|
||||
// TODO: add toolchain and prefer the relevant JVM target variant
|
||||
attribute(
|
||||
Bundling.BUNDLING_ATTRIBUTE,
|
||||
project.objects.named(Bundling::class.java, Bundling.EXTERNAL)
|
||||
)
|
||||
attribute(
|
||||
TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE,
|
||||
project.objects.named(TargetJvmEnvironment::class.java, TargetJvmEnvironment.STANDARD_JVM)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val openrewriteExtension = project.extensions.create<OpenRewriteExtension>(OpenRewriteExtension.NAME)
|
||||
|
||||
val rewriteRun by tasks.registering(OpenRewriteProcessTask::class) {
|
||||
}
|
||||
|
||||
val rewriteDryRun by tasks.registering {
|
||||
}
|
||||
|
||||
plugins.withId("java") {
|
||||
val java = project.the<JavaPluginExtension>()
|
||||
java.sourceSets.whenObjectRemoved {
|
||||
val removedName = name
|
||||
rewriteRun.configure {
|
||||
sourceSets.remove(sourceSets[removedName])
|
||||
}
|
||||
}
|
||||
java.sourceSets.all {
|
||||
val sourceSet = this
|
||||
rewriteRun.configure {
|
||||
sourceSets.create(sourceSet.name) {
|
||||
compileClasspath.from(sourceSet.compileClasspath)
|
||||
compileClasspath.from(sourceSet.output.classesDirs)
|
||||
javaRelease.set(
|
||||
tasks.named<JavaCompile>(sourceSet.compileJavaTaskName)
|
||||
.flatMap { it.options.release }
|
||||
)
|
||||
srcDirSets.create("resources") {
|
||||
sourceDirectories.from(sourceSet.resources.sourceDirectories)
|
||||
filter = sourceSet.resources.filter
|
||||
}
|
||||
srcDirSets.create("java") {
|
||||
sourceDirectories.from(sourceSet.java.sourceDirectories)
|
||||
filter = sourceSet.java.filter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
plugins.withId("org.jetbrains.kotlin.jvm") {
|
||||
val java = project.the<JavaPluginExtension>()
|
||||
java.sourceSets.all {
|
||||
val sourceSet = this
|
||||
val kotlin: SourceDirectorySet by (sourceSet as ExtensionAware).extensions
|
||||
rewriteRun.configure {
|
||||
sourceSets.named(sourceSet.name) {
|
||||
srcDirSets.create("kotlin") {
|
||||
sourceDirectories.from(kotlin.sourceDirectories)
|
||||
filter = kotlin.filter
|
||||
// Kotlin source set includes java, however OpenRewrite does not need it for Kotlin.
|
||||
// OpenRewrite uses compiled classes instead to get Java types
|
||||
includes.add("**/*.kt")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
package org.apache.jmeter.buildtools.openrewrite
|
||||
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.kotlin.dsl.property
|
||||
import org.gradle.kotlin.dsl.setProperty
|
||||
import javax.inject.Inject
|
||||
|
||||
open class OpenRewriteExtension @Inject constructor(objects: ObjectFactory) {
|
||||
companion object {
|
||||
const val NAME = "openrewrite"
|
||||
}
|
||||
|
||||
val configFile = objects.fileProperty()
|
||||
|
||||
val activeStyles = objects.setProperty<String>()
|
||||
|
||||
val activeRecipes = objects.setProperty<String>()
|
||||
|
||||
val failOnDryRunResults = objects.property<Boolean>().convention(true)
|
||||
|
||||
val resourceRecipes = objects.setProperty<String>()
|
||||
}
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
/*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
package org.apache.jmeter.buildtools.openrewrite
|
||||
|
||||
import org.gradle.api.DefaultTask
|
||||
import org.gradle.api.file.ProjectLayout
|
||||
import org.gradle.api.internal.file.FileOperations
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.api.tasks.CacheableTask
|
||||
import org.gradle.api.tasks.Classpath
|
||||
import org.gradle.api.tasks.Input
|
||||
import org.gradle.api.tasks.InputFile
|
||||
import org.gradle.api.tasks.Nested
|
||||
import org.gradle.api.tasks.OutputDirectory
|
||||
import org.gradle.api.tasks.PathSensitive
|
||||
import org.gradle.api.tasks.PathSensitivity
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import org.gradle.kotlin.dsl.domainObjectContainer
|
||||
import org.gradle.kotlin.dsl.listProperty
|
||||
import org.gradle.kotlin.dsl.submit
|
||||
import org.gradle.kotlin.dsl.the
|
||||
import org.gradle.workers.WorkerExecutionException
|
||||
import org.gradle.workers.WorkerExecutor
|
||||
import javax.inject.Inject
|
||||
|
||||
@CacheableTask
|
||||
abstract class OpenRewriteProcessTask @Inject constructor(
|
||||
objects: ObjectFactory,
|
||||
private val layout: ProjectLayout,
|
||||
private val executor: WorkerExecutor,
|
||||
private val fileOperations: FileOperations,
|
||||
) : DefaultTask() {
|
||||
@Input
|
||||
val activeRecipes = objects.listProperty<String>().convention(
|
||||
project.the<OpenRewriteExtension>().activeRecipes
|
||||
)
|
||||
|
||||
@Classpath
|
||||
val rewriteRuntimeClasspath = objects.fileCollection()
|
||||
.from(project.configurations.named("openrewriteClasspath"))
|
||||
|
||||
@InputFile
|
||||
@PathSensitive(PathSensitivity.NONE)
|
||||
val configFile = objects.fileProperty().convention(
|
||||
project.the<OpenRewriteExtension>().configFile
|
||||
)
|
||||
|
||||
@get:Nested
|
||||
val sourceSets = objects.domainObjectContainer(SourceSetConfig::class)
|
||||
|
||||
@OutputDirectory
|
||||
val outputDirectory = objects.directoryProperty()
|
||||
.convention(project.layout.buildDirectory.dir("openrewrite/$name/formatted"))
|
||||
|
||||
init {
|
||||
// Gradle does not have FileSystemOperations.fileTree, so we can't have .files initialization
|
||||
// in SourceDirectorySetConfig
|
||||
sourceSets.all {
|
||||
srcDirSets.all {
|
||||
files.set(
|
||||
project.provider {
|
||||
sourceDirectories.map {
|
||||
project.fileTree(it) {
|
||||
matching(filter)
|
||||
include(includes)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@TaskAction
|
||||
fun run() {
|
||||
val outputDir = outputDirectory.get().asFile
|
||||
// Currently the task is not incremental, so we delete previous data
|
||||
fileOperations.delete(outputDir)
|
||||
fileOperations.mkdir(outputDir)
|
||||
val queue = executor.processIsolation {
|
||||
classpath.from(rewriteRuntimeClasspath)
|
||||
}
|
||||
val taskProps = this
|
||||
queue.submit(OpenRewriteWork::class) {
|
||||
logCompilationWarningsAndErrors.set(true)
|
||||
outputDirectory.set(taskProps.outputDirectory)
|
||||
baseDir.set(layout.buildDirectory)
|
||||
configFile.set(taskProps.configFile)
|
||||
activeRecipes.set(taskProps.activeRecipes)
|
||||
rewriteRuntimeClasspath.set(taskProps.rewriteRuntimeClasspath)
|
||||
taskProps.sourceSets.all {
|
||||
sourceSets.add(toSnapshot())
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
queue.await()
|
||||
} catch (e: WorkerExecutionException) {
|
||||
// The queue has classpath isolation, so `it is RewriteException` can't be used here
|
||||
// e.causes?.singleOrNull()?.cause
|
||||
// ?.takeIf { it::class.qualifiedName == RewriteException::class.qualifiedName }
|
||||
// ?.let { throw it }
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,391 @@
|
|||
/*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
package org.apache.jmeter.buildtools.openrewrite
|
||||
|
||||
import org.gradle.api.Named
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.gradle.api.file.ConfigurableFileCollection
|
||||
import org.gradle.api.file.ConfigurableFileTree
|
||||
import org.gradle.api.file.DirectoryProperty
|
||||
import org.gradle.api.file.RegularFileProperty
|
||||
import org.gradle.api.provider.Property
|
||||
import org.gradle.api.provider.ProviderFactory
|
||||
import org.gradle.api.provider.SetProperty
|
||||
import org.gradle.api.tasks.Classpath
|
||||
import org.gradle.api.tasks.Input
|
||||
import org.gradle.api.tasks.InputFiles
|
||||
import org.gradle.api.tasks.Internal
|
||||
import org.gradle.api.tasks.Nested
|
||||
import org.gradle.api.tasks.PathSensitive
|
||||
import org.gradle.api.tasks.PathSensitivity
|
||||
import org.gradle.api.tasks.util.PatternFilterable
|
||||
import org.gradle.workers.WorkAction
|
||||
import org.gradle.workers.WorkParameters
|
||||
import org.openrewrite.ExecutionContext
|
||||
import org.openrewrite.InMemoryExecutionContext
|
||||
import org.openrewrite.Parser
|
||||
import org.openrewrite.RecipeRun
|
||||
import org.openrewrite.Result
|
||||
import org.openrewrite.SourceFile
|
||||
import org.openrewrite.Tree
|
||||
import org.openrewrite.Validated
|
||||
import org.openrewrite.config.Environment
|
||||
import org.openrewrite.config.OptionDescriptor
|
||||
import org.openrewrite.config.RecipeDescriptor
|
||||
import org.openrewrite.config.YamlResourceLoader
|
||||
import org.openrewrite.gradle.isolated.ResultsContainer
|
||||
import org.openrewrite.gradle.isolated.deleted
|
||||
import org.openrewrite.gradle.isolated.generated
|
||||
import org.openrewrite.gradle.isolated.moved
|
||||
import org.openrewrite.gradle.isolated.refactoredInPlace
|
||||
import org.openrewrite.internal.InMemoryLargeSourceSet
|
||||
import org.openrewrite.java.JavaParser
|
||||
import org.openrewrite.java.internal.JavaTypeCache
|
||||
import org.openrewrite.java.marker.JavaVersion
|
||||
import org.openrewrite.java.style.Autodetect
|
||||
import org.openrewrite.java.tree.J
|
||||
import org.openrewrite.kotlin.KotlinParser
|
||||
import org.openrewrite.kotlin.tree.K
|
||||
import org.openrewrite.tree.ParsingExecutionContextView
|
||||
import org.openrewrite.xml.tree.Xml
|
||||
import org.slf4j.LoggerFactory
|
||||
import java.io.File
|
||||
import java.io.Serializable
|
||||
import java.net.URL
|
||||
import java.util.*
|
||||
import java.util.zip.ZipFile
|
||||
import javax.inject.Inject
|
||||
import kotlin.system.measureTimeMillis
|
||||
|
||||
abstract class SourceSetConfig(
|
||||
private val name: String,
|
||||
) : Named, Serializable {
|
||||
@Internal
|
||||
override fun getName(): String = name
|
||||
|
||||
@get:Input
|
||||
abstract val javaRelease: Property<Int>
|
||||
|
||||
@get:Nested
|
||||
abstract val srcDirSets: NamedDomainObjectContainer<SourceDirectorySetConfig>
|
||||
|
||||
@get:Classpath
|
||||
abstract val compileClasspath: ConfigurableFileCollection
|
||||
|
||||
}
|
||||
|
||||
abstract class SourceDirectorySetConfig(
|
||||
private val name: String,
|
||||
) : Named, Serializable {
|
||||
@Internal
|
||||
override fun getName(): String = name
|
||||
|
||||
@get:Internal
|
||||
abstract val sourceDirectories: ConfigurableFileCollection
|
||||
|
||||
@get:Internal
|
||||
lateinit var filter: PatternFilterable
|
||||
|
||||
@get:Internal
|
||||
abstract val includes: SetProperty<String>
|
||||
|
||||
@get:Inject
|
||||
abstract val providers: ProviderFactory
|
||||
|
||||
@get:InputFiles
|
||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||
abstract val files: SetProperty<ConfigurableFileTree>
|
||||
}
|
||||
|
||||
fun SourceSetConfig.toSnapshot() =
|
||||
SourceSetSnapshot(
|
||||
name = name,
|
||||
javaRelease = javaRelease.get(),
|
||||
srcDirSets = srcDirSets.associateBy({ it.name }) { it.toSnapshot() },
|
||||
compileClasspath = compileClasspath.elements.get()
|
||||
.mapNotNullTo(mutableSetOf()) { it.asFile.takeIf { it.exists() } },
|
||||
)
|
||||
|
||||
fun SourceDirectorySetConfig.toSnapshot() =
|
||||
SourceDirectorySetSnapshot(
|
||||
name = name,
|
||||
// TODO: this causes serializing the file names
|
||||
files = files.get().mapNotNull {
|
||||
SourceDirectorySetFilesSnapshot(
|
||||
baseDir = it.dir,
|
||||
files = it.files,
|
||||
).takeIf { it.files.isNotEmpty() }
|
||||
}
|
||||
)
|
||||
|
||||
data class SourceSetSnapshot(
|
||||
val name: String,
|
||||
val javaRelease: Int,
|
||||
val srcDirSets: Map<String, SourceDirectorySetSnapshot>,
|
||||
val compileClasspath: Set<File>,
|
||||
) : Serializable
|
||||
|
||||
data class SourceDirectorySetSnapshot(
|
||||
val name: String,
|
||||
val files: List<SourceDirectorySetFilesSnapshot>,
|
||||
) : Serializable
|
||||
|
||||
data class SourceDirectorySetFilesSnapshot(
|
||||
val baseDir: File,
|
||||
val files: Set<File>,
|
||||
) : Serializable
|
||||
|
||||
interface OpenRewriteParameters : WorkParameters {
|
||||
val outputDirectory: DirectoryProperty
|
||||
val baseDir: DirectoryProperty
|
||||
val configFile: RegularFileProperty
|
||||
val activeRecipes: SetProperty<String>
|
||||
val sourceSets: SetProperty<SourceSetSnapshot>
|
||||
val rewriteRuntimeClasspath: SetProperty<File>
|
||||
val logCompilationWarningsAndErrors: Property<Boolean>
|
||||
}
|
||||
|
||||
abstract class OpenRewriteWork : WorkAction<OpenRewriteParameters> {
|
||||
companion object {
|
||||
val logger = LoggerFactory.getLogger(OpenRewriteWork::class.java) as org.gradle.api.logging.Logger
|
||||
}
|
||||
|
||||
// @get:Inject
|
||||
// abstract val fileOperations: FileOperations
|
||||
|
||||
|
||||
override fun execute() {
|
||||
val view = ParsingExecutionContextView.view(
|
||||
InMemoryExecutionContext { logger.warn("Error rewriting", it) }
|
||||
)
|
||||
val results = listResults(view)
|
||||
run2(results, view)
|
||||
}
|
||||
|
||||
fun run2(results: ResultsContainer, view: ParsingExecutionContextView) {
|
||||
if (!results.isNotEmpty) {
|
||||
return
|
||||
}
|
||||
results.firstException?.let {
|
||||
throw it
|
||||
}
|
||||
for (result: Result in results.generated) {
|
||||
logger.lifecycle("Generated new file " + result.after!!.sourcePath + " by:")
|
||||
logRecipesThatMadeChanges(result)
|
||||
}
|
||||
for (result: Result in results.deleted) {
|
||||
logger.lifecycle("Deleted file " + result.before!!.sourcePath + " by:")
|
||||
logRecipesThatMadeChanges(result)
|
||||
}
|
||||
for (result: Result in results.moved) {
|
||||
logger.lifecycle(
|
||||
"File has been moved from " +
|
||||
result.before!!.sourcePath + " to " +
|
||||
result.after!!.sourcePath + " by:"
|
||||
)
|
||||
logRecipesThatMadeChanges(result)
|
||||
}
|
||||
for (result: Result in results.refactoredInPlace) {
|
||||
logger.lifecycle("Changes have been made to " + result.before!!.sourcePath + " by:")
|
||||
logRecipesThatMadeChanges(result)
|
||||
}
|
||||
}
|
||||
|
||||
private fun logRecipesThatMadeChanges(result: Result) {
|
||||
val indent = " "
|
||||
var prefix = " "
|
||||
for (recipeDescriptor in result.recipeDescriptorsThatMadeChanges) {
|
||||
logRecipe(recipeDescriptor, prefix)
|
||||
prefix += indent
|
||||
}
|
||||
}
|
||||
|
||||
private fun logRecipe(rd: RecipeDescriptor, prefix: String) {
|
||||
val recipeString = StringBuilder(prefix + rd.name)
|
||||
if (rd.options.isNotEmpty()) {
|
||||
val opts = rd.options
|
||||
.mapNotNull { option: OptionDescriptor ->
|
||||
if (option.value != null) {
|
||||
option.name + "=" + option.value
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
.joinToString(", ")
|
||||
if (opts.isNotEmpty()) {
|
||||
recipeString.append(": {").append(opts).append("}")
|
||||
}
|
||||
}
|
||||
logger.warn("{}", recipeString)
|
||||
for (rChild in rd.recipeList) {
|
||||
logRecipe(rChild, "$prefix ")
|
||||
}
|
||||
}
|
||||
|
||||
private fun listResults(ctx: ExecutionContext): ResultsContainer {
|
||||
val baseDir = parameters.baseDir.get().asFile.toPath()
|
||||
val env = createEnvironment()
|
||||
val recipe = env.activateRecipes(parameters.activeRecipes.get());
|
||||
if (recipe.recipeList.isEmpty()) {
|
||||
logger.warn("No recipes were activated. Activate a recipe with rewriteTask.activeRecipes.add(\"com.fully.qualified.RecipeClassName\") in your build file")
|
||||
return ResultsContainer(baseDir, null)
|
||||
}
|
||||
|
||||
val validated = recipe.validateAll(ctx, mutableListOf<Validated<Any>>())
|
||||
val failedValidations = validated.flatMap {
|
||||
it.failures().map { failure ->
|
||||
IllegalArgumentException(
|
||||
"Recipe validation error in ${failure.property}: ${failure.message}",
|
||||
failure.exception
|
||||
)
|
||||
}
|
||||
}
|
||||
if (failedValidations.size == 1) {
|
||||
throw failedValidations.first()
|
||||
} else if (failedValidations.size > 1) {
|
||||
throw IllegalArgumentException(
|
||||
"Multiple recipe failed validations: ${failedValidations.map { it.toString() }}"
|
||||
).apply {
|
||||
failedValidations.forEach { addSuppressed(it) }
|
||||
}
|
||||
}
|
||||
|
||||
val javaDetector = Autodetect.detector()
|
||||
val kotlinDetector = org.openrewrite.kotlin.style.Autodetect.detector()
|
||||
val xmlDetector = org.openrewrite.xml.style.Autodetect.detector()
|
||||
var sourceFiles = parse(ctx)
|
||||
.onEach { s ->
|
||||
when (s) {
|
||||
is K.CompilationUnit ->
|
||||
kotlinDetector.sample(s)
|
||||
|
||||
is J.CompilationUnit ->
|
||||
javaDetector.sample(s)
|
||||
|
||||
else ->
|
||||
xmlDetector.sample(s)
|
||||
}
|
||||
}
|
||||
.toList()
|
||||
|
||||
val stylesByType = mapOf(
|
||||
J.CompilationUnit::class.java to javaDetector.build(),
|
||||
K.CompilationUnit::class.java to kotlinDetector.build(),
|
||||
Xml.Document::class.java to xmlDetector.build(),
|
||||
)
|
||||
|
||||
sourceFiles = sourceFiles.map {
|
||||
for ((klass, format) in stylesByType) {
|
||||
if (klass.isInstance(it)) {
|
||||
return@map it.withMarkers<SourceFile>(it.markers.add(format))
|
||||
}
|
||||
}
|
||||
it
|
||||
}
|
||||
|
||||
// logger.lifecycle(
|
||||
// "All sources parsed, running active recipes: {}",
|
||||
// recipe.recipeList.joinToString(", ")
|
||||
// )
|
||||
val recipeRun = recipe.run(InMemoryLargeSourceSet(sourceFiles), ctx)
|
||||
return ResultsContainer(baseDir, recipeRun)
|
||||
}
|
||||
|
||||
private fun createEnvironment() = Environment.builder()
|
||||
.apply {
|
||||
parameters.rewriteRuntimeClasspath.get().forEach { cpFile ->
|
||||
if (cpFile.isFile && cpFile.path.endsWith(".jar", ignoreCase = true)) {
|
||||
val baseUrl by lazy { URL(cpFile.toURI().toURL(), "!/") }
|
||||
ZipFile(cpFile).use { zip ->
|
||||
zip.entries().asSequence().forEach { ze ->
|
||||
if (ze.name.startsWith("META-INF/rewrite/") && (
|
||||
ze.name.endsWith(".yml", ignoreCase = true) ||
|
||||
ze.name.endsWith(".yaml", ignoreCase = true)
|
||||
)
|
||||
) {
|
||||
zip.getInputStream(ze).use {
|
||||
val uri = URL(baseUrl, ze.name).toURI()
|
||||
load(YamlResourceLoader(it, uri, Properties(), this::class.java.classLoader))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
val configFile = parameters.configFile.asFile.get()
|
||||
configFile.inputStream().use { stream ->
|
||||
load(YamlResourceLoader(stream, configFile.toURI(), Properties(), this::class.java.classLoader))
|
||||
}
|
||||
}
|
||||
.build()
|
||||
|
||||
private fun parse(ctx: ExecutionContext): Sequence<SourceFile> {
|
||||
var res = sequenceOf<SourceFile>()
|
||||
for (sourceSet in parameters.sourceSets.get()) {
|
||||
val javaTypeCache = JavaTypeCache()
|
||||
|
||||
val javaVersion = JavaVersion(
|
||||
Tree.randomId(),
|
||||
System.getProperty("java.runtime.version"),
|
||||
System.getProperty("java.vm.vendor"),
|
||||
sourceSet.javaRelease.toString(),
|
||||
sourceSet.javaRelease.toString()
|
||||
)
|
||||
|
||||
fun Parser.parse(srcDirSet: SourceDirectorySetSnapshot) {
|
||||
srcDirSet.files.forEach { root ->
|
||||
val files = root.files.filter { it.path.endsWith(".kt") }.map { it.toPath() }
|
||||
if (files.isEmpty()) {
|
||||
return@forEach
|
||||
}
|
||||
logger.lifecycle("Parsing {} files in {}: {}", files.size, root.baseDir, files)
|
||||
res = res.plus(
|
||||
parse(files, root.baseDir.toPath(), ctx).iterator()
|
||||
.asSequence()
|
||||
.map {
|
||||
it.withMarkers(it.markers.add(javaVersion))
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
sourceSet.srcDirSets["java"]?.let { srcDirSet ->
|
||||
val parser = JavaParser.fromJavaVersion()
|
||||
.classpath(sourceSet.compileClasspath.map { it.toPath() })
|
||||
// .styles(styles)
|
||||
.typeCache(javaTypeCache)
|
||||
.logCompilationWarningsAndErrors(parameters.logCompilationWarningsAndErrors.get())
|
||||
.build()
|
||||
|
||||
parser.parse(srcDirSet)
|
||||
}
|
||||
|
||||
sourceSet.srcDirSets["kotlin"]?.let { srcDirSet ->
|
||||
val parser = KotlinParser.builder()
|
||||
.classpath(sourceSet.compileClasspath.map { it.toPath() })
|
||||
// .styles(styles)
|
||||
.typeCache(javaTypeCache)
|
||||
.logCompilationWarningsAndErrors(parameters.logCompilationWarningsAndErrors.get())
|
||||
.build()
|
||||
|
||||
parser.parse(srcDirSet)
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
package org.openrewrite.gradle.isolated
|
||||
|
||||
public val ResultsContainer.generated: List<org.openrewrite.Result>
|
||||
get() = this.generated
|
||||
|
||||
public val ResultsContainer.deleted: List<org.openrewrite.Result>
|
||||
get() = this.deleted
|
||||
|
||||
public val ResultsContainer.moved: List<org.openrewrite.Result>
|
||||
get() = this.moved
|
||||
|
||||
public val ResultsContainer.refactoredInPlace: List<org.openrewrite.Result>
|
||||
get() = this.refactoredInPlace
|
||||
|
|
@ -46,6 +46,7 @@ include("basics")
|
|||
include("batchtest")
|
||||
include("build-parameters")
|
||||
include("jvm")
|
||||
include("openrewrite")
|
||||
include("publishing")
|
||||
include("root-build")
|
||||
include("verification")
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ plugins {
|
|||
dependencies {
|
||||
api(projects.basics)
|
||||
api(projects.buildParameters)
|
||||
api("com.github.autostyle:com.github.autostyle.gradle.plugin:3.2")
|
||||
api("com.github.autostyle:com.github.autostyle.gradle.plugin:4.0")
|
||||
api("com.github.spotbugs:com.github.spotbugs.gradle.plugin:6.0.4")
|
||||
api("com.github.vlsi.ide:com.github.vlsi.ide.gradle.plugin:1.90")
|
||||
api("com.github.vlsi.gradle-extensions:com.github.vlsi.gradle-extensions.gradle.plugin:1.90")
|
||||
|
|
|
|||
|
|
@ -74,8 +74,6 @@ plugins.withId("java") {
|
|||
autostyle {
|
||||
java {
|
||||
license()
|
||||
importOrder("static ", "java.", "javax", "org", "net", "com", "")
|
||||
removeUnusedImports()
|
||||
indentWithSpaces(4)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import com.github.autostyle.gradle.AutostyleTask
|
||||
import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis
|
||||
import org.gradle.kotlin.dsl.apply
|
||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
|
||||
|
|
@ -26,6 +28,14 @@ if (!buildParameters.skipAutostyle) {
|
|||
apply(plugin = "build-logic.autostyle")
|
||||
}
|
||||
|
||||
// OpenRewrite Gradle plugin applies to allprojects when it is applied to the root project
|
||||
// So the workaround is to avoid applying openrewrite to the root
|
||||
val skipOpenrewrite = project == rootProject || buildParameters.skipOpenrewrite
|
||||
|
||||
if (!skipOpenrewrite) {
|
||||
apply(plugin = "build-logic.openrewrite")
|
||||
}
|
||||
|
||||
val skipCheckstyle = buildParameters.skipCheckstyle || run {
|
||||
logger.info("Checkstyle requires Java 11+")
|
||||
buildParameters.buildJdkVersion < 11
|
||||
|
|
@ -61,13 +71,16 @@ if (!skipCheckstyle && !buildParameters.skipAutostyle) {
|
|||
}
|
||||
}
|
||||
|
||||
if (!buildParameters.skipAutostyle || !skipCheckstyle || !buildParameters.skipForbiddenApis) {
|
||||
if (!buildParameters.skipAutostyle || !skipCheckstyle || !buildParameters.skipForbiddenApis || !skipOpenrewrite) {
|
||||
tasks.register("style") {
|
||||
group = LifecycleBasePlugin.VERIFICATION_GROUP
|
||||
description = "Formats code (license header, import order, whitespace at end of line, ...) and executes Checkstyle verifications"
|
||||
if (!buildParameters.skipAutostyle) {
|
||||
dependsOn("autostyleApply")
|
||||
}
|
||||
if (!skipOpenrewrite) {
|
||||
dependsOn("rewriteRun")
|
||||
}
|
||||
if (!skipCheckstyle) {
|
||||
dependsOn("checkstyleAll")
|
||||
}
|
||||
|
|
@ -75,6 +88,23 @@ if (!buildParameters.skipAutostyle || !skipCheckstyle || !buildParameters.skipFo
|
|||
dependsOn("forbiddenApis")
|
||||
}
|
||||
}
|
||||
tasks.register("styleCheck") {
|
||||
group = LifecycleBasePlugin.VERIFICATION_GROUP
|
||||
description = "Report code style violations (license header, import order, whitespace at end of line, ...)"
|
||||
if (!buildParameters.skipAutostyle) {
|
||||
dependsOn("autostyleCheck")
|
||||
}
|
||||
if (!skipOpenrewrite) {
|
||||
dependsOn("rewriteDryRun")
|
||||
}
|
||||
if (!skipCheckstyle) {
|
||||
dependsOn("checkstyleAll")
|
||||
}
|
||||
if (!buildParameters.skipForbiddenApis) {
|
||||
dependsOn("forbiddenApis")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
tasks.register("checkstyle") {
|
||||
|
|
@ -90,3 +120,22 @@ tasks.register("checkstyle") {
|
|||
dependsOn("forbiddenApis")
|
||||
}
|
||||
}
|
||||
|
||||
// OpenRewrite fixes many warnings, so it should run the first
|
||||
if (!skipOpenrewrite) {
|
||||
if (!buildParameters.skipForbiddenApis) {
|
||||
tasks.withType<CheckForbiddenApis>().configureEach {
|
||||
mustRunAfter("rewriteRun", "rewriteDryRun")
|
||||
}
|
||||
}
|
||||
if (!buildParameters.skipCheckstyle) {
|
||||
tasks.withType<Checkstyle>().configureEach {
|
||||
mustRunAfter("rewriteRun", "rewriteDryRun")
|
||||
}
|
||||
}
|
||||
if (!buildParameters.skipAutostyle) {
|
||||
tasks.withType<AutostyleTask>().configureEach {
|
||||
mustRunAfter("rewriteRun", "rewriteDryRun")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
30
checksum.xml
30
checksum.xml
|
|
@ -11,14 +11,19 @@
|
|||
<trusted-key id='dcba03381ef6c89096acd985ac5ec74981f9cda6' group='com.beust' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.core' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.jackson.core' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.dataformat' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.jackson.dataformat' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.datatype' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.jackson.module' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.jackson.module' />
|
||||
<trusted-key id='28118c070cb22a0175a2e8d43d12ca2ac19f3181' group='com.fasterxml.woodstox' />
|
||||
<trusted-key id='8a10792983023d5d14c93b488d7f1bec1e2ecae7' group='com.fasterxml.woodstox' />
|
||||
<trusted-key id='58f086abb0ede8f7a04b76c34c00043bec5cb7cb' group='com.fifesoft' />
|
||||
<trusted-key id='4ac55a85d30c3499a3219500b7e2662a7640a051' group='com.formdev' />
|
||||
<trusted-key id='8756c4f765c9ac3cb6b85d62379ce192d401ab61' group='com.formdev' />
|
||||
<trusted-key id='d112630c899f508198c09018105cb91cac2aee0e' group='com.github.autostyle' />
|
||||
<trusted-key id='635ee627345f3c1dd422b2e207d3516820bcf6b1' group='com.github.ben-manes.caffeine' />
|
||||
<trusted-key id='2655176f748fd83725b4805ff2a01147d830c125' group='com.github.docker-java' />
|
||||
<trusted-key id='55e770230e69cc6de143fb5b62c82e50836eb3ee' group='com.github.gundy' />
|
||||
<trusted-key id='253e8e4c6fb28d11748115c1249dee8e2c07a0a2' group='com.github.javaparser' />
|
||||
<trusted-key id='fc2c31fc25fede4e7ad0d18c2bfd7825a8984fbe' group='com.github.javaparser' />
|
||||
|
|
@ -85,16 +90,23 @@
|
|||
<trusted-key id='2db4f1ef0fa761ecc4ea935c86fdc7e2a11262cb' group='commons-net' />
|
||||
<trusted-key id='0186f8b24c5bc02c94a0e0e486f75e83e1ee085f' group='de.thetaphi' />
|
||||
<trusted-key id='1fa37fbe4453c1073e7ef61d6449005f96bc97a3' group='de.undercouch' />
|
||||
<trusted-key id='cde577234159e222bc56e50f9c61220417aaa02e' group='dev.failsafe' />
|
||||
<trusted-key id='3e1ac64f4e34e290503c90323449ec3ac2efe8aa' group='dnsjava' />
|
||||
<trusted-key id='8756c4f765c9ac3cb6b85d62379ce192d401ab61' group='info.picocli' />
|
||||
<trusted-key id='aa417737bd805456db3cbdde6601e5c08dccbb96' group='info.picocli' />
|
||||
<trusted-key id='c62c0ce2e5c346b2d9bf2d8bb2ca0dfe9ed21c6e' group='io.burt' />
|
||||
<trusted-key id='1ab9bdf40ed49debb5caaded5b30d3b10694f057' group='io.codearte.gradle.nexus' />
|
||||
<trusted-key id='1f47744c9b6e14f2049c2857f1f111af65925306' group='io.github.classgraph' />
|
||||
<trusted-key id='7186bbf993566d8c2f4f7ed7d945e643368fef62' group='io.github.eisop' />
|
||||
<trusted-key id='ed09733fa05dedf15100abeb32bbf14af07ca77b' group='io.github.fastfilter' />
|
||||
<trusted-key id='d477d51812e692011db11e66a6ea2e2bf22e0543' group='io.github.java-diff-utils' />
|
||||
<trusted-key id='e52567d2589415bd74eb4c2867631bc0568801c3' group='io.github.microutils' />
|
||||
<trusted-key id='8756c4f765c9ac3cb6b85d62379ce192d401ab61' group='io.github.resilience4j' />
|
||||
<trusted-key id='050a37a2e0577f4baa095b52602ec18d20c4661c' group='io.github.x-stream' />
|
||||
<trusted-key id='48b086a7d843cfa258e83286928fbf39003c0425' group='io.micrometer' />
|
||||
<trusted-key id='59b06224fd8912e36603be79fefe78456eddc34a' group='io.mockk' />
|
||||
<trusted-key id='7119b89feb81209430e65c62c2ad9c8a7d4e988a' group='io.quarkus.gizmo' />
|
||||
<trusted-key id='1d339b6a68ae2e8daeda65d5276962ca56e73c81' group='io.vavr' />
|
||||
<trusted-key id='6dd3b8c64ef75253beb2c53ad908a43fb7ec07ac' group='jakarta.activation' />
|
||||
<trusted-key id='a1483f88ba771993ab609c43590c2310cee1c9be' group='jakarta.jms' />
|
||||
<trusted-key id='fc411cd3cb7dcb0abc9801058118b3bcdb1a5000' group='jakarta.xml.bind' />
|
||||
|
|
@ -170,10 +182,12 @@
|
|||
<trusted-key id='7c669810892cbd3148fa92995b05ccde140c2876' group='org.eclipse.jgit' />
|
||||
<trusted-key id='1def9646901a1652e5b3e5ea694db6f419c8d1fd' group='org.exparity' />
|
||||
<trusted-key id='13ac2213964abe1d1c147c0e1939a2520bab1d90' group='org.freemarker' />
|
||||
<trusted-key id='bd3b8aab16ea001cda79d4773e8a7f8a3597e7fb' group='org.functionaljava' />
|
||||
<trusted-key id='e5b8247af8a619a28f90fdfc9ff25980f5ba7e4f' group='org.fusesource.hawtbuf' />
|
||||
<trusted-key id='1bd97a6a154e7810ee0bc832e2f38302c8075e3d' group='org.gradle.kotlin' />
|
||||
<trusted-key id='4db1a49729b053caf015cee9a6adfc93ef34893e' group='org.hamcrest' />
|
||||
<trusted-key id='e3a9f95079e84ce201f7cf60bede11eaf1164480' group='org.hamcrest' />
|
||||
<trusted-key id='e113159331a1f87bfc2a93d0960d2e8635a91268' group='org.hdrhistogram' />
|
||||
<trusted-key id='d76260c72df74e66268f7770ab049df4ab24c1ef' group='org.hsqldb' />
|
||||
<trusted-key id='a413f67d71beec23add0ce0acb43338e060cf9fa' group='org.jacoco' />
|
||||
<trusted-key id='e5c3b1929191df06136ccb2b164779204e106a76' group='org.javassist' />
|
||||
|
|
@ -195,11 +209,17 @@
|
|||
<trusted-key id='ff6e2c001948c5f2f38b0cc385911f425ec61b51' group='org.junit.jupiter' />
|
||||
<trusted-key id='ff6e2c001948c5f2f38b0cc385911f425ec61b51' group='org.junit.platform' />
|
||||
<trusted-key id='ff6e2c001948c5f2f38b0cc385911f425ec61b51' group='org.junit.vintage' />
|
||||
<trusted-key id='7a1d848e7c2af85eeba69c99e7bf252cf360097e' group='org.latencyutils' />
|
||||
<trusted-key id='08ba61cf501c09f70911b83b82216a03caa86c78' group='org.mongodb' />
|
||||
<trusted-key id='e9af5293c334c7c0b583227d2f45f85cdf082e68' group='org.mozilla' />
|
||||
<trusted-key id='07a4fa67a8222f1b39f9edaef8052e4e1bd0db31' group='org.neo4j.driver' />
|
||||
<trusted-key id='e85aed155021af8a6c6b7a4a7c7d8456294423ba' group='org.objenesis' />
|
||||
<trusted-key id='019082bc00e0324e2aef4cf00d3b328562a119a7' group='org.openjdk.jmh' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite.gradle.tooling' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite.meta' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite.recipe' />
|
||||
<trusted-key id='f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8' group='org.openrewrite.tools' />
|
||||
<trusted-key id='ff6e2c001948c5f2f38b0cc385911f425ec61b51' group='org.opentest4j' />
|
||||
<trusted-key id='a5bd02b93e7a40482eb1d66a5f69ad087600b22c' group='org.ow2.asm' />
|
||||
<trusted-key id='908366594e746bf3c449f5622be5d98f751f4136' group='org.pcollections' />
|
||||
|
|
@ -207,16 +227,20 @@
|
|||
<trusted-key id='50a628ffaf58480736b1079fd1031d14464180e0' group='org.reactivestreams' />
|
||||
<trusted-key id='a33a0b49a4c1ab590b0a4ddc1364c5e2df3e99c5' group='org.reactivestreams' />
|
||||
<trusted-key id='3f2a008a91d11a7fac4a0786f13d3e721d56bd54' group='org.reflections' />
|
||||
<trusted-key id='8756c4f765c9ac3cb6b85d62379ce192d401ab61' group='org.rnorth.duct-tape' />
|
||||
<trusted-key id='475f3b8e59e6e63aa78067482c7b12f2a511e325' group='org.slf4j' />
|
||||
<trusted-key id='60200ac4ae761f1614d6c46766d68daa073be985' group='org.slf4j' />
|
||||
<trusted-key id='2b1042677fd8190c7b9fc0dc2161d72e7dcd4258' group='org.sonarsource.scanner.api' />
|
||||
<trusted-key id='f1182e81c792928921dbcab4cfca4a29d26468de' group='org.sonarsource.scanner.api' />
|
||||
<trusted-key id='8756c4f765c9ac3cb6b85d62379ce192d401ab61' group='org.springframework' />
|
||||
<trusted-key id='e2acb037933cdeaab7bf77d49a2c7a98e457c53d' group='org.springframework' />
|
||||
<trusted-key id='2655176f748fd83725b4805ff2a01147d830c125' group='org.testcontainers' />
|
||||
<trusted-key id='7cd52b5a8295137c88fb5748dddafa7674e54418' group='org.testng' />
|
||||
<trusted-key id='fa1703b1d287caea3a60f931e0130a3ed5a2079e' group='org.webjars' />
|
||||
<trusted-key id='56b505dc8a29c69138a430b9429c8816dea04cdb' group='org.xerial.snappy' />
|
||||
<trusted-key id='4c5f68d09d42ba7fac888df9a929ea2321fdbf8f' group='org.xmlresolver' />
|
||||
<trusted-key id='ce8075a251547bee249bc151a2115ae15f6b8b72' group='org.xmlunit' />
|
||||
<trusted-key id='120d6f34e627ed3a772ebbfe55c7e5e701832382' group='org.yaml' />
|
||||
<trusted-key id='2db4f1ef0fa761ecc4ea935c86fdc7e2a11262cb' group='xalan' />
|
||||
<trusted-key id='e5b8247af8a619a28f90fdfc9ff25980f5ba7e4f' group='xalan' />
|
||||
<trusted-key id='6cb87b18a453990eac9453f87d713008cc07e9ad' group='xerces' />
|
||||
|
|
@ -322,6 +346,9 @@
|
|||
<dependency group='org.gradle.kotlin' module='gradle-kotlin-dsl-plugins' version='4.1.2'>
|
||||
<sha512>B23C4355CBAB2098506528D196F6C9A71D4689F4A3334494B97D9F6D868883D429D851FC319761C25ACC86F0C4E02F028B33C1868B6EF7BA1246E3D79ADF1582</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.jboss' module='jandex' version='2.4.2.Final'>
|
||||
<sha512>635642582701F6AE26DF91E39D5BFD9345C4C219DA73E71A27F4740A4C0C7970F52CEF667BB9CC4DD08C26D9B0447EE003C9E56D5EDE68870976356C2FCC4A5C</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.jetbrains.kotlin' module='kotlin-gradle-plugin' version='1.8.21'>
|
||||
<sha512>09D6B646399888DBD6498D24C2B6FABBEF49444FD0710E8F93FE266FFFD11A4A2C1CFEE3431D52AD03CA781E2EFAB60896DCA53AE56924AA0C48F9C85FCE66BB</sha512>
|
||||
</dependency>
|
||||
|
|
@ -346,6 +373,9 @@
|
|||
<dependency group='org.nosphere.apache' module='creadur-rat-gradle' version='0.8.1'>
|
||||
<sha512>397C3257C5448C26304B312212F6DA1649AD15E52CE0419C5BA647F8A68864707A0C8071FA9860C28AA9D626D66C8FAF2D5F576E693F9D01B0F71EEEB84B57FB</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.openrewrite' module='plugin' version='6.6.3'>
|
||||
<sha512>FAE9431F2ADE6A8460C7E86AC5FA4AB7A2E11DB919BB9C60F59BD684CF5AF42A9D0DBFD4835AC8450F0F5B36258B6DF1920E445F84CBD3CFE2944F4CE430DF58</sha512>
|
||||
</dependency>
|
||||
<dependency group='org.ow2.asm' module='asm-analysis' version='6.2.1'>
|
||||
<sha512>BE273F8E886BBCFDA81180917145996AB8FD26A17264EBEB5E1FC2337950A309D64DC8CBD373220009728622A8CBF56B8578E960B5561C22EA66848D296AE44E</sha512>
|
||||
</dependency>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,163 @@
|
|||
# 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
|
||||
#
|
||||
# http://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.
|
||||
---
|
||||
# See reference at https://docs.openrewrite.org/concepts-explanations/styles#declarative-styles
|
||||
type: specs.openrewrite.org/v1beta/style
|
||||
name: org.apache.jmeter.style.Style
|
||||
styleConfigs:
|
||||
- org.openrewrite.java.style.TabsAndIndentsStyle:
|
||||
# See https://github.com/openrewrite/rewrite/issues/3666
|
||||
# For now, it should be the same as in .editorconfig
|
||||
useTabCharacter: false
|
||||
tabSize: 2
|
||||
indentSize: 2
|
||||
continuationIndent: 4
|
||||
- org.openrewrite.java.style.SpacesStyle:
|
||||
# See https://github.com/openrewrite/rewrite/blob/1d0aeec11e2d7f239f2f656bfd964b17ca8e4d17/rewrite-java/src/main/java/org/openrewrite/java/style/SpacesStyle.java#L26C14-L26C25
|
||||
other:
|
||||
afterForSemicolon: true
|
||||
- org.openrewrite.java.style.NoWhitespaceAfterStyle:
|
||||
# This is to workaround https://github.com/openrewrite/rewrite/issues/3869
|
||||
arrayDeclarator: false
|
||||
- org.openrewrite.java.style.ImportLayoutStyle:
|
||||
classCountToUseStarImport: 999
|
||||
nameCountToUseStarImport: 999
|
||||
# The order of the imports should match ij_java_imports_layout in .editorconfig
|
||||
layout:
|
||||
- import static all other imports
|
||||
- <blank line>
|
||||
- import java.*
|
||||
- <blank line>
|
||||
- import javax.*
|
||||
- <blank line>
|
||||
- import org.*
|
||||
- <blank line>
|
||||
- import net.*
|
||||
- <blank line>
|
||||
- import com.*
|
||||
- <blank line>
|
||||
- import all other imports
|
||||
---
|
||||
type: specs.openrewrite.org/v1beta/recipe
|
||||
name: org.apache.jmeter.staticanalysis.CodeCleanup
|
||||
displayName: Code cleanup
|
||||
description: Automatically cleanup code, e.g. remove unnecessary parentheses, simplify expressions.
|
||||
recipeList:
|
||||
# The list is taken from https://github.com/openrewrite/rewrite-static-analysis/blob/8c803a9c50b480841a4af031f60bac5ee443eb4e/src/main/resources/META-INF/rewrite/static-analysis.yml#L16C1-L42
|
||||
- org.openrewrite.staticanalysis.DefaultComesLast
|
||||
- org.openrewrite.staticanalysis.EmptyBlock
|
||||
- org.openrewrite.java.format.EmptyNewlineAtEndOfFile
|
||||
- org.openrewrite.staticanalysis.ForLoopControlVariablePostfixOperators
|
||||
- org.openrewrite.staticanalysis.FinalizePrivateFields
|
||||
- org.openrewrite.java.format.MethodParamPad
|
||||
- org.openrewrite.java.format.NoWhitespaceAfter
|
||||
- org.openrewrite.java.format.NoWhitespaceBefore
|
||||
- org.openrewrite.java.format.PadEmptyForLoopComponents
|
||||
- org.openrewrite.staticanalysis.TypecastParenPad
|
||||
- org.openrewrite.staticanalysis.EqualsAvoidsNull
|
||||
- org.openrewrite.staticanalysis.ExplicitInitialization
|
||||
- org.openrewrite.staticanalysis.FallThrough
|
||||
# It breaks backward compatibility, so
|
||||
# - org.openrewrite.staticanalysis.HideUtilityClassConstructor
|
||||
- org.openrewrite.staticanalysis.NeedBraces
|
||||
- org.openrewrite.staticanalysis.OperatorWrap
|
||||
- org.openrewrite.staticanalysis.UnnecessaryParentheses
|
||||
- org.openrewrite.staticanalysis.ReplaceThreadRunWithThreadStart
|
||||
- org.openrewrite.staticanalysis.ChainStringBuilderAppendCalls
|
||||
- org.openrewrite.staticanalysis.ReplaceStringBuilderWithString
|
||||
- org.openrewrite.java.ShortenFullyQualifiedTypeReferences
|
||||
- org.openrewrite.staticanalysis.MissingOverrideAnnotation
|
||||
- org.openrewrite.java.OrderImports
|
||||
---
|
||||
# Copied from https://github.com/openrewrite/rewrite-static-analysis/blob/8c803a9c50b480841a4af031f60bac5ee443eb4e/src/main/resources/META-INF/rewrite/common-static-analysis.yml#L17-L93
|
||||
type: specs.openrewrite.org/v1beta/recipe
|
||||
name: org.apache.jmeter.staticanalysis.CommonStaticAnalysis
|
||||
displayName: Common static analysis issues
|
||||
description: Resolve common static analysis issues discovered through 3rd party tools.
|
||||
recipeList:
|
||||
# - org.openrewrite.staticanalysis.AddSerialVersionUidToSerializable
|
||||
- org.openrewrite.staticanalysis.AtomicPrimitiveEqualsUsesGet
|
||||
- org.openrewrite.staticanalysis.BigDecimalRoundingConstantsToEnums
|
||||
- org.openrewrite.staticanalysis.BooleanChecksNotInverted
|
||||
- org.openrewrite.staticanalysis.CaseInsensitiveComparisonsDoNotChangeCase
|
||||
- org.openrewrite.staticanalysis.CatchClauseOnlyRethrows
|
||||
- org.openrewrite.staticanalysis.ChainStringBuilderAppendCalls
|
||||
- org.openrewrite.staticanalysis.CovariantEquals
|
||||
- org.openrewrite.staticanalysis.DefaultComesLast
|
||||
- org.openrewrite.staticanalysis.EmptyBlock
|
||||
- org.openrewrite.staticanalysis.EqualsAvoidsNull
|
||||
- org.openrewrite.staticanalysis.ExplicitInitialization
|
||||
- org.openrewrite.staticanalysis.ExternalizableHasNoArgsConstructor
|
||||
- org.openrewrite.staticanalysis.FinalizePrivateFields
|
||||
# pgjdbc: see https://github.com/openrewrite/rewrite/issues/3668
|
||||
# - org.openrewrite.staticanalysis.FallThrough
|
||||
# pgjdbc: it might break backward compatibility
|
||||
# - org.openrewrite.staticanalysis.FinalClass
|
||||
- org.openrewrite.staticanalysis.FixStringFormatExpressions
|
||||
- org.openrewrite.staticanalysis.ForLoopIncrementInUpdate
|
||||
# - org.openrewrite.staticanalysis.HideUtilityClassConstructor
|
||||
- org.openrewrite.staticanalysis.IndexOfChecksShouldUseAStartPosition
|
||||
- org.openrewrite.staticanalysis.IndexOfReplaceableByContains
|
||||
- org.openrewrite.staticanalysis.IndexOfShouldNotCompareGreaterThanZero
|
||||
- org.openrewrite.staticanalysis.InlineVariable
|
||||
- org.openrewrite.staticanalysis.IsEmptyCallOnCollections
|
||||
- org.openrewrite.staticanalysis.LambdaBlockToExpression
|
||||
# - org.openrewrite.staticanalysis.LowercasePackage
|
||||
- org.openrewrite.staticanalysis.MethodNameCasing
|
||||
- org.openrewrite.staticanalysis.MinimumSwitchCases
|
||||
- org.openrewrite.staticanalysis.ModifierOrder
|
||||
- org.openrewrite.staticanalysis.MultipleVariableDeclarations
|
||||
- org.openrewrite.staticanalysis.NeedBraces
|
||||
- org.openrewrite.staticanalysis.NestedEnumsAreNotStatic
|
||||
- org.openrewrite.staticanalysis.NewStringBuilderBufferWithCharArgument
|
||||
- org.openrewrite.staticanalysis.NoDoubleBraceInitialization
|
||||
- org.openrewrite.staticanalysis.NoEmptyCollectionWithRawType
|
||||
- org.openrewrite.staticanalysis.NoEqualityInForCondition
|
||||
- org.openrewrite.staticanalysis.NoFinalizer
|
||||
- org.openrewrite.staticanalysis.NoPrimitiveWrappersForToStringOrCompareTo
|
||||
- org.openrewrite.staticanalysis.NoRedundantJumpStatements
|
||||
- org.openrewrite.staticanalysis.NoToStringOnStringType
|
||||
- org.openrewrite.staticanalysis.NoValueOfOnStringType
|
||||
- org.openrewrite.staticanalysis.ObjectFinalizeCallsSuper
|
||||
- org.openrewrite.staticanalysis.PrimitiveWrapperClassConstructorToValueOf
|
||||
- org.openrewrite.staticanalysis.RedundantFileCreation
|
||||
- org.openrewrite.staticanalysis.RemoveExtraSemicolons
|
||||
# - org.openrewrite.staticanalysis.RemoveRedundantTypeCast
|
||||
- org.openrewrite.java.RemoveUnusedImports
|
||||
# - org.openrewrite.staticanalysis.RemoveUnusedLocalVariables
|
||||
# - org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods
|
||||
- org.openrewrite.staticanalysis.RenameLocalVariablesToCamelCase
|
||||
- org.openrewrite.staticanalysis.RenameMethodsNamedHashcodeEqualOrTostring
|
||||
- org.openrewrite.staticanalysis.RenamePrivateFieldsToCamelCase
|
||||
- org.openrewrite.staticanalysis.ReplaceLambdaWithMethodReference
|
||||
- org.openrewrite.staticanalysis.ReplaceStringBuilderWithString
|
||||
- org.openrewrite.staticanalysis.SimplifyBooleanExpression
|
||||
- org.openrewrite.staticanalysis.SimplifyBooleanReturn
|
||||
- org.openrewrite.staticanalysis.StaticMethodNotFinal
|
||||
- org.openrewrite.staticanalysis.StringLiteralEquality
|
||||
- org.openrewrite.staticanalysis.UnnecessaryCloseInTryWithResources
|
||||
- org.openrewrite.staticanalysis.UnnecessaryExplicitTypeArguments
|
||||
- org.openrewrite.staticanalysis.UnnecessaryParentheses
|
||||
- org.openrewrite.staticanalysis.UnnecessaryPrimitiveAnnotations
|
||||
- org.openrewrite.staticanalysis.UpperCaseLiteralSuffixes
|
||||
# - org.openrewrite.staticanalysis.UnnecessaryThrows
|
||||
# - org.openrewrite.staticanalysis.UseCollectionInterfaces
|
||||
- org.openrewrite.staticanalysis.UseDiamondOperator
|
||||
- org.openrewrite.staticanalysis.UseJavaStyleArrayDeclarations
|
||||
# https://github.com/openrewrite/rewrite-static-analysis/issues/10
|
||||
# - org.openrewrite.staticanalysis.UseLambdaForFunctionalInterface
|
||||
# - org.openrewrite.staticanalysis.UseStringReplace
|
||||
- org.openrewrite.staticanalysis.WhileInsteadOfFor
|
||||
- org.openrewrite.staticanalysis.WriteOctalValuesAsDecimal
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
org.gradle.jvmargs=-Xmx1500m -XX:MaxMetaspaceSize=768m
|
||||
org.gradle.jvmargs=-Xmx2500m -XX:MaxMetaspaceSize=768m
|
||||
org.gradle.parallel=true
|
||||
# Build cache can be disabled with --no-build-cache option
|
||||
org.gradle.caching=true
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBFS2J+0BCADZI8RYk32YeO9gnEkY9RN+4dKb+H1AR4v+IGxmy0UYy+O8bo4m
|
||||
YzkQHTlPpEPGe10/quKk1embDifEfNa9mwcSJl+XUPFlTrSA97SR31mdyK/Ua146
|
||||
GKMW0F6v8aCgLUlm9BCJo/OmOat2jsc94SuKnPiRRywhmapte/8o9t7/0GghqLyj
|
||||
X+Ifz4WSKyKZ8oe9mRFg1ZIA+z52a8QnfyI8WS8bpGHM/dXkBXZpzIDlrfKvoZYb
|
||||
I2DcbOotJK/ZzStAZ81e4E/q2BEw96NUKJC5X+G8qahEFNJDcJz33UAxLiTFqWmw
|
||||
iKLqy8oL8p9qPYlx0IAXoW/GxV7E0rBoA95pABEBAAG5AQ0EVLYn7QEIAMde+nVU
|
||||
cozJy9dzLCUpn91SCoWld/wTaSckxTnVMcr4uNLlJI/2PFjMb9ya91grr1yuwqSG
|
||||
3jE8P0Qdk9Bi6t6NkMIGUSJuzyIipsDDWaiCfjWxs7seFd9c+rgcH6r9CaUbNRfU
|
||||
rPqEZSeL+RDwIIz1gQkXmosF94DjZHP9abZYObH1/Or64CSRD8Ocf6kTRndwJOZk
|
||||
RdDtUX5NPFSiU17E/DoEkyryuXMR+Ci0b/hjQ4JnriGeyy6c0StWQUW18SEYPV0j
|
||||
3VyRRUcOLhJajEu8KU4Xaaxgb/2X7o/BosjjQ8BPPUdTz2wRluU/1tKUQ8D+O8QH
|
||||
7dCR3lJt76kKWbsAEQEAAQ==
|
||||
=ZM2y
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
1f47744c9b6e14f2049c2857f1f111af65925306
|
||||
|
|
@ -0,0 +1 @@
|
|||
2655176f748fd83725b4805ff2a01147d830c125
|
||||
|
|
@ -0,0 +1 @@
|
|||
56b505dc8a29c69138a430b9429c8816dea04cdb
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBFf0S68BCACovMXnHqnBYRmC+rsIIPOoT1vSusHWu56beDBG7t/og/nziZq1
|
||||
mcZhX4oFG/IKnY3af20Flcv0X0gNodH9fOErvQ7hZDvHBgB9HVpeKiMx7OQqRWke
|
||||
+vV/vcUFkt0ICyMzDvEVod7asjAakKZHKiVpEb0mM8Zvn3MPUzFDveK+tHWdbuWo
|
||||
WFmmNzmRpkK6hbMlXlyeTYs5jvYv9P5FHm3xYTcHJxrPYTF/uZTJu8Tqol8K1ImX
|
||||
kH11pnhgTzI6l0oIm0JmH+40LGNYrsczW0JdxwQzfQbsQM3LR9kCAMr0LMEya70l
|
||||
ozvY4LsX8Y7irBqlF1519pakI6Ss9Cz6sSLpABEBAAG5AQ0EV/RLrwEIAMHMulFu
|
||||
vwuB6Eq7jocJ83udZu1snzxbtR5QttTwL/Ck6ZwD/8dmFY1Chi8paJJsHzSZpo6N
|
||||
UiaVRqBgvR/umMMHNTdlUftKdK9pbG6/hPeSw2856C+cFHuJKDAfbaAIgMb2MIMA
|
||||
WL2iTle9zc7IBM9ly0rj9L7hrW46YxaBKZD4XGsFgpv/2/Tnkq2pZM6ou/kDyAAU
|
||||
28A5kbazSaU25/a8jPp5dFW1qCZmNNJN4d2TvvXb6pxz79B54adgEQcGOck17Po9
|
||||
fknD/RceX5VbFpXIPuaU3GdL0lee7gDOWGbyTbgnlx5JTzemGiDqay9o3fMpIRjz
|
||||
7meVf41AFEedxv0AEQEAAQ==
|
||||
=HiTl
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGPF4agBEADsWnQn3m/dMw1Q6FLALQCEucRkRLw4wcmtzXuuYb2M17aHvEb5
|
||||
+OnXDdgQ2QcnnjK4S3zQp/Jt4ZQnnLORqx919+c+1gT24U06VxeGPW/TLRn/hnKA
|
||||
ZM7bwGCz7em/GQ7JaIXPn3aqGrCiy8j8N5jAQ4ePP5ESQLeWisQFlbKMFVU09B7t
|
||||
0IPG/LQ8xJs/SveQw8sGrz9zqyYE58EauyIKfiI91Ruk2jMcb/m+SRL9Bhen3Q12
|
||||
g6kFrHurLtEWzy1rwELt9g9OILv0FokPa2m0goQRHx4nFY0kIpJ/r9kDUg/tlg4H
|
||||
OxP+5XTJxEXGW2gb9zpmDpdR8aUgi67/Kdm8+norzpTTMAuKCgclCv3bJz2D8Jnl
|
||||
IgEXmSoznn1EnFkm0Qsr8JwkaPC6LkGcI7YqvEdCXtRXduot+9GgWytp/IxrlJ4X
|
||||
vFEhOmChdVdn5lT1T0ka6NxEJcmf5mfgyz9jRUVHINNJxQKP1Gh7LyMFeWw6V/X7
|
||||
RAeU/th1pL2rAeBqn3gnK+CIR82/AVDJJa86BAHiQBYilgs+bGYriXYd0qmIFvYO
|
||||
sSfC87Dbl3kzwcAGWB4d6tezLxrzscfbzWFIa9woy31/OcqK+uglSKbTFsIklhM8
|
||||
Rr2B0tQS1iNzq5gyWGKnh8FsqcAiGvDpwhF7irGhU7fNRVVSuamVDnV0BQARAQAB
|
||||
=1wAs
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
48b086a7d843cfa258e83286928fbf39003c0425
|
||||
|
|
@ -0,0 +1 @@
|
|||
2655176f748fd83725b4805ff2a01147d830c125
|
||||
|
|
@ -0,0 +1 @@
|
|||
e113159331a1f87bfc2a93d0960d2e8635a91268
|
||||
|
|
@ -0,0 +1 @@
|
|||
bd3b8aab16ea001cda79d4773e8a7f8a3597e7fb
|
||||
|
|
@ -0,0 +1 @@
|
|||
7119b89feb81209430e65c62c2ad9c8a7d4e988a
|
||||
|
|
@ -0,0 +1 @@
|
|||
cde577234159e222bc56e50f9c61220417aaa02e
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGQYtMQBEACmLu7LRrKxzEnLmRI/fWXuO3lcr2Hazd7DVmMSqH5sf+D6taoL
|
||||
uNRchspbHp804GOltu7lR6rNI5htQOpwVuiF6hu8HORujpv++N/yGdW3LGoT3R9a
|
||||
wNkJIudgOCxSZnNON+gKe4pqdk1R3WKWQzXe5o7PBn8zJen5uYP9MBN66lQxXw7T
|
||||
XsDDXjGRHJth7lOzJi/JStcO3Nc/n8PYz6b+t7LW7vZYshogRq6yc4d0Uktr3ZJw
|
||||
IgiN6vT4I2nHU48O+nqvKevfspNZdyWyrUCkAC9heANiXNEnr34j3EjTpJy4Cfmg
|
||||
By1QxFEaJN7HPf6y4OtTd3AThepK/8o69nw2LIjK6mvWa2ERXSNAVWbSKPlKf74e
|
||||
/x6bBDDqevDx9NXApTLrHRzBKDgQ2I0r68sX8RZTgbzx12I5CYTpDo1JRprVtn+T
|
||||
dfO50o1pxwvlDBuWCPqHERIzF9QhNXUDy7uh6J2s9qho+p6LKn01cOXoOrlMg6ZK
|
||||
syd5Ffo/kqiDv77IMAdaXmYmZelX2y3I0tfM3ccH90u5cDKEhRdiFiW48JPnhcz9
|
||||
QKUvGtT8hywsjkU7MpJf56uVQT1ApKmdL9rOgnjGnGeB9HNxEhXl1z9Sqjc0QAx9
|
||||
mq1TZ9K454lk+AqwAkUppoMez3tmJWULqDFqZkLuh/uAjycHhLSHmOWq1QARAQAB
|
||||
uQINBGQYtMQBEADaTQ8FyQYGKEFydGosLSOPet+Z4VaWWrjF4TOElczfhJnDhGIl
|
||||
iDU8c2hHFbovdWfW5fb2G+mgckyXnUFtO0FhIDpho2Mmz1sR4ZY/1dXJdaeSy2kb
|
||||
OxVTcVVJ3iIefvV7P7k6FGz36ROTthLN+Y0O3ZS9QlXDjtpOcANszgS3zaC2y6T6
|
||||
YDjubU8lMfHAad/VNgCtuG0IcErI23s2hNH5IpzndyuZoYff31UTzMW6KufbQC4c
|
||||
Ak7u3SQYVCq0HP7o4MiC+Tt43tLLE4WZUPpHU2REu96FZTot9/6WROTm7SzSNzS0
|
||||
q764jKe3Q1Y3AY01t6kpQHv0mE1bQ99e6yD/Gm1J3Fet+0z6Q6yB1Evt0Omac6yy
|
||||
EJ1eePB4whGmeyoC5oz94jbTkGkhXS8Cxwl+M7HetH82ShC1XPl6dz67WnUndddX
|
||||
LQnOr1PfXI4k81qUyPuojvMLwKhX9lWhAJImQp2e3PqAa3pZOcjdw7pE77ZvKF2a
|
||||
gwUJ0nEenzfM9oyj2/V5NGCI845Lk1K/319XmxaYghEJIaNBAVDrrkoVdY6tD4le
|
||||
5RKdjfTvnndYsZYh/rJZn+fp5GZAk1hHQsj/yiS4kQ3h/Lt6Gztv5Nsh7U7M1mat
|
||||
SLZtB/pfyHZxHmS4khcR0HGyHUSZyPBbz1Xno0hqU4xWOlndax+peHjnHQARAQAB
|
||||
=IBhn
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
e113159331a1f87bfc2a93d0960d2e8635a91268
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFqz2mMBEADf9rwaUU4Up4hEHRt7JnhIClBNYqQr8Oc3QLvtEmsMv6UWHQ/h
|
||||
l70MhvCrAZnxnDmcSEE5/A5VeZSDBm4qM+jH8x+B9zIVMoWS2c3IJeE0Q0bt6MO+
|
||||
j6TQrrXmetyCvzYMz/Dbr6f3alEvh89ImkSZ4XdEByFcoXTdpQ7WUzYNw643F3W+
|
||||
pXg2eMm0DVN6Sqagbeqt1qZQ1S/3RwtSIgfGt0T88eBYMe8fhrLhLvsakERrPBKj
|
||||
01uzeBJ5BuUNZ8OrI23RaF7upDVkoxlZW6dz9u2W0YiKozo0IHP5JdllSAtg4Bbn
|
||||
sSfNdia0TbTT5Pwoz6ncY5ivUnCeHP2nZ02IjTAwNs2mni2KLRKop/SRqKG0jqRT
|
||||
wFDS4XeocvBqpCAHR/Gf1LmR2j+jGGkohnFAqS9ds7yZISnp+5VnEvjs+vGwMh2U
|
||||
ybwGpFJTFE70ntg7t5S48P+IjuUDGWoEE1vZsMmm4ytAHPxRBeERvMhPL7PLLYPY
|
||||
pejtRIsc6qSCBVi9DHneXhP1bh9Osjg9YOckShNQTsZGo2IHxjC1dqXXWn0RNYLa
|
||||
oxqz6/RY1uA809N7/kwG1xBgaRMJl/HNfBVAFf3Tx0ILI7cVGvKrHpDiUfSxLpY4
|
||||
M3EWBRlJ925bkFhEIQ2XHhVh6fhy7W8oB47dnYpTlVyEi6iPh+clUKuZ0wARAQAB
|
||||
uQINBFqz2mMBEACt5yWpYhiY2Tk4NXOVBGBe/r8vwwfKiilH7RcUVi5t7JP9n4IY
|
||||
8vzp6sENykHtsTITRu32QOj7KAu1xo6hSdJ9aUUuL0/xiWF6eiISqa8isj54XuKA
|
||||
4xgDTJb6gS7EFAZgU1PWVAihX75cEWMmNfPLulfqOGaxKm9kgdeo1BGDxp5aFm31
|
||||
EptDrCl2h3VgWDaBOm+Zo2xQyjMEpsBmrZTLtv+VEjDGb6J93sgsTFMd6eAhd+Lu
|
||||
yq62Ap/SmavBbYyhUIv+ay/2Kv+8h8lLc8KJSt2Ox/hDD8NFShEw6Q5VDU6+fsjy
|
||||
CauFeCCuDco9hSSFx9d5dNod51dXKlUz9Umwd5NhdLa/OYW5rA3ohsoP/4HbSPzw
|
||||
2DBacf+No4jHxnk58SU4XGyvDtWSuiTVyDrZGiFEYpPjEXUuwjidiSCa3jb3gfl0
|
||||
0lJjg5wKf47TWgVh94AgHjkZGutv6votGc1SoGS0QNJjRFeTjpr1nEwOihz0AH3a
|
||||
FTkiNBd78rsMctURswvfIjHwGijJMrSKzgKysgUTuuyKhvhEH6C739YweArhJkNo
|
||||
HP4Z91FEDrn5PCtUHY7deGHiARLPcgnN74wq45iGNYmK7Qt7sbWcJQzJqtMzHI9c
|
||||
MyM+h9nm7lOflBVvJo4kTYkIgqwg6rV/BLCv6/ONqmmMmEEh7B5c4GA2IQARAQAB
|
||||
=/Car
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
1f47744c9b6e14f2049c2857f1f111af65925306
|
||||
|
|
@ -0,0 +1 @@
|
|||
ed09733fa05dedf15100abeb32bbf14af07ca77b
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFPaQqUBEACzwC+QX+uZlPAmU3ds3+HMgw12yoEb4Wahc3hqL1nSekUZ4oN1
|
||||
EdKtzIrTORcB5eH987FfbgM4wPeott91ZTNuxr0X6ulHH/YzkLnytMjlipEuoxZ1
|
||||
FwXjTBN187Xc6Tbewco+Tm9BpPNVO7eNlmJih4TRXPmb7Nd3WAb9UYOO/L+iHluo
|
||||
6SmZ9fIw3AReNdfVjIOV2w7fTQJdBt+UpN39hrHU1o2Ok/H5EsS7gf170HQWgpHd
|
||||
0GgXVF49BKTVVu/D+X3+C54DHfMJUwsxJ+KNYuYIsWV8nUf+Prayji3IJLeFBegL
|
||||
VO0ZzoQs+u/PyOQIOTz2odvUIwde0rZCveILi1W4wj9ijhL0eT0n+tepE85vlYr+
|
||||
ZHXrlEelJHq4LhC4a7JSdhJ0UreJM3oTIS4svmR6TuwUjAiO1ewYwfjWB5EWoz/7
|
||||
qQ2fj5gjgP2A69DXtJ4dhj0lrUWpCDy8lgdKAgIpxepE03o7SaZhLRslwCQWBRW9
|
||||
SdSEByx2KwZMcu7cmXSgavc+AiSDD5KIZQJdHwEP7r4OewyRpCa/wplcPAimVUs4
|
||||
KTt7bXtBnw4jiGiLmTiHwZqMmCmSEUOzivG+7wuXsBA0ucivmert1IWamSdT3NRt
|
||||
C6IdH7KR8tZXzmkIl6ARH0WGz109ZrqhU1vCG1tLWhmaqW6VuOr4J7lA0wARAQAB
|
||||
uQINBFPaQqUBEAC0uU0KPaS4FjwYB0fvD2bJ7zLg4PGhlAYkGGOIWMSys4pNd0Ql
|
||||
TIdKqlZ6hmCEiPQOwLAGN+B4Fpp9dU7MhPOTfEWY/ccYcOiebktJvtY5C0KbC3JX
|
||||
bVvYKZXSszVcVIvlEMTXt2WtRTov2cff8uWE7vadXSNQozBH3pGBnBlkzTiYJf8y
|
||||
h9BNqgQ4evJG+nRfTPOPHtPKRCtDaC8CwF5rnyD9CBDuFLxd20i9i7T3tsWkfOV1
|
||||
5FDutdtZU97S43cI5d0apQX5wk4XzM3cEmlYSvW3EffK5K0gi+Vyka8JxpR9bwA0
|
||||
RzuCwwbP4HloAhxVB/R3Zcsy4wweK2r6tFOdA12FigOGbO5+s3Us6zp1q0GL8N83
|
||||
D0D7Y8HMMJmLoPhK2Ddg5T6zrti+2z0vO8d6elmJluASzbMYYk4NMxuJTp+gw0i8
|
||||
iTp9k28/FNZbHsVReoHOeigybawoAOZX3x+b52ehcoIWdX7IiVyTFYsPb5hPPmrK
|
||||
185KDwAnYxwSaoamxhj7MybCNteUFCjVQtbD2UHl7q5nzEwUbJIO2ibwOCTBw7FO
|
||||
zmdCVQ4ex85y/agKnzaqxBg3fnpuRKQmflG24oPhwu64gUW2GZskfCQLmLPX0Lqq
|
||||
06FIcS9qgl2o7LaLDLTdS853E4696B9tMXUOgEtvIftZKdVKE/9RqQ6PdwARAQAB
|
||||
=Dpj/
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBFKQ78QBCAC7JYRWDFIDUVKg3upqCY4TtA9wO88x9Madd+2SsZX6dkmMXgDD
|
||||
MCAOP5zqFgX0ZoPh/sOnkEx9I8owfwfITN2H85tOdJ9rVvuWzgZXQpDkWExDG25L
|
||||
VNVzcTlOC3ZrJevjo62WNL4QPKEnrFPvXa9G+fQabixAPFqBwTjVP5WNABr49tol
|
||||
nwNIKNtiqXHXES9J3G02SIjIS8OgbzW0WtSwP8qi8EUzggnCTRCh+lt/Zz1XxEx/
|
||||
Zlk07uurOebvJ2wKJU2jhzYKMI48h4AI7qowjU7+IrGmEmSQ/UIyAnPFCcmf4Xyi
|
||||
Sa795ddZd1KKy5Zxl7SZk+2s2RXzYP3Yyty5ABEBAAG5AQ0EUpDvxAEIAKYmziBF
|
||||
eMz5y9+sl5nOhCZ52H6tbCbmPT5pDS8ct0hFuAocFaOlq0fUyPPtH3S3vgCaNsg+
|
||||
yrZgzUSdvwWKWBiJw/vg+Yw8cluNnNScRzaZOlW29rBnKZAvZVuMoQ3WoR/8kF26
|
||||
BgSaJ1hRduAQLQMmjONWuQSGsU/AyA0K1TQsHNpAuVJIS2PdOuAnf67YDx9WOn8u
|
||||
+Bk302Z+7ppy88s95/IyG8Mpv3cqNaaGyfHRwMPIEZxSOKwnh5yhvgp2Il0BTfwW
|
||||
WZeK8Ls/uBask2FllcQLgQMxkWFRODUaTK9cjSkmXuu+O/9kLnexUvuCdFUdxHqw
|
||||
lz3uqx1u7XBxnBkAEQEAAQ==
|
||||
=sePN
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
7a1d848e7c2af85eeba69c99e7bf252cf360097e
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBFwrcpEBCADYHRnfzETbqrTG345y82fkw/qxr0oryHuCrb1iqYCk77w32PQz
|
||||
jspoJBRSCrxTZT9BQJw9Y9kni3ZhlMxJJYT+BdcRPUkxgSw6N0r3CH/mna1XYL39
|
||||
hvlhyfh+s9brneYLbOIxOrHAsT3ASgYcDDuNKrgYgGrUB7VifhE7DW6oFnDrYmQI
|
||||
CH2ixTeDfuzdcZ66w3+z8eQZLbdDJ9aNY8syvKkvyGsmUhkwSHBJDwW34+nV7MnP
|
||||
hDZcfm/yZL/AZ1q5D8SobBJBDnxQSOcGPNgCnPM4UiwrmvTuneEN1vNPM4xWq17B
|
||||
/+KurSjDbIndZCnzq0l1xsurq8qeK8tsNNrJABEBAAG5AQ0EXCtykQEIAK64QjtN
|
||||
b11UNUk9GAlhkcUPCBSrlnQM4A3Za3sHOT1owfYov6DQxgppDuqTJ10NdluD7M2U
|
||||
MuIYw6nuoILcteXFQNlhGsz8Xjze5EPpg18t9c6ZoFUMPVUtDyjyZuKM1yHyo1w8
|
||||
Z9zRRmSGgHCWH83+VDUjF1D2CZ4Sfii6Ji5GnGxH68Dq4ZucWArPYGgr3hhz73lx
|
||||
SAD8KVyXeMD46hD+lhqlg5lbQ9k+mHwpKUgft35jAuewwhPbY6wb1P/oQOgIFJ7/
|
||||
0GsZwJ5zUu+lp6l7N17wLDUCQisz6+MJvyY9wDtiHzI+zBLS2ecacfpOT4GE9K+H
|
||||
pmS6gk7fAsRC/8UAEQEAAQ==
|
||||
=/SFy
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
1d339b6a68ae2e8daeda65d5276962ca56e73c81
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mI0EVdDLQQEEAJMtYCaTA56YsP5RzQzPvqVTaR2nZ27qRk36blHB9WmXK+NHpGeH
|
||||
PHgq59mLPVueo2/M5k/fFrCe36jHePP31gYpFtueeYDfsofHwod0WhsHyC7JfG8d
|
||||
jEnSczTCmOHRZ3ed9ef6SeWUozYCQAX/tAbpoCthe0lTDYhFhkzVCe/FABEBAAE=
|
||||
=45ZY
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
120d6f34e627ed3a772ebbfe55c7e5e701832382
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFyrDesBEADSY9ho1u1DQ8MY+jc4xApFAagCd8VB+YT96A8FzvPLuj7f8M4T
|
||||
JNjd/Te7kR47SW5KoROiucoVw/YrUnyaHw5Ph+vF1msTlxD3OKU2PiVHI5JJgg/1
|
||||
WUioL4wASue+r2QCOc73a2s3eVfSFjozNE7I/gXlbceuN5+7O8a2eEBDCErH6TPn
|
||||
yD4ShnnRPtMfBTYKMCV+sclIsjO4buxyCfqySyxHS4vGXxgGxZVvc2HrSbL+JFo0
|
||||
PMcjPSaK6u+w2KBo06HS7TngrRkxHmqzuoo4xc8HGaSA9XKyQPOrcerIsdns9EpD
|
||||
ahk556qOtRQay77tDwF5bJZvA37DJI3QfVVXTZBFpPhFHmP5Ji/6OTsodVhpTQr1
|
||||
mycP+zAyMOzD+gvnJO302PFWCZblMXbmVMToefNIXAAobTOaG3QwDsvftwQX9c0V
|
||||
ZTDSoZJXTsYdX/2AOWOU1RMzE+qbzgm/GLZZ9ytLHGdodL4tmo3mitPsm4FLwyUH
|
||||
TjcP/SsZZQk2mZyiR7/vl+BvSTqnHTXj+10p1+MIOPiUAwaa9JVglV4odkJHZwwI
|
||||
7yEKNqyDeMRBbxtZn79l+qmzsMi+51MRdgPiBRktPdwC6w+bkxfSKCSWdD59fbNg
|
||||
91jFktNtUMK3L2NLX6YRuQ6+VRKGqEOI4l8hEDKM7/eS8Y5Dxe5RmesoeQARAQAB
|
||||
uQINBFyrDesBEACqVQoHqtE2l/1crv6Ym49ZHT+wtmtfS4D/ZkthHz3Bc0Zne4+B
|
||||
DbXtdG1WhUvO+S7CRfeczXxDMmMsUeN0/hzcCG03QguFHQyQL9IIccAZRij6TR2I
|
||||
aF/N43fZgfL1ai/TaMgXDv7LTbe44MK3w4jqfrd31Ee+laN+gluG+o+LJBkYfpzC
|
||||
MlkXp1Xa5kuFFoaGn+Dyy0MTs37jnbgblyraGogkciERzlOA+3hMnolxTfx5v/Th
|
||||
Mq1tngshYw/PkLACejKCpJvi03tJF3Q9d5q81AqSyqthSnfIITfOJ40U3J9pDM8Z
|
||||
WJXkkXunlQIUcdNvQAzjegMg1KB8TdVuNcFW7ZrtPAOsSxEBk+Ty/xhXBLxoeHXj
|
||||
WwVlbeSAumCZgVqkkvuxc+0gIocqUKjC/VqTyoENX1z8/dbkiGRmvebUJaYxoiPE
|
||||
x8h9O30zqKh42ovM5xiEHajZ0kJBLJgg225VCdJ+4ce42LkZ0x67EcDZYdQ97iRo
|
||||
rOPqBK11ReeexFsrkfcJoywBnlxIuPKqJ1T70JoqDX9TJHAM2n07kbxjU8E/pqGE
|
||||
jezk+oQpJqGTXibFRizvZbKDeBPmJXVCUHGphs0ZXyzgk+WGEqBuqR7K3dZKykCm
|
||||
AZui12ZyHxSA/PKzaUKMAQmXrg4f3LxmI8GDl4EmuSykK6wAO0I+/X08pwARAQAB
|
||||
=BwIl
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
7119b89feb81209430e65c62c2ad9c8a7d4e988a
|
||||
|
|
@ -0,0 +1 @@
|
|||
f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8
|
||||
|
|
@ -0,0 +1 @@
|
|||
1d339b6a68ae2e8daeda65d5276962ca56e73c81
|
||||
|
|
@ -0,0 +1 @@
|
|||
f36ca0c4b500f0cdde0c5aa1913f763cd0f9cfd8
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGA+eiIBEADDcMhLJttJzEdu0drh/9d3wtVvdCm6cfDk9dVFxk4dt5MLe0f+
|
||||
Bv8+WKMmfbsmZzj4/f9nwYMXk3yx41iiN41uuc+YTT8lHwsOdmlPClBAQmtg+VT+
|
||||
xTIXqGKQmsElNjKSnGMzC4wI126cZrlv9uuy1NkDfjv1UM5hCVW/e+mysfgDbF9G
|
||||
cEJajBJIQc4Ps99YruNzbZr+kRis76A9CGtBcxVDniNcNNO7ch7rQ13Df87gQl0x
|
||||
WJrech4mJRhfprqkeM9RD6khTpBAXSXuPOrM6x0hIWEILq0JllYQ00G1AznXgogP
|
||||
fbsqbnN1wiztwXRVOupSOsH01CN8ANS5e+ZIWrc49QxpRHLue+r9ijDVAWQlF3N7
|
||||
2AhUcK1//BApF095z2g1d9W/+BVbwn0MZnLjjNHZqU0myJxSSBfSS3HsKd+xWurk
|
||||
Lp5yBEUaxgKBg90f8ikOl2DQxNt1EPucI51DwsfPbMXkAEEuBTOaZssIAI8DMxNX
|
||||
32VmM5O9ZPR8HuMDoTgwYBCuemp0Zt5JnWyhWWBvpWzz+4qh3ssAysjO7Zmpkh6G
|
||||
2vmG4WNzY0ZsttpvKLC/Ry1c8oKpw5vCM7+EYpH/lj7i9200hLQ+82D2ndxNPbBJ
|
||||
RNUBzBmiyAPcBQ8IZZjOpAfBC4UqaCHDfgz9hPlhEHZAEFHLBHEGd9eXwQARAQAB
|
||||
uQINBGA+eiIBEACXWHVGrQDyqTqboO3vXxCyM7NJgCEeN5Cp7xK+SGBPz/z2qfol
|
||||
IR/lbiFqL/aaGVaSsCKh2yz8kGuPNVsGLyfvO0pWRb8reEG9eXTBVJxZmOQ4Ulhm
|
||||
oBKLvEniOzPCqEPWGxSv2FBhXKeJyViLMD+go/6+jXfJmqBPFFALAN3CWiIZDrCj
|
||||
FqiduWXMapSWptVDtWsq2Q+LD97U0+ESWzvt7BVs/NWzTbUWvXHYvipZ2ZFZstr+
|
||||
ym1G4IsjYB2iy46gjePYh2aG6YSsG9tGe0FMVf1/dJaGz3U0ZMD6qicm5FYDNaXq
|
||||
217pXOd+gvvpi3SxdaOiSMfYPuhoAv5y66+x+zqWNsNVPeRZydtWhbvhpNERSvCx
|
||||
r9Agh+4WC0XPQEGrC+Hyau8rYcwMndAwR/Pw4wNKJuB7IqWnk8y/1m3Br2vbc+hi
|
||||
uhFVOx+ZkBJrlUcFLVT2D/3fonDrxPWmOJvzgqlSeZaFMFNe5/UoXBAbZb/1E1pj
|
||||
6uWrun11NOrZdsD4Eic6PzERdWYoWgd+7fFqeR3CQDMyOY1XvetOgPTCzwAYjLzR
|
||||
UXTENayf/mhXtIbiqYLrx8ljz3HN5XUcFo9Q5Zep1e3IJNrC34dea6azh/N8cgPa
|
||||
4vEKkHI3g+udt8n08WXGMMgrdvi3W/5Sx2UuKjJn/Iu0s13e+C9/odyLhwARAQAB
|
||||
=X8g8
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
56b505dc8a29c69138a430b9429c8816dea04cdb
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGB980QBEADLBOfY981RbUf7zI9AoXcxGignXkYbeSvxIMML9vAbnhmuHwa6
|
||||
h+81ZTY2XK7Rz211y129YidPykkiLX9mY+OWvJsj7dTyVTcIm6MU5ETDvovfmKWg
|
||||
5sJRrANAnkZ73UVJIKTQC9HonBIpiPLmDEBfReHkNsXtYqS4fyZO5tkjy9ejaw2p
|
||||
5qpOS9WixIvZT43OfzH+8O4ecmDrOZ20azogcWqLCQ/ZDbfnyHFH+BvA8bn4bS6y
|
||||
304655N6cxDbShHrLWP6erbGozmLu/hVabCMSJgGRRb8NcUzJQ5rwh27SvKyMGKE
|
||||
8u1ek57d2wv2pI+sACBMzYlrP1S9MTcpUsQ4YvDQi9Ic1QDw7f2KkEsEnxs7h17h
|
||||
AhbBwEvNWqpFkKjI4ApYsM+/fPo0/lsT0lskjKrCnoEL9+sLKDcp85cR1dPC5ELf
|
||||
b2bhgjqccIk2gASrjmTiryF7gUiMTgZVU5PF9f0+p1pGqC4GIjJOf/JGhhGEyzVt
|
||||
BNvJWUgImqWbSFOKWfvnmdjZyULAVouxrrxF1vPN2U7KFurmSQV6tq/1Uf/qccR9
|
||||
/uhEI30ypv4OrVi+8WoVsEamag/AlnRLFCEjdfB0oUy7V/lPqMxRoxmhiTX+cCjM
|
||||
QkFfcspJt830vwct0pi4rtYt9pk1Roh9tOKh2UKRDGL5DE3rZbJYs+6TAQARAQAB
|
||||
uQINBGB980QBEADfm6alrriLjrDLwBlQDIayE/SCyieZlfCsdcM2tcnFF8dznHMp
|
||||
Dimke7NmZ7YYpuSi4im6920D3omARVBHE+JKAcIchCRPRTH0ZvbVx7bzdiPztc/6
|
||||
su9YJ6NbJS81Mk5c2pAdw6e0qd6Zw98aVyjfcd8Dy42uuBfQrHSuYYpXy8kn+WZ7
|
||||
zou7d0CVskvel8GhqPshY4Vwm8aBDXrydEIoEYhlhnzQTUmVylaHLQAnKSJmkWCK
|
||||
o7UUkH1B2vfTZXAIVOt1q+5bkR82AT95Jj5JzKfoneoeXeIwIIbj+j7y1FM44e3V
|
||||
DhjY7TsN4tyOqzMRZ5/6GcVpJ9Zns35o+pGrVa02CUQFEdZFrH1fF84MglydRgHJ
|
||||
QsFuqOUt5cQgRpXMAhu/aex+Y1YBjyWPqRFtIqJMqejLRZ2SGAxQWOXOrW8nJQ0+
|
||||
2leLsFhgbOvtYRI9NBm2kPZomHnrHmmG5EaBwjOu0xXPMEooIICUfCPlqmonXJNI
|
||||
Pm2pZXp7geJ9zV7b83iWkJK4YqIs4UM78T1kb2EUHguAR+eS7kc8Z0wKxn0n/1e7
|
||||
lT5/hlp7ZR7wn/qjr3SAR6RjfIevakD1tK1zj4wJgPWmTnraeyyzrOCq7z4tNGgG
|
||||
ZSvSrKWckb4h35iSEs6mcAEVRrzB6a++HBGlTCOQQ/is/0uUFr4yP5R7oQARAQAB
|
||||
=HqzY
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
@ -0,0 +1 @@
|
|||
ed09733fa05dedf15100abeb32bbf14af07ca77b
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue