├── .github
├── dependabot.yaml
└── workflows
│ ├── deploy.yml
│ └── test.yml
├── .gitignore
├── .idea
├── copyright
│ ├── Apache.xml
│ └── profiles_settings.xml
└── scopes
│ └── Only_source_and_tests.xml
├── LICENSE
├── README.md
├── agent
├── pom.xml
└── src
│ └── main
│ └── java
│ └── w
│ └── agent
│ ├── AgentInstrumentation.java
│ └── AgentMain.java
├── asm-patcher
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── w
│ │ └── asm
│ │ └── patcher
│ │ ├── AsmPatcher.java
│ │ ├── AsmRedefine.java
│ │ ├── AsmRedefineMethod.java
│ │ ├── ImmutableMethodInfo.java
│ │ ├── Matcher.java
│ │ ├── Matchers.java
│ │ └── MethodInfo.java
│ └── test
│ └── java
│ └── AsmPatcherTests.java
├── asm
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── w
│ │ └── asm
│ │ ├── Asm.java
│ │ ├── ClassMaker.java
│ │ ├── MagicAccessorBridge.java
│ │ └── MethodMaker.java
│ └── test
│ └── java
│ └── w
│ └── asm
│ └── MakerTests.java
├── bom
└── pom.xml
├── config
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── w
│ │ └── config
│ │ ├── Config.java
│ │ ├── ConfigMissingKeyException.java
│ │ ├── ConfigProvider.java
│ │ ├── FileConfig.java
│ │ ├── InconvertibleMutableConfig.java
│ │ ├── JacksonConfigProvider.java
│ │ ├── MapBasedMutableConfig.java
│ │ ├── MutableConfig.java
│ │ ├── SimpleFileConfig.java
│ │ ├── deserializer
│ │ └── ConfigDeserializer.java
│ │ ├── mapper
│ │ ├── AbstractMapper.java
│ │ ├── BooleanMapper.java
│ │ ├── Mapper.java
│ │ ├── NumberMapper.java
│ │ └── StringMapper.java
│ │ └── path
│ │ ├── ConfigPath.java
│ │ └── SimpleConfigPath.java
│ └── test
│ ├── java
│ └── w
│ │ └── config
│ │ ├── ConfigProviderTests.java
│ │ ├── ConfigTests.java
│ │ └── FileConfigTests.java
│ └── resources
│ └── config.yml
├── deploy.sh
├── eventbus
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── w
│ │ └── eventbus
│ │ ├── AbstractAsyncEvent.java
│ │ ├── AsmDispatchWriter.java
│ │ ├── AsmDispatchWriters.java
│ │ ├── AsyncEvent.java
│ │ ├── Cancellable.java
│ │ ├── Event.java
│ │ ├── EventBus.java
│ │ ├── EventDispatcher.java
│ │ ├── ImmutableRegisteredEventSubscription.java
│ │ ├── NamespaceValidator.java
│ │ ├── PostOrder.java
│ │ ├── RegisteredSubscription.java
│ │ ├── SimpleEventBus.java
│ │ └── Subscribe.java
│ └── test
│ ├── java
│ └── w
│ │ └── eventbus
│ │ └── EventBusTests.java
│ └── resources
│ └── simplelogger.properties
├── geo
├── pom.xml
└── src
│ └── main
│ └── java
│ └── w
│ └── geo
│ ├── GeoLocationLookupException.java
│ ├── GeoLocationManager.java
│ ├── cache
│ ├── caffeine
│ │ └── CachedGeoLocationManager.java
│ └── guava
│ │ └── CachedGeoLocationManager.java
│ ├── maxmind
│ ├── DatabaseProvider.java
│ ├── DatabaseProviders.java
│ └── MaxmindGeoLocationManager.java
│ └── model
│ ├── Country.java
│ └── GeoLocation.java
├── pom.xml
├── settings.xml
├── unsafe
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── w
│ │ └── unsafe
│ │ └── Unsafe.java
│ └── test
│ └── java
│ └── UnsafeTests.java
└── util
├── pom.xml
└── src
├── main
└── java
│ └── w
│ └── util
│ ├── ByteAllocator.java
│ ├── ByteSlice.java
│ ├── ByteUnit.java
│ ├── ClassLoaderUtils.java
│ ├── Env.java
│ ├── Iterables.java
│ ├── Iterators.java
│ ├── NumberUtils.java
│ ├── ObjectCloner.java
│ ├── ObjectUtils.java
│ ├── RandomUtils.java
│ ├── TypeUtils.java
│ ├── buffering
│ ├── Buffered.java
│ └── Buffering.java
│ ├── ci
│ ├── CiString.java
│ └── CiStrings.java
│ ├── concurrent
│ ├── Async.java
│ └── ThreadFactories.java
│ ├── function
│ ├── ComponentConsumer.java
│ └── ComponentPredicate.java
│ ├── io
│ ├── AbstractByteOutput.java
│ ├── ByteOutput.java
│ ├── ByteOutputStream.java
│ ├── CappedByteOutput.java
│ └── UncappedByteOutput.java
│ ├── lazy
│ ├── ConcurrentLazy.java
│ ├── Lazy.java
│ └── SimpleLazy.java
│ ├── mutable
│ ├── MutableInt.java
│ ├── MutableLong.java
│ ├── MutableOptionalInt.java
│ ├── MutableOptionalLong.java
│ ├── MutableOptionalReference.java
│ ├── MutableReference.java
│ └── Mutables.java
│ ├── pair
│ ├── MutablePair.java
│ ├── Pair.java
│ ├── Pairs.java
│ └── UnorderedPair.java
│ └── random
│ ├── RandomStringGenerator.java
│ ├── RandomStringGeneratorBuilder.java
│ ├── SimpleRandomStringGenerator.java
│ ├── SimpleWeightedRandomGenerator.java
│ ├── WeightedRandomBuilder.java
│ └── WeightedRandomGenerator.java
└── test
└── java
└── w
└── util
├── NumberUtilsTest.java
├── RandomUtilsTests.java
├── buffering
└── BufferingTests.java
├── ci
└── CiStringsTest.java
├── io
├── ByteOutputTests.java
└── ByteUnitTest.java
├── lazy
├── ConcurrentLazyTests.java
├── LazyTests.java
└── SimpleLazyTests.java
├── pair
└── PairTests.java
└── random
├── RandomStringGeneratorTests.java
└── WeightedRandomGeneratorTests.java
/.github/dependabot.yaml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: maven
4 | directory: "/"
5 | schedule:
6 | interval: daily
7 | open-pull-requests-limit: 10
8 | target-branch: master
9 | reviewers: [ whilein ]
10 | labels:
11 | - dependencies
12 | - automatic
--------------------------------------------------------------------------------
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: deploy
2 |
3 | on:
4 | push:
5 | tags:
6 | - '*'
7 |
8 | jobs:
9 | deploy:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v1
13 | - name: Set up JDK 17
14 | uses: actions/setup-java@v1
15 | with:
16 | java-version: 17
17 | - name: Cache local Maven repository
18 | uses: actions/cache@v2
19 | with:
20 | path: ~/.m2/repository
21 | key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
22 | restore-keys: |
23 | ${{ runner.os }}-maven-
24 | - name: Retrieve github tag
25 | id: github_tag
26 | run: echo ::set-output name=RESULT::$(echo $GITHUB_REF | cut -d / -f 3)
27 | - name: Prepare deploy
28 | run: |
29 | cat <(echo -e "${{ secrets.GPG_KEY_CONTENTS }}") | gpg --batch --import
30 | - name: Deploy with Maven
31 | run: mvn --no-transfer-progress --batch-mode -Drevision=${{ steps.github_tag.outputs.RESULT }} -Dgpg.passphrase=${{ secrets.SIGNING_PASSWORD }} -s settings.xml -T 1C -Pdeploy -DskipTests=true -Dmaven.test.skip clean deploy
32 | env:
33 | OSSRH_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
34 | OSSRH_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: test
2 |
3 | on: [ push ]
4 |
5 | jobs:
6 | test:
7 | runs-on: ubuntu-latest
8 |
9 | steps:
10 | - uses: actions/checkout@v2
11 | - name: Set up JDK 17
12 | uses: actions/setup-java@v1
13 | with:
14 | java-version: 17
15 | - name: Cache local Maven repository
16 | uses: actions/cache@v2
17 | with:
18 | path: ~/.m2/repository
19 | key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
20 | restore-keys: |
21 | ${{ runner.os }}-maven-
22 | - name: Test with Maven
23 | run: mvn --no-transfer-progress -T 1C clean test
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea/**
2 | !/.idea/scopes/
3 | !/.idea/copyright/
4 | !/.idea/scopes/**
5 | !/.idea/copyright/**
6 | target/
7 | *.iml
8 | .flattened-pom.xml
--------------------------------------------------------------------------------
/.idea/copyright/Apache.xml:
--------------------------------------------------------------------------------
1 |