adityamparikh opened a new pull request, #246:
URL: https://github.com/apache/solr-mcp/pull/246

   > **Depends on #245.** This branch is stacked on it, so the first commit in 
the diff is #245's; review only the last commit, `refactor(build): build the 
IP-clearance row with the kotlinx.html DSL`. The extra commit drops out once 
#245 merges.
   
   ## Summary
   Builds the Incubator IP-clearance row (`generateIpClearanceLicenseReport`) 
with the type-safe `kotlinx.html` DSL instead of `XMLStreamWriter` plus 
whitespace string literals.
   
   Before, the element structure was buried in literals like `"\n               
     "`, so the shape of the emitted XML could only be recovered by replaying 
the whitespace. Now the code mirrors the XML:
   
   ```kotlin
   appendHTML(prettyPrint = true).tr {
       td { +date.get() }
       td {
           +CHECKLIST_WORDING
           code { +"META-INF/LICENSE" }
           +" of the executable JAR):"
           ul { items.forEach { (name, licenses) -> li { +"$name — 
${licenses.joinToString(" / ") { it.label }}" } } }
       }
   }
   ```
   
   - The checklist wording and the row indent move into named constants 
(`CHECKLIST_WORDING`, `ROW_INDENT`); one `prependIndent` replaces the 
hand-written indentation.
   - The library escapes text itself.
   - New `buildSrc`-only dependency: 
`org.jetbrains.kotlinx:kotlinx-html-jvm:0.12.0` (Apache-2.0). It is not on the 
shipped classpath, so it does not appear in the binary `LICENSE`.
   
   ## Output
   The date, the checklist wording and all 157 dependency entries are 
unchanged. Only insignificant whitespace in the row differs: the checklist 
sentence is one line instead of hand-wrapped, and the `<li>` indent is 18 
spaces instead of 20.
   
   ## Testing
   - `./gradlew build` (JDK 25, clean tree, including `rat`) — 421 tests, 0 
failed, 0 skipped.
   - The generated `ip-clearance-licenses.xml` is well-formed; parsed, it 
matches the previous output (date, prose, 157 items). `LICENSE` is 
byte-identical.
   
   @epugh, please review.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to