[BUG]: CLI Warnings and no visual notifications of install? #1296

Closed
opened 2026-03-21 20:41:14 +00:00 by Tom van der Laan · 4 comments
Member

What Happened?

Hi, i figured i try out the cli compiler / installer but i have some warnings and an error. Also i have the install flag but i see nothing about it being installed.

[***@srv1.****.nl cli]$ /usr/local/php83/bin/php joomla.php  componentbuilder:compile:component --component 92f48454-f159-4ad3-a809-dd720aa56b33 --install

Compile Request
---------------

 ----------- -------------------------------------- 
  Component   92f48454-f159-4ad3-a809-dd720aa56b33  
 ----------- -------------------------------------- 

PHP Warning:  Undefined array key "lang" in /home/***/domains/***l/public_html/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Helper/Interpretation.php on line 8854
PHP Warning:  Array to string conversion in /home/***/domains/***/public_html/libraries/src/Language/Text.php on line 280
                                                                                                                        
 [ERROR] An unexpected error occurred.                                                                                  
                                                                                                                        

syntax error, unexpected token "}"

 // <hr /><h3>Field Notice</h3>                                                                                         
 //                                                                                                                     
 // Since you do not have <b>Tidy</b> extension setup on your system, we could not use the SimpleXMLElement class. We instead
 // used <b>string manipulation</b> to build all your fields, this is a faster method, you must inspect the xml files in your
 // component package to see if you are satisfied with the result.<br />You can make this method your default by opening the
 // global options of JCB and under the <b>Global</b> tab set the <b>Field Builder Type</b> to string manipulation.     
 //                                                                                                                     
 // You do not have a global power plugin setup, so the powers plugin autoloader could not be added.                    
 //                                                                                                                     
 // <hr /><h3>Dynamic folder(s) were detected.</h3>                                                                     
 //                                                                                                                     
 // A method (moveFolders) was added to the install <b>ComponentnameInstallerScript.php</b> of this package to insure that
 // the folder(s) are copied into the correct place when this component is installed!                                   
 //                                                                                                                     
 // <hr /><h3>Language Notice</h3>                                                                                      
 //                                                                                                                     
 // The [com_clubmanager].ini <b>nl-NL</b> language has <b>311</b>(total en-GB strings) and <b>177</b> (strings nl-NL translated) =
 // 56.913183279743&#37; translated. Was added because more then 0&#37; of the strings have been translated.            
 //                                                                                                                     
 // The [com_clubmanager].sys <b>nl-NL</b> language has Array&#37; translated. Was added because more then 0&#37; of the
 // strings have been translated.                                                                                       
 //                                                                                                                     
 // <hr /><h3>Assets Table Notice</h3>                                                                                  
 //                                                                                                                     
 // The #__assets table <b>intelligent</b> fix has been added to this component. The <b>intelligent</b> fix only updates the
 // #__assets table column when it detects that it is too small for the worse case. The intelligent fix also only       
 // reverse the #__assets table update on uninstall of the component if it detects that no other component needs the    
 // rules column to be larger any longer. This options also shows a notice to the end user of all that it does to the   
 // #__assets table on installation and uninstalling of the component.                                                  


Warning: Undefined array key "lang" in /home/***/domains/***/public_html/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Helper/Interpretation.php on line 8854

Warning: Array to string conversion in /home/***/domains/***/public_html/libraries/src/Language/Text.php on line 280

Steps to reproduce the Bug

compile and install via cli

Which Joomla version are you compiling in?

6.0.3

Which PHP version are you compiling in?

8.3

Which Joomla versions are you targeting?

6

Which PHP version are you targeting?

8.3

Which Web server is JCB running on?

aoache

Which Relational Database is JCB running on?

mariadb

Which OS is JCB running on?

centos 7

Which JCB version are you using?

6.1.5-rc1

Where in JCB did this issue occur?

Compilation of a component, Installation of a component

On which browsers did you encounter the issue?

Safari

Additional Comments

No response

### What Happened? Hi, i figured i try out the cli compiler / installer but i have some warnings and an error. Also i have the install flag but i see nothing about it being installed. ``` [***@srv1.****.nl cli]$ /usr/local/php83/bin/php joomla.php componentbuilder:compile:component --component 92f48454-f159-4ad3-a809-dd720aa56b33 --install Compile Request --------------- ----------- -------------------------------------- Component 92f48454-f159-4ad3-a809-dd720aa56b33 ----------- -------------------------------------- PHP Warning: Undefined array key "lang" in /home/***/domains/***l/public_html/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Helper/Interpretation.php on line 8854 PHP Warning: Array to string conversion in /home/***/domains/***/public_html/libraries/src/Language/Text.php on line 280 [ERROR] An unexpected error occurred. syntax error, unexpected token "}" // <hr /><h3>Field Notice</h3> // // Since you do not have <b>Tidy</b> extension setup on your system, we could not use the SimpleXMLElement class. We instead // used <b>string manipulation</b> to build all your fields, this is a faster method, you must inspect the xml files in your // component package to see if you are satisfied with the result.<br />You can make this method your default by opening the // global options of JCB and under the <b>Global</b> tab set the <b>Field Builder Type</b> to string manipulation. // // You do not have a global power plugin setup, so the powers plugin autoloader could not be added. // // <hr /><h3>Dynamic folder(s) were detected.</h3> // // A method (moveFolders) was added to the install <b>ComponentnameInstallerScript.php</b> of this package to insure that // the folder(s) are copied into the correct place when this component is installed! // // <hr /><h3>Language Notice</h3> // // The [com_clubmanager].ini <b>nl-NL</b> language has <b>311</b>(total en-GB strings) and <b>177</b> (strings nl-NL translated) = // 56.913183279743&#37; translated. Was added because more then 0&#37; of the strings have been translated. // // The [com_clubmanager].sys <b>nl-NL</b> language has Array&#37; translated. Was added because more then 0&#37; of the // strings have been translated. // // <hr /><h3>Assets Table Notice</h3> // // The #__assets table <b>intelligent</b> fix has been added to this component. The <b>intelligent</b> fix only updates the // #__assets table column when it detects that it is too small for the worse case. The intelligent fix also only // reverse the #__assets table update on uninstall of the component if it detects that no other component needs the // rules column to be larger any longer. This options also shows a notice to the end user of all that it does to the // #__assets table on installation and uninstalling of the component. Warning: Undefined array key "lang" in /home/***/domains/***/public_html/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Helper/Interpretation.php on line 8854 Warning: Array to string conversion in /home/***/domains/***/public_html/libraries/src/Language/Text.php on line 280 ``` ### Steps to reproduce the Bug compile and install via cli ### Which Joomla version are you compiling in? 6.0.3 ### Which PHP version are you compiling in? 8.3 ### Which Joomla versions are you targeting? 6 ### Which PHP version are you targeting? 8.3 ### Which Web server is JCB running on? aoache ### Which Relational Database is JCB running on? mariadb ### Which OS is JCB running on? centos 7 ### Which JCB version are you using? 6.1.5-rc1 ### Where in JCB did this issue occur? Compilation of a component, Installation of a component ### On which browsers did you encounter the issue? Safari ### Additional Comments _No response_
Tom van der Laan added the Bug label 2026-03-21 20:41:15 +00:00
Owner

I have been seeing this:

syntax error, unexpected token "}"

At this stage, I haven't been able to pinpoint the exact origin of the syntax error. We've already spent a considerable amount of time investigating it without a definitive result.

That said, in most cases the component still compiles successfully on our side, even when the warning is shown. It may be worth checking your temporary folder to confirm whether the compiled package is being generated there as well. (run without install)

One important detail is that the CLI currently does not explicitly report a "success" state when compilation and install completes. It simply outputs the same messages you would see during a GUI-based compile/install process. The CLI implementation is essentially a wrapper around the same GUI-triggered classes, so in principle the behaviour and outcome should be identical. While I haven't exhaustively tested every edge case, the expectation is that successful compilation is still occurring.

On the positive side, the CLI has helped surface various warnings that typically don't appear in the Joomla interface. We've been actively working through these to improve overall code quality and stability.

If you have time to continue investigating the syntax error, that would definitely be helpful. However, given that this issue is also present in the previous stable release, we are likely to proceed with releasing the current version. We want to avoid delaying the release further, especially since we're already at RC1, and instead focus on delivering the fixes we've completed so far.

Our goal is also to reduce the scale of changes between releases. Historically, updates have been quite large, but we're aiming to bring that down significantly to make upgrades more manageable and predictable.

With the increased use of AI-assisted refactoring, development has accelerated considerably. That said, we are carefully reviewing all changes line-by-line to ensure behaviour remains consistent and to avoid introducing regressions. While AI enables faster iteration, we are intentionally maintaining a strong understanding of the underlying code to prevent over-reliance and loss of control.

Ultimately, we see JCB evolving as a stable intermediary layer-capable of generating consistent, reliable code while interpreting AI input in a controlled and transparent way.

If we do identify the root cause of the syntax error, we will address it promptly.

I have been seeing this: ``` syntax error, unexpected token "}" ``` At this stage, I haven't been able to pinpoint the exact origin of the syntax error. We've already spent a considerable amount of time investigating it without a definitive result. That said, in most cases the component still compiles successfully on our side, even when the warning is shown. It may be worth checking your temporary folder to confirm whether the compiled package is being generated there as well. (run without install) One important detail is that the CLI currently does not explicitly report a "success" state when compilation and install completes. It simply outputs the same messages you would see during a GUI-based compile/install process. The CLI implementation is essentially a wrapper around the same GUI-triggered classes, so in principle the behaviour and outcome should be identical. While I haven't exhaustively tested every edge case, the expectation is that successful compilation is still occurring. On the positive side, the CLI has helped surface various warnings that typically don't appear in the Joomla interface. We've been actively working through these to improve overall code quality and stability. If you have time to continue investigating the syntax error, that would definitely be helpful. However, given that this issue is also present in the previous stable release, we are likely to proceed with releasing the current version. We want to avoid delaying the release further, especially since we're already at RC1, and instead focus on delivering the fixes we've completed so far. Our goal is also to reduce the scale of changes between releases. Historically, updates have been quite large, but we're aiming to bring that down significantly to make upgrades more manageable and predictable. With the increased use of AI-assisted refactoring, development has accelerated considerably. That said, we are carefully reviewing all changes line-by-line to ensure behaviour remains consistent and to avoid introducing regressions. While AI enables faster iteration, we are intentionally maintaining a strong understanding of the underlying code to prevent over-reliance and loss of control. Ultimately, we see JCB evolving as a stable intermediary layer-capable of generating consistent, reliable code while interpreting AI input in a controlled and transparent way. If we do identify the root cause of the syntax error, we will address it promptly.
Owner

Good news we found the issue, and will push out RC2 with the fixes on several files.

Good news we found the issue, and will push out RC2 with the fixes on several files.
Owner

I can confirm that this issue has been resolved in v6.1.5-rc2.
I've tested it across multiple components, including those that previously triggered the syntax error, and can confirm it is no longer occurring.

@TLWebdesign, could you please verify on your side as well? If everything is working as expected, we can proceed with closing this issue.

I can confirm that this issue has been resolved in [v6.1.5-rc2](https://github.com/joomengine/pkg-component-builder/archive/refs/heads/6.x.zip). I've tested it across multiple components, including those that previously triggered the syntax error, and can confirm it is no longer occurring. @TLWebdesign, could you please verify on your side as well? If everything is working as expected, we can proceed with closing this issue.
Author
Member

Hi i can confirm it works now yes :D thanks!

Hi i can confirm it works now yes :D thanks!
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: joomla/Component-Builder#1296