ERROR: Could not build your widgets. This may be due to outdated widgets in your project.

0
Since some days we can't deploy to the sandbox anymore. Create a deployment package (also unversioned) give's the same error, as do a build with MsBuild.exe: ERROR: Could not build your widgets. This may be due to outdated widgets in your project. You can check which widgets failed to build by clicking Tools > Check Widgets. BUILD FAILED The check widgets show's that all widgets are outdated (but they are all the last version). The file "deployment/data/temp/dojo/buildreport.txt" is not being created. The only log that I can find is buildwebuibundle_log.txt: Building Dojo... Error Warning: Task "dojo:dist" failed. Use --force to continue. Aborted due to warnings. This is to less information to find the problem. How can I debug the building and where can I find error logs?
asked
2 answers
4

I had a problem recently where widgets woudn't build and the log only showed "dojo:dist" failed. So I did a bit of a dirty hack to make sure I get a better output. These are the steps (I did this for MX 6.5.0, but it's applicable in every version) :

  1. Open Notepad as an Administrator. So find Notepad in your Startmenu, Right click -> Open as Administrator

  2. Open Gruntfile.js (using Notepad) that is located at *C:\Program Files\Mendix\6.5.0\modeler\tools\grunt\*

  3. At line nr 9 you see:

    grunt.loadNpmTasks('grunt-dojo');

  4. Add the following line after this (so on line nr 10):

    grunt.option('verbose', true);

  5. Save the file and close Notepad

  6. Go back to Modeler, run Tools --> Check widgets, check the logfile again

The bundle log you mentioned should contain verbose output now, and this might help you debug the issue.

Why this hack? Gruntfile.js is used by Grunt, which is used in the Modeler to create a dojo build. So these tasks are designed to bundle widgetfiles. By using the Check widgets tool in the Modeler, it tries to bundle everything. Normally Grunt will only do minimal output. By adding the verbose option it will give you more output, which helps you pinpoint issues with bundling widgets.

answered
0

Thank you for the good 'hack'! With verbose on I could see that grunt/dojo had problems with my pad (the project was on a network share). After moving the project to c:\ it just gave me an error on one widget, which I written myself. I made a new question for that problem: https://forum.mendix.com/questions/16372/How-to-use-the-Mendix-validator-in-a-widget

answered