| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…t even without dependency sources
…h and match unused classes
This reverts commit 23adce5.
This reverts commit 0100ab2. ### 1. Test Versions | Commit Hash | Local Version Tag | Description | | :--- | :--- | :--- | | [`51d5feb5`](51d5feb) | `9.0.3-51d5feb5` | **Before Worker API** (single-threaded serial execution) | | [`0100ab21`](0100ab2) | `9.0.3-0100ab21` | **After Worker API** (asynchronous parallel execution via Gradle Worker API) | --- ### 2. Detailed 10-Iteration Benchmark Results (Unit: ms) | Iteration | Before Worker API (`51d5feb5`) | After Worker API (`0100ab21`) | | :---: | :---: | :---: | | **Warm-up 1** | 19,131.87 | 7,158.15 | | **Warm-up 2** | 937.74 | 927.13 | | **Warm-up 3** | 867.42 | 892.92 | | **Build 1** | 949.85 | 887.27 | | **Build 2** | 855.78 | 895.07 | | **Build 3** | 870.54 | 913.32 | | **Build 4** | 842.07 | 962.29 | | **Build 5** | 834.61 | 902.32 | | **Build 6** | 895.61 | 863.34 | | **Build 7** | 842.98 | 882.96 | | **Build 8** | 836.82 | 862.21 | | **Build 9** | 843.10 | 888.14 | | **Build 10** | 874.22 | 867.52 | --- ### 3. Summary Statistics | Metric | Before Worker API (`51d5feb5`) | After Worker API (`0100ab21`) | Difference | | :--- | :---: | :---: | :--- | | **Mean** | **864.56 ms** | **892.44 ms** | +27.88 ms (+3.2%) | | **Median** | **849.44 ms** | **891.17 ms** | +41.73 ms (+4.9%) | | **Min** | **834.61 ms** | **862.21 ms** | +27.60 ms | | **Max** | **949.85 ms** | **962.29 ms** | +12.44 ms |
- Deduplicate entry writing in generateSourcesJar. - Remove the redundant slash branch in extractSourceSubpatterns, as converting a pattern and its prefix to dot or slash notation keeps `startsWith` the same. - Remove the unused default offset from matchesSubpattern. - Skip unrelated sources early in SimpleRelocator.applyToSourceContent, avoiding building subpatterns and regexes for sources that don't reference the pattern. Remapping 300 Guava sources with 1001 relocators went from ~25s to ~1.5s.
References like `getResource("/org/foo/x.properties")` are relocated in
class files, as `canRelocatePath` strips the leading slash, but were kept
as-is in the shadowed sources.
With class-level includes or excludes, a source file's path is relocated per class like class files, but its `package` declaration can't match those patterns. An excluded class kept its path but got a relocated package, and an included class got the opposite. Set the declaration from the relocated path for sources laid out in their package directories.
KGP's `jvm` publication publishes the non-shadowed JAR, so attaching the shadowed sources JAR to it would publish mismatched sources and may clash with KGP's own sources classifier. Publish the shadowed JAR and its sources together in a dedicated publication instead.
Keeping `jar` enabled while `shadowJar` writes the same file in `build/libs` has no ordering between them, so the published JAR depended on which task finished last, which made its functional test flaky. The overlapping outputs also disable caching for both tasks. Keep publishing from the `shadow` component as the only documented replacement approach.
Add a `withSourcesJar` parameter to writeClientAndServerModules instead of always enabling `withSourcesJar()`, so unrelated multi-project tests keep covering the default path without generating shadowed sources JARs.
# Conflicts: # src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt # src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/PublishingTest.kt # src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocator.kt
There was a problem hiding this comment.
Source-relocation mismatches, cache-sensitive archive ordering, and overly broad documentation-test failure suppression remain unresolved.
6 open issuesReview effort: Balanced
Sorry, something went wrong.
| ) = | ||
| try { | ||
| zipOutStream.use { zos -> | ||
| val sourcesJars = includedSourcesJars.filter { it.exists() && it.isFile }.sortedBy { it.path } |
| val pathWithoutExt = path.removeSuffix(".$extension") | ||
| val className = pathWithoutExt.replace('/', '.') |
| */ | ||
| override fun applyToSourceContent(sourceContent: String): String { | ||
| if (rawString) return sourceContent | ||
| if (rawString || pattern.isEmpty()) return sourceContent |
| relocateSourcePattern( | ||
| sourceContent = sourceContent, | ||
| patternFrom = pattern, | ||
| patternTo = shadedPattern, |
| for (pat in patterns) { | ||
| val dotPat = pat.replace('/', '.') | ||
| if (!dotPat.startsWith(dotPrefix)) continue | ||
| val sub = dotPat.substring(dotPrefix.length).replaceFirst(trailingWildcardRegex, "") |
| Back | FazBrowse Home | New Git URL |
Closes #41.