Blogs
Sometimes it is necessary to refresh to update available versions.
So I was starting a new workspace yesterday, issued my normal command:
$ blade init projectname Error: The command init is missing required parameters. The following option is required: [-v | --liferay-version] The Liferay product to target. Typing "more" will show all product versions. 1: dxp-2024.q1.6 2: dxp-2023.q4.9 3: portal-7.4-ga112 4: dxp-2023.q3.9 5: dxp-7.3-u36 6: dxp-7.3-u35 7: dxp-7.2.8 8: portal-7.3-ga8 9: portal-7.2-ga2
I often go this route to get the list of versions since I have to change targets.
But I was briefly dismayed because I knew for a fact that
dxp-2024.q1.7 was available but wasn't in the list.
I needed to refresh the blade list, so I hit a
ctrl-c and then used the command:
$ blade init projectname --refresh-releases Checking for new releases... Error: The command init is missing required parameters. The following option is required: [-v | --liferay-version] The Liferay product to target. Typing "more" will show all product versions. 1: dxp-2024.q1.7 2: dxp-2023.q4.9 3: portal-7.4-ga112 4: dxp-2023.q3.9 5: dxp-7.3-u36 6: dxp-7.3-u35 7: dxp-7.2.8 8: portal-7.3-ga8 9: portal-7.2-ga2
This extra argument forces Blade to refresh a local file,
~/.liferay/workspaces/release.json which is a local copy
of the file from https://releases-cdn.liferay.com/releases.json which
contains all of the available releases.
So I picked the 2024 Q1.7 release and my new workspace was ready.
So today I found out that Q1.8 was released. I already had a
workspace, so all I needed to do was change my
gradle.properties and set the
liferay.workspace.product to be
dxp-2024.q1.8 and I should have been good to go.
After changing, I did the ./gradlew initBundle
command, but it didn't know anything about Q1.8. Again, the local file
was cached from yesterday.
To refresh the file, I used a special command, which I'm including below between the before and after listings:
$ head ~/.liferay/workspace/releases.json
[
{
"product": "dxp",
"productGroupVersion": "2024.q1",
"productVersion": "DXP 2024.Q1.7",
"promoted": "true",
"releaseKey": "dxp-2024.q1.7",
"targetPlatformVersion": "2024.q1.7",
"url": "https://releases-cdn.liferay.com/dxp/2024.q1.7"
},
$ gw --stop && gw initBundle -Dliferay.workspace.refresh.liferay.releases
No Gradle daemons are running.
Starting a Gradle Daemon (subsequent builds will be faster)
Deprecated Gradle features were used in this build, making it incompatible with
Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and
determine if they come from your own scripts or plugins.
BUILD SUCCESSFUL in 54s
3 actionable tasks: 3 executed
$ head ~/.liferay/workspace/releases.json
[
{
"product": "dxp",
"productGroupVersion": "2024.q1",
"productVersion": "DXP 2024.Q1.8",
"promoted": "true",
"releaseKey": "dxp-2024.q1.8",
"targetPlatformVersion": "2024.q1.8",
"url": "https://releases-cdn.liferay.com/dxp/2024.q1.8"
},
Most of the time, and for most of you out there, this isn't really going to be something you have to worry about.
The cached file is only good for 7 days, on the 8th day the tooling will fetch the update automatically.
But in case you run into this yourself, you'll now know how to handle the refresh.

