Type: Regression Bug
Affects Version/s: 7.1.X
Component/s: Core Infrastructure > Service Builder
Steps to reproduce:
- Clone the https://github.com/liferay/liferay-blade-samples repository
- Checkout the 7.1 branch
- Navigate to liferay-workspace/apps/service-builder/basic/basic-service
- Confirm that service.xml uses the 7.1.0 service builder DTD. If it does not, update service.xml to use it.
- Run blade gw buildService and confirm it runs to completion
- Add compileOnly group: "com.liferay", name: "com.liferay.petra.string", version: "2.0.0" to the dependencies section in build.gradle to account for the code auto-generating classes from petra-string
- Run blade gw compileJava
Expectation is that the compilation succeeds, because all the needed libraries for CE GA1 are present on the classpath. Actual behavior is the compilation fails, because service builder is actually using new API added to BasePersistenceImpl added to a version of com.liferay.portal.kernel that was released after GA1.
Note: You can also reproduce this by updating a module in 7.1.x (for example, modules/apps/portal-lock/portal-lock-service) and adding serviceBuilder group: "com.liferay", name: "com.liferay.portal.tools.service.builder", version: "1.0.237" to the dependencies section in build.gradle and repeating steps 4-7.