Skip to content

feat(internal/librarian/java): add ApplyMoveActionsToLibrary helper and unit tests - #6731

Merged
yangyzs merged 7 commits into
googleapis:mainfrom
yangyzs:feat/postprocess-pr4b-2-move-helpers
Jul 10, 2026
Merged

feat(internal/librarian/java): add ApplyMoveActionsToLibrary helper and unit tests#6731
yangyzs merged 7 commits into
googleapis:mainfrom
yangyzs:feat/postprocess-pr4b-2-move-helpers

Conversation

@yangyzs

@yangyzs yangyzs commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Add ApplyMoveActionsToLibrary helper function to relocate generated files from temporary source paths to target library directories while applying file preservation logic.

For #6516

…nd unit tests

Add ApplyMoveActionsToLibrary helper function to relocate generated files from temporary source paths to target library directories while applying file preservation logic.

For googleapis#6516
@yangyzs
yangyzs requested a review from a team as a code owner July 9, 2026 20:28

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the ApplyMoveActionsToLibrary function to move and merge generated code into the repository structure, along with corresponding unit tests. The review feedback suggests improving error handling in ApplyMoveActionsToLibrary by explicitly checking for fs.ErrNotExist rather than silently ignoring all os.Stat errors. Additionally, the tests should avoid using the non-portable syscall.ENOTDIR for error assertions, allowing the removal of the unused syscall import.

Comment thread internal/librarian/java/postprocess.go Outdated
Comment thread internal/librarian/java/postprocess_test.go Outdated
Comment thread internal/librarian/java/postprocess_test.go
Comment thread internal/librarian/java/postprocess_test.go
Comment thread internal/librarian/java/postprocess_test.go Outdated
yangyzs added 3 commits July 9, 2026 21:45
…lyMoveActionsToLibrary

Update ApplyMoveActionsToLibrary to check for and propagate unexpected errors from os.Stat (like permission errors) instead of silently skipping them. Include a combined table-driven unit test validating this and other error scenarios.

For googleapis#6516
…eActionsToLibrary

Update ApplyMoveActionsToLibrary to return errors for missing source directories (fs.ErrNotExist) and consolidate error assertions under table-driven tests.
Signed-off-by: yangyzs <171981480+yangyzs@users.noreply.github.com>
@yangyzs
yangyzs requested a review from JoeWang1127 July 10, 2026 14:13
yangyzs added 3 commits July 10, 2026 14:56
…issing source directories for now

Return to the legacy behavior of silently skipping non-existent source directories
in ApplyMoveActionsToLibrary. This allows unit tests (like TestGenerateAPI_NoTools)
to run without mocking directory structures on disk until owlbot.py is removed.

Refs: googleapis#6752
@yangyzs
yangyzs merged commit f25bd33 into googleapis:main Jul 10, 2026
31 checks passed
@yangyzs
yangyzs deleted the feat/postprocess-pr4b-2-move-helpers branch July 10, 2026 19:23
noahdietz pushed a commit that referenced this pull request Jul 13, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.26.0](v0.25.0...v0.26.0)
(2026-07-13)


### Features

* **internal/gem:** add gem package to install Ruby gem tools
([#6724](#6724))
([40ba6df](40ba6df))
* **internal/librarian/java:** add ApplyMoveActionsToLibrary helper and
unit tests
([#6731](#6731))
([f25bd33](f25bd33))
* **internal/librarian/java:** add RestructureToLibrary helper and unit
tests ([#6757](#6757))
([b2ff68c](b2ff68c)),
closes [#6516](#6516)
* **internal/librarian/java:** add ToKeepSet helper and unit tests
([#6730](#6730))
([df99304](df99304)),
closes [#6516](#6516)
* **internal/librarian/java:** integrate native Go postprocessor into
Java generator
([#6768](#6768))
([074059d](074059d)),
closes [#6516](#6516)
* **internal/librarian/java:** mark legacy postprocessing for
deprecation
([#6716](#6716))
([78a4ab6](78a4ab6)),
closes [#6516](#6516)
* **internal/librarian/nodejs:** use cache and bin directories for
nodejs install
([#6680](#6680))
([7f88869](7f88869))
* **internal/librarian/php:** add inital PHP client library generator
([#6703](#6703))
([9a45ab1](9a45ab1))
* **internal/librarian/php:** add tool installation directory helpers
([#6717](#6717))
([9cdf0b5](9cdf0b5)),
closes [#6630](#6630)
* **internal/librarian/ruby:** support installing Ruby gem dependencies
([#6751](#6751))
([bbce2c4](bbce2c4)),
closes [#6634](#6634)
* **internal/librarian:** add ruby tools directory to env output
([#6781](#6781))
([c220d71](c220d71))
* **internal/postprocessing:** add Apply pipeline runner and tests
([#6714](#6714))
([5cb8f66](5cb8f66)),
closes [#6516](#6516)
* **internal/postprocessing:** add ApplyMethodOperations batch runner
and tests ([#6698](#6698))
([8377d53](8377d53)),
closes [#6516](#6516)
* **internal/postprocessing:** add applyToFiles and RemoveFiles
([#6673](#6673))
([2f4b437](2f4b437)),
closes [#6516](#6516)
* **internal/postprocessing:** add CopyFiles batch runner and tests
([#6686](#6686))
([20c3a1a](20c3a1a))
* **internal/postprocessing:** add ReplaceAll and ReplaceRegexAll batch
runners and tests
([#6688](#6688))
([bb18f06](bb18f06))
* **internal/protoc:** add protoc installation and use installed
`protoc` in Java generation
([#6622](#6622))
([00ee24d](00ee24d))
* **internal/protoc:** add Run function
([#6699](#6699))
([cd8a1d4](cd8a1d4)),
closes [#6558](#6558)
* **internal/serviceconfig:** allowlist API paths for php
([#6789](#6789))
([7907686](7907686)),
closes [#6629](#6629)
* **internal/tool/gem:** verify input directories and tools before
installation
([#6778](#6778))
([3086d63](3086d63))
* **java:** append versions.txt on add
([#6653](#6653))
([9e9e645](9e9e645))
* **librarian/internal/config:** add php config
([#6701](#6701))
([939ae6f](939ae6f))
* **migrate:** discover and list PHP libraries during migration
([#6728](#6728))
([e552b89](e552b89))
* **sidekick/parser:** correct LRO poller service
([#6704](#6704))
([1d4b2d1](1d4b2d1))
* **sidekick/rust:** remove unstable gate for LRO tracing
([#6459](#6459))
([8266ce3](8266ce3))
* **sidekick/swift:** discovery LROs
([#6738](#6738))
([c294d15](c294d15))
* **sidekick/swift:** generate deprecation attributes
([#6750](#6750))
([145e8ae](145e8ae))
* **sidekick/swift:** traits with dependencies
([#6709](#6709))
([e8389f2](e8389f2))
* **swift:** add protobuf generation support
([#6697](#6697))
([3bebf26](3bebf26))
* **tool/cmd/migrate/php:** scaffold composer tools for php
([#6736](#6736))
([f23b451](f23b451))
* **tool/cmd/migrate:** add support to php
([#6726](#6726))
([586bac0](586bac0)),
closes [#6723](#6723)
* **tool/cmd/migrate:** support union versions in PHP OwlBot configs
([#6782](#6782))
([7690206](7690206)),
closes [#6779](#6779)


### Bug Fixes

* **internal/librarian/java:** remove excluded_poms from repometadata
([#6676](#6676))
([5e0f7f2](5e0f7f2))
* **internal/librarian/php:** enforce explicit API paths and add default
output path
([#6740](#6740))
([347bbd6](347bbd6))
* **internal/librarian:** preserve gem tools during tidy
([#6783](#6783))
([0150007](0150007))
* **internal/librarian:** preserve maven and protoc configuration during
tidy ([#6702](#6702))
([b439528](b439528)),
closes [#6558](#6558)
* **internal/snippetmetadata:** disable HTML escaping in JSON output
([#6777](#6777))
([4da5e28](4da5e28)),
closes [#6776](#6776)
* **librarian/rust:** detect inconsistent repos
([#6766](#6766))
([82ce5a9](82ce5a9))
* **sidekick/swift:** missing enum value docs
([#6727](#6727))
([e9020d2](e9020d2))
* **tool/cmd/migrate:** populate API paths from .OwlBot.yaml during
migrate for php
([#6739](#6739))
([6a15260](6a15260))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants