Security Patch - How to Source Code Patch?Security Patch - How to Source Code Patch?https://liferay.dev/en/c/message_boards/find_thread?p_l_id=119785333&threadId=1188710292024-03-28T16:36:31Z2024-03-28T16:36:31ZRE: Security Patch - How to Source Code Patch?David H Nebingerhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188841302020-04-08T15:58:31Z2020-04-08T15:58:31ZThat is expected, Fredi. Liferay updates typically don't touch the version message strings, it is just too hard to keep it accurate.David H Nebinger2020-04-08T15:58:31ZRE: Security Patch - How to Source Code Patch?Fredi Bhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188857662020-04-08T15:13:10Z2020-04-08T15:13:10Z<div class="quote-title">Dominik Marks:</div><blockquote><br />I was able to compile Liferay from source with ANT_OPTS="-Xmx4096m" and a 64-bit Java 8 JDK.</blockquote>Wow, thank you! With these informations I also was able to compile from source...<br />Sadly, when starting the binary I get greeted by the 7.1.2 GA3 Hello World Portlet.<br /><br />But checking the E-Mail Settings I can see fixes applied by the 7.1.3 GA4 patch:<br /><blockquote>+account-created-notification-body-with-password-reset-help=Enter the body of the email sent to users upon registration. This should contain a link to set a new password.</blockquote><br />On startup there is also the 7.1.2 version in the logs: <a href="https://imgur.com/bnpyIyD">https://imgur.com/bnpyIyD</a><br /><a href="https://imgur.com/bnpyIyD"></a>Is this als the case for you @Dominik Marks?<br />Would you provide your binary for 7.1.3?<br /><br />Greetings, FrediFredi B2020-04-08T15:13:10ZRE: Security Patch - How to Source Code Patch?Dominik Markshttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188854032020-04-08T14:06:10Z2020-04-08T14:06:10ZI was able to compile Liferay from source with ANT_OPTS="-Xmx4096m" and a 64-bit Java 8 JDK.Dominik Marks2020-04-08T14:06:10ZRE: Security Patch - How to Source Code Patch?Fredi Bhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188827152020-04-08T13:57:33Z2020-04-08T13:57:33Z<div class="quote-title">David H Nebinger:</div><blockquote><br />Building from source is possible, but it is also delicate.<br /><br />You should never build from github because that is always seen as a work in progress. Compiles might fail, tests might fail, etc.<br /><br />It takes time and memory to compile, horsepower is helpful too in order to cut time. I'd also recommend skipping the tests, doing so will shorten the time and possibly eliminate the error you're hitting.</blockquote><br />Thanks to hear back from a Liferay Legend. <img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" ><br />We currently use the 7.1.3-ga4 branch (that should not be work in progress?) and can confirm your statement about "memory and horsepower" - We currently hit problems with Java Heap Size even when using ANT_OPTS "-Xmx4440m"Fredi B2020-04-08T13:57:33ZRE: Security Patch - How to Source Code Patch?David H Nebingerhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188787342020-04-08T13:26:49Z2020-04-08T13:26:49ZBuilding from source is possible, but it is also delicate.<br /><br />You should never build from github because that is always seen as a work in progress. Compiles might fail, tests might fail, etc.<br /><br />It takes time and memory to compile, horsepower is helpful too in order to cut time. I'd also recommend skipping the tests, doing so will shorten the time and possibly eliminate the error you're hitting.David H Nebinger2020-04-08T13:26:49ZRE: Security Patch - How to Source Code Patch?Fredi Bhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188806002020-04-08T10:00:34Z2020-04-08T10:00:34ZThank you Fernando,<br />because this is an urgent problem for us I also worked late in the evening and found this resource.<br />But I still can't compile Liferay Source 7.1.3 GA4 with patch succesfully.<br />The whole process is<u> unbelievable frustrating</u> and the <strong>documentation is NON-EXISTANT i</strong>n a little comment in provided link there is the information that you need to use Ant 1.9.x for successful compiling.<br />Even with JDK8, Ant 1.9.x and with ant all or ant clean all I run into errors <strong>after 30-50 MINUTES</strong>. <br /><br />Is building Liferay-Portal from source even possible for non-Liferay-members?<br />I am quite new to Liferay so please pardon this question:<strong> Is this always the same way for Liferay to fix security problems in older releases?</strong><br /><strong></strong><br />Greetings, <br /><strong><span style="font-size: 16px;">an ext</span></strong><strong><span style="font-size: 16px;">remely frustrated Fredi</span></strong><strong><span style="font-size: 16px;"> </span></strong><blockquote>FAILURE: Build failed with an exception.<br /> [exec]<br /> [exec] * What went wrong:<br /> [exec] Execution failed for task ':apps:commerce:commerce-product-type-virtual-order-content-web:compileJava'.<br /> [exec] > Compilation failed; see the compiler error output for details.<br /> [exec]<br /> [exec] * Try:<br /> [exec] Run with --info or --debug option to get more log output. Run with --scan to get full insights.<br /> [exec]<br /> [exec] * Exception is:<br /> [exec] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':apps:commerce:commerce-product-type-virtual-order-content-web:compileJava'.<br /> [exec] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)<br /> [exec] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)<br /> [exec] at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)<br /> [exec] at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)<br /> [exec] at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)<br /> [exec] at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)<br /> [exec] at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)<br /> [exec] at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)<br /> [exec] at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)<br /> [exec] at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)<br /> [exec] at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)<br /> [exec] at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)<br /> [exec] at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)<br /> [exec] at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)<br /> [exec] at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)<br /> [exec] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)<br /> [exec] at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)<br /> [exec] at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:74)<br /> [exec] at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:143)<br /> [exec] at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:40)<br /> [exec] at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:40)<br /> [exec] at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:24)<br /> [exec] at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:46)<br /> [exec] at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:49)<br /> [exec] at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:40)<br /> [exec] at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:33)<br /> [exec] at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:355)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)<br /> [exec] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)<br /> [exec] at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:219)<br /> [exec] at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)<br /> [exec] at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:124)<br /> [exec] at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:77)<br /> [exec] at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:74)<br /> [exec] at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:154)<br /> [exec] at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:38)<br /> [exec] at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96)<br /> [exec] at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:74)<br /> [exec] at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)<br /> [exec] at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)<br /> [exec] at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)<br /> [exec] at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:50)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)<br /> [exec] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)<br /> [exec] at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)<br /> [exec] at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)<br /> [exec] at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)<br /> [exec] at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:44)<br /> [exec] at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:79)<br /> [exec] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:44)<br /> [exec] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)<br /> [exec] at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)<br /> [exec] at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)<br /> [exec] at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)<br /> [exec] at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)<br /> [exec] at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:62)<br /> [exec] at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34)<br /> [exec] at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)<br /> [exec] at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)<br /> [exec] at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)<br /> [exec] at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)<br /> [exec] at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)<br /> [exec] at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)<br /> [exec] at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)<br /> [exec] at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)<br /> [exec] at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46)<br /> [exec] at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)<br /> [exec] at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:52)<br /> [exec] at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:207)<br /> [exec] at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:402)<br /> [exec] at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:375)<br /> [exec] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:37)<br /> [exec] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:23)<br /> [exec] at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:368)<br /> [exec] at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:298)<br /> [exec] at org.gradle.launcher.Main.doAction(Main.java:36)<br /> [exec] at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)<br /> [exec] at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)<br /> [exec] at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)<br /> [exec] at org.gradle.launcher.GradleMain.main(GradleMain.java:23)<br /> [exec] at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:31)<br /> [exec] at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:108)<br /> [exec] at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)<br /> [exec] Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.<br /> [exec] at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:52)<br /> [exec] at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:36)<br /> [exec] at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:100)<br /> [exec] at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)<br /> [exec] at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)<br /> [exec] at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:49)<br /> [exec] at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:35)<br /> [exec] at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:39)<br /> [exec] at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:110)<br /> [exec] at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:106)<br /> [exec] at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:59)<br /> [exec] at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:43)<br /> [exec] at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:153)<br /> [exec] at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:121)<br /> [exec] at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)<br /> [exec] at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)<br /> [exec] at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)<br /> [exec] at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)<br /> [exec] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)<br /> [exec] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)<br /> [exec] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)<br /> [exec] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)<br /> [exec] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)<br /> [exec] ... 100 more<br /> [exec]<br /> [exec]<br /> [exec] * Get more help at https://help.gradle.org<br /> [exec]<br /> [exec] BUILD FAILED in 13m 43s<br /> [exec] 987 actionable tasks: 928 executed, 59 up-to-date<br /> [exec]BUILD FAILED<br />C:\lpatch\liferay-portal\build.xml:117: The following error occurred while executing this line:<br />C:\lpatch\liferay-portal\build.xml:414: The following error occurred while executing this line:<br />C:\lpatch\liferay-portal\build-common.xml:899: C:\lpatch\liferay-portal\build-common.xml:901: exec returned: 1Total time: 37 minutes 58 seconds</blockquote>Fredi B2020-04-08T10:00:34ZRE: Security Patch - How to Source Code Patch?Fernando Fernandezhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188801352020-04-08T09:12:36Z2020-04-08T09:12:36ZHi Fredi,<br />I never tried it myself but maybe this article can help: <a href="https://liferay.dev/blogs/-/blogs/getting-started-with-building-liferay-from-source">https://liferay.dev/blogs/-/blogs/getting-started-with-building-liferay-from-source</a><br />HTH<br />FernandoFernando Fernandez2020-04-08T09:12:36ZRE: Security Patch - How to Source Code Patch?Fredi Bhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188741022020-04-07T13:18:53Z2020-04-07T13:18:53ZAfter reading my post again I think it might be helpful to clarify some things...<br /><br />1. I cloned Liferay Portal CE 7.1.3 GA4<br />2. I applied the patch to the source code with git apply.<br /><br />Now I am a little bit lost...I found a quite old guide from liferay leading me towards Ant, Gradle and Blade CLI. <br />When trying to follow the steps I hit a wall when running "ant compile install-portal-snapshots" - and I am even unsure if this is even the right way.<br />Some help, even small hints would be great!<br /><br />Cheers,<br />FrediFredi B2020-04-07T13:18:53ZSecurity Patch - How to Source Code Patch?Fredi Bhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1188710282020-04-07T09:21:51Z2020-04-07T09:21:51ZGood Morning Liferay Community,<br /><br />I recently wanted to patch my Liferay Portal CE 7.1.3 GA4 with the corresponding security-patch published by Samuel Kong here: <a href="https://liferay.dev/blogs/-/blogs/security-patches-for-liferay-portal-6-2-7-0-and-7-1">https://liferay.dev/blogs/-/blogs/security-patches-for-liferay-portal-6-2-7-0-and-7-1</a><br /><a href="https://liferay.dev/blogs/-/blogs/security-patches-for-liferay-portal-6-2-7-0-and-7-1"></a>Sadly the also given link to how to patch Liferay was not that much helpful... <a href="https://portal.liferay.dev/learn/security/patching">https://portal.liferay.dev/learn/security/patching</a><br /><a href="https://portal.liferay.dev/learn/security/patching"></a>My 7.1.3 local portal is installed by official liferay CDN, same for our develop environment and the future productive environment of the customer. &