Skip to content

Commit d97ef10

Browse files
authored
Allow vendors to specify custom templates without changing GUID (#949)
* base commit for msft branding * fixed feature and branding names in msft openjdk templates * Fixed CRLF in en-us msft template * Set 'microsoft' to be acceptable jvm string * Set 'microsoft' to be acceptable jvm string in comments * Now using TEMPLATE_NAME var
1 parent 0fa43c7 commit d97ef10

9 files changed

+79
-14
lines changed

wix/Build.OpenJDK_generic.cmd

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ REM PRODUCT_PATCH_VERSION=0
88
REM PRODUCT_BUILD_NUMBER=28
99
REM MSI_PRODUCT_VERSION=11.0.0.28
1010
REM ARCH=x64|x86-32|x86|arm64 or all "x64 x86-32 arm64"
11-
REM JVM=hotspot|openj9|dragonwell or both JVM=hotspot openj9
11+
REM JVM=hotspot|openj9|dragonwell|microsoft or both JVM=hotspot openj9
1212
REM PRODUCT_CATEGORY=jre|jdk (only one at a time)
1313
REM SKIP_MSI_VALIDATION=true (Add -sval option to light.exe to skip MSI/MSM validation and skip smoke.exe )
1414
REM UPGRADE_CODE_SEED=thisIsAPrivateSecretSeed ( optional ) for upgradable MSI (If none, new PRODUCT_UPGRADE_CODE is generate for each run)
@@ -53,10 +53,13 @@ IF %ERRORLEVEL% == 1 (
5353
REM Update to handle the change of build variant until implications
5454
REM of setting this to Temurin can be evaluated
5555
IF "%JVM%" == "temurin" SET JVM=hotspot
56+
@REM Microsoft update to handle similar situation
57+
IF "%JVM%" == "microsoft" SET TEMPLATE_NAME=microsoft
58+
IF "%JVM%" == "microsoft" SET JVM=hotspot
5659

5760
powershell -ExecutionPolicy Bypass -File "%~dp0\helpers\Validate-Input.ps1" ^
5861
-toValidate '%JVM%' ^
59-
-validInputs "hotspot,openj9,dragonwell,openj9 hotspot,hotspot openj9" ^
62+
-validInputs "hotspot,openj9,dragonwell,microsoft,openj9 hotspot,hotspot openj9" ^
6063
-delimiter ","
6164

6265
IF %ERRORLEVEL% == 1 (
@@ -120,7 +123,12 @@ FOR %%A IN (%ARCH%) DO (
120123
FOR %%J IN (%JVM%) DO (
121124
SET PACKAGE_TYPE=%%J
122125
SET PLATFORM=%%A
123-
ECHO Generate OpenJDK setup "!PACKAGE_TYPE!" for "!PLATFORM!" platform "!PRODUCT_CATEGORY!"
126+
127+
@REM TEMPLATE_NAME is only used to allow vendors to have their own
128+
@REM custom templates without changing their GUID.
129+
IF NOT DEFINED TEMPLATE_NAME SET TEMPLATE_NAME=!PACKAGE_TYPE!
130+
131+
ECHO Generate OpenJDK setup "!TEMPLATE_NAME!" for "!PLATFORM!" platform "!PRODUCT_CATEGORY!"
124132
ECHO ****************************************************
125133
SET CULTURE=en-us
126134
SET LANGIDS=1033
@@ -132,12 +140,12 @@ FOR %%A IN (%ARCH%) DO (
132140
SET SETUP_RESOURCES_DIR=.\Resources
133141

134142
FOR %%P IN (
135-
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!PACKAGE_TYPE!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%.%PRODUCT_MINOR_VERSION%.%PRODUCT_MAINTENANCE_VERSION%
136-
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!PACKAGE_TYPE!\!FOLDER_PLATFORM!\jdk%PRODUCT_MAJOR_VERSION%u%PRODUCT_MAINTENANCE_VERSION%-b%PRODUCT_BUILD_NUMBER%
137-
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!PACKAGE_TYPE!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%+%PRODUCT_BUILD_NUMBER%
138-
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!PACKAGE_TYPE!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%.%PRODUCT_MINOR_VERSION%.%PRODUCT_MAINTENANCE_VERSION%+%PRODUCT_BUILD_NUMBER%
139-
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!PACKAGE_TYPE!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%.%PRODUCT_MINOR_VERSION%.%PRODUCT_MAINTENANCE_VERSION%.%PRODUCT_PATCH_VERSION%+%PRODUCT_BUILD_NUMBER%
140-
!PRODUCT_SKU!-Latest\!PACKAGE_TYPE!\!FOLDER_PLATFORM!\jdk-!PRODUCT_SHORT_VERSION!
143+
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!TEMPLATE_NAME!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%.%PRODUCT_MINOR_VERSION%.%PRODUCT_MAINTENANCE_VERSION%
144+
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!TEMPLATE_NAME!\!FOLDER_PLATFORM!\jdk%PRODUCT_MAJOR_VERSION%u%PRODUCT_MAINTENANCE_VERSION%-b%PRODUCT_BUILD_NUMBER%
145+
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!TEMPLATE_NAME!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%+%PRODUCT_BUILD_NUMBER%
146+
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!TEMPLATE_NAME!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%.%PRODUCT_MINOR_VERSION%.%PRODUCT_MAINTENANCE_VERSION%+%PRODUCT_BUILD_NUMBER%
147+
!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!\!TEMPLATE_NAME!\!FOLDER_PLATFORM!\jdk-%PRODUCT_MAJOR_VERSION%.%PRODUCT_MINOR_VERSION%.%PRODUCT_MAINTENANCE_VERSION%.%PRODUCT_PATCH_VERSION%+%PRODUCT_BUILD_NUMBER%
148+
!PRODUCT_SKU!-Latest\!TEMPLATE_NAME!\!FOLDER_PLATFORM!\jdk-!PRODUCT_SHORT_VERSION!
141149
) DO (
142150
SET REPRO_DIR=.\SourceDir\%%P
143151
IF "!PRODUCT_CATEGORY!" == "jre" (
@@ -157,9 +165,9 @@ FOR %%A IN (%ARCH%) DO (
157165
:CONTINUE
158166
ECHO Source dir used : !REPRO_DIR!
159167

160-
IF NOT DEFINED OUTPUT_BASE_FILENAME SET OUTPUT_BASE_FILENAME=!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!-!PRODUCT_CATEGORY!_!FOLDER_PLATFORM!_windows_!PACKAGE_TYPE!-!PRODUCT_FULL_VERSION!
168+
IF NOT DEFINED OUTPUT_BASE_FILENAME SET OUTPUT_BASE_FILENAME=!PRODUCT_SKU!!PRODUCT_MAJOR_VERSION!-!PRODUCT_CATEGORY!_!FOLDER_PLATFORM!_windows_!TEMPLATE_NAME!-!PRODUCT_FULL_VERSION!
161169
REM find all *.wxi.template,*.wxl.template,*.wxs.template files and replace text with configurations
162-
FOR /f %%i IN ('dir /s /b *.wxi.template, *.Base.*.wxl.template *.!JVM!.*.wxl.template,*.wxs.template') DO (
170+
FOR /f %%i IN ('dir /s /b *.wxi.template, *.Base.*.wxl.template *.!TEMPLATE_NAME!.*.wxl.template,*.wxs.template') DO (
163171
SET INPUT_FILE=%%~ni
164172
REM Prevent concurrency issues if multiple builds are running in parallel.
165173
SET OUTPUT_FILE=%WORKDIR%!OUTPUT_BASE_FILENAME!-!INPUT_FILE:.template=%!
@@ -294,7 +302,7 @@ FOR %%A IN (%ARCH%) DO (
294302
-d JVM="!PACKAGE_TYPE!" ^
295303
-cc !CACHE_FOLDER! ^
296304
-loc "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.Base.!CULTURE!.wxl" ^
297-
-loc "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.!PACKAGE_TYPE!.!CULTURE!.wxl" ^
305+
-loc "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.!TEMPLATE_NAME!.!CULTURE!.wxl" ^
298306
-out "ReleaseDir\!OUTPUT_BASE_FILENAME!.msi" ^
299307
-culture !CULTURE! ^
300308
-pdbtype none
@@ -376,13 +384,14 @@ FOR %%A IN (%ARCH%) DO (
376384
REM Remove files we do not need any longer.
377385
DEL "%WORKDIR%!OUTPUT_BASE_FILENAME!-Files.wxs"
378386
DEL "%WORKDIR%!OUTPUT_BASE_FILENAME!-Main.wxs"
379-
DEL "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.%JVM%.*.wxl"
387+
DEL "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.!TEMPLATE_NAME!.*.wxl"
380388
DEL "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.Base.*.wxl"
381389
DEL "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.Variables.wxi"
382390
IF DEFINED ITW_WXS (
383391
DEL !ITW_WXS!
384392
)
385393
RMDIR /S /Q !CACHE_FOLDER!
394+
SET TEMPLATE_NAME=
386395
)
387396
SET ITW_WXS=
388397
)

wix/BuildSetupTranslationTransform.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ wix build -arch !PLATFORM! ^
3333
-d JVM="!PACKAGE_TYPE!" ^
3434
-cc !CACHE_FOLDER! ^
3535
-loc "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.Base.!CULTURE!.wxl" ^
36-
-loc "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.!PACKAGE_TYPE!.!CULTURE!.wxl" ^
36+
-loc "%WORKDIR%!OUTPUT_BASE_FILENAME!-!PRODUCT_SKU!.!TEMPLATE_NAME!.!CULTURE!.wxl" ^
3737
-out "ReleaseDir\!OUTPUT_BASE_FILENAME!.!CULTURE!.msi" ^
3838
-culture !CULTURE! ^
3939
-pdbtype none
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="de-de" Codepage="1252" xmlns="http://wixtoolset.org/schemas/v4/wxl">
3+
<!-- Microsoft does not currently support JREs -->
4+
<String Id="JDKFeatureMainName" Value="{vendor_branding}" />
5+
<String Id="JDKFeatureMainDescription" Value="{vendor_branding} " />
6+
<String Id="JDKProductName" Value="{vendor_branding} " />
7+
<String Id="JDKPackageDescription" Value="{vendor_branding}" />
8+
</WixLocalization>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="en-us" xmlns="http://wixtoolset.org/schemas/v4/wxl">
3+
<!-- Microsoft does not currently support JREs -->
4+
<String Id="JDKFeatureMainName" Value="{vendor_branding}" />
5+
<String Id="JDKFeatureMainDescription" Value="{vendor_branding} " />
6+
<String Id="JDKProductName" Value="{vendor_branding} " />
7+
<String Id="JDKPackageDescription" Value="{vendor_branding}" />
8+
</WixLocalization>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="es-es" Codepage="1252" xmlns="http://wixtoolset.org/schemas/v4/wxl">
3+
<!-- Microsoft does not currently support JREs -->
4+
<String Id="JDKFeatureMainName" Value="{vendor_branding}" />
5+
<String Id="JDKFeatureMainDescription" Value="{vendor_branding} " />
6+
<String Id="JDKProductName" Value="{vendor_branding} " />
7+
<String Id="JDKPackageDescription" Value="{vendor_branding}" />
8+
</WixLocalization>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="fr-fr" Codepage="1252" xmlns="http://wixtoolset.org/schemas/v4/wxl">
3+
<!-- Microsoft does not currently support JREs -->
4+
<String Id="JDKFeatureMainName" Value="{vendor_branding}" />
5+
<String Id="JDKFeatureMainDescription" Value="{vendor_branding} " />
6+
<String Id="JDKProductName" Value="{vendor_branding} " />
7+
<String Id="JDKPackageDescription" Value="{vendor_branding}" />
8+
</WixLocalization>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="ja-jp" Codepage="932" xmlns="http://wixtoolset.org/schemas/v4/wxl">
3+
<!-- Microsoft does not currently support JREs -->
4+
<String Id="JDKFeatureMainName" Value="{vendor_branding}" />
5+
<String Id="JDKFeatureMainDescription" Value="{vendor_branding} " />
6+
<String Id="JDKProductName" Value="{vendor_branding} " />
7+
<String Id="JDKPackageDescription" Value="{vendor_branding}" />
8+
</WixLocalization>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="zh-cn" Codepage="936" xmlns="http://wixtoolset.org/schemas/v4/wxl">
3+
<!-- Microsoft does not currently support JREs -->
4+
<String Id="JDKFeatureMainName" Value="{vendor_branding}" />
5+
<String Id="JDKFeatureMainDescription" Value="{vendor_branding} " />
6+
<String Id="JDKProductName" Value="{vendor_branding} " />
7+
<String Id="JDKPackageDescription" Value="{vendor_branding}" />
8+
</WixLocalization>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<WixLocalization Culture="zh-tw" Codepage="950" xmlns="http://wixtoolset.org/schemas/v4/wxl">
3+
<!-- Microsoft does not currently support JREs -->
4+
<String Id="JDKFeatureMainName" Value="{vendor_branding}" />
5+
<String Id="JDKFeatureMainDescription" Value="{vendor_branding} " />
6+
<String Id="JDKProductName" Value="{vendor_branding} " />
7+
<String Id="JDKPackageDescription" Value="{vendor_branding}" />
8+
</WixLocalization>

0 commit comments

Comments
 (0)