1
1
/*******************************************************************************
2
- * Copyright (c) 2005, 2024 IBM Corporation and others.
2
+ * Copyright (c) 2005, 2025 IBM Corporation and others.
3
3
*
4
4
* This program and the accompanying materials
5
5
* are made available under the terms of the Eclipse Public License 2.0
17
17
* Rapicorp - additional features
18
18
* Red Hat Inc. - Bug 460967
19
19
* SAP SE - support macOS bundle URL types
20
+ * Tue Ton - support for FreeBSD
20
21
*******************************************************************************/
21
22
22
23
package org .eclipse .equinox .internal .p2 .publisher .eclipse ;
@@ -74,12 +75,14 @@ public class ProductFile extends DefaultHandler implements IProductDescriptor {
74
75
private static final String PROPERTY_ECLIPSE_PRODUCT = "eclipse.product" ; //$NON-NLS-1$
75
76
76
77
private static final String PROGRAM_ARGS = "programArgs" ; //$NON-NLS-1$
78
+ private static final String PROGRAM_ARGS_FREEBSD = "programArgsFbsd" ; //$NON-NLS-1$
77
79
private static final String PROGRAM_ARGS_LINUX = "programArgsLin" ; //$NON-NLS-1$
78
80
private static final String PROGRAM_ARGS_MAC = "programArgsMac" ; //$NON-NLS-1$
79
81
private static final String PROGRAM_ARGS_SOLARIS = "programArgsSol" ; //$NON-NLS-1$
80
82
private static final String PROGRAM_ARGS_WIN = "programArgsWin" ; //$NON-NLS-1$
81
83
private static final String VM = "vm" ; //$NON-NLS-1$
82
84
private static final String VM_ARGS = "vmArgs" ; //$NON-NLS-1$
85
+ private static final String VM_ARGS_FREEBSD = "vmArgsFbsd" ; //$NON-NLS-1$
83
86
private static final String VM_ARGS_LINUX = "vmArgsLin" ; //$NON-NLS-1$
84
87
private static final String VM_ARGS_MAC = "vmArgsMac" ; //$NON-NLS-1$
85
88
private static final String VM_ARGS_SOLARIS = "vmArgsSol" ; //$NON-NLS-1$
@@ -99,6 +102,7 @@ public class ProductFile extends DefaultHandler implements IProductDescriptor {
99
102
private static final String WIN32_256_HIGH = "winExtraLargeHigh" ; //$NON-NLS-1$
100
103
101
104
private static final String OS_WIN32 = "win32" ;//$NON-NLS-1$
105
+ private static final String OS_FREEBSD = "freebsd" ;//$NON-NLS-1$
102
106
private static final String OS_LINUX = "linux" ;//$NON-NLS-1$
103
107
private static final String OS_SOLARIS = "solaris" ;//$NON-NLS-1$
104
108
private static final String OS_MACOSX = "macosx" ;//$NON-NLS-1$
@@ -177,6 +181,10 @@ public class ProductFile extends DefaultHandler implements IProductDescriptor {
177
181
private static final int STATE_VM_WINDOWS = 33 ;
178
182
private static final int STATE_LAUNCHER_MAC = 34 ;
179
183
private static final int STATE_LAUNCHER_MAC_BUNDLE_URL_TYPES = 35 ;
184
+ //for FreeBSD
185
+ private static final int STATE_PROGRAM_ARGS_FREEBSD = 36 ;
186
+ private static final int STATE_VM_ARGS_FREEBSD = 37 ;
187
+ private static final int STATE_VM_FREEBSD = 38 ;
180
188
181
189
private static final String PI_PDEBUILD = "org.eclipse.pde.build" ; //$NON-NLS-1$
182
190
private final static int EXCEPTION_PRODUCT_FORMAT = 23 ;
@@ -555,6 +563,9 @@ public String getVMArguments(String os, String arch) {
555
563
case OS_WIN32 :
556
564
key = VM_ARGS_WIN ;
557
565
break ;
566
+ case OS_FREEBSD :
567
+ key = VM_ARGS_FREEBSD ;
568
+ break ;
558
569
case OS_LINUX :
559
570
key = VM_ARGS_LINUX ;
560
571
break ;
@@ -655,6 +666,9 @@ public String getProgramArguments(String os, String arch) {
655
666
case OS_WIN32 :
656
667
key = PROGRAM_ARGS_WIN ;
657
668
break ;
669
+ case OS_FREEBSD :
670
+ key = PROGRAM_ARGS_FREEBSD ;
671
+ break ;
658
672
case OS_LINUX :
659
673
key = PROGRAM_ARGS_LINUX ;
660
674
break ;
@@ -812,6 +826,9 @@ public void startElement(String uri, String localName, String qName, Attributes
812
826
case "win" : //$NON-NLS-1$
813
827
processWin (attributes );
814
828
break ;
829
+ case OS_FREEBSD :
830
+ processFreeBSD (attributes );
831
+ break ;
815
832
case OS_LINUX :
816
833
processLinux (attributes );
817
834
break ;
@@ -853,6 +870,9 @@ public void startElement(String uri, String localName, String qName, Attributes
853
870
case PROGRAM_ARGS :
854
871
state = STATE_PROGRAM_ARGS ;
855
872
break ;
873
+ case PROGRAM_ARGS_FREEBSD :
874
+ state = STATE_PROGRAM_ARGS_FREEBSD ;
875
+ break ;
856
876
case PROGRAM_ARGS_LINUX :
857
877
state = STATE_PROGRAM_ARGS_LINUX ;
858
878
break ;
@@ -868,6 +888,9 @@ public void startElement(String uri, String localName, String qName, Attributes
868
888
case VM_ARGS :
869
889
state = STATE_VM_ARGS ;
870
890
break ;
891
+ case VM_ARGS_FREEBSD :
892
+ state = STATE_VM_ARGS_FREEBSD ;
893
+ break ;
871
894
case VM_ARGS_LINUX :
872
895
state = STATE_VM_ARGS_LINUX ;
873
896
break ;
@@ -895,6 +918,11 @@ public void startElement(String uri, String localName, String qName, Attributes
895
918
setArchState (localName );
896
919
break ;
897
920
921
+ case STATE_PROGRAM_ARGS_FREEBSD :
922
+ platformKeyPrefix = PROGRAM_ARGS_FREEBSD ;
923
+ setArchState (localName );
924
+ break ;
925
+
898
926
case STATE_PROGRAM_ARGS_LINUX :
899
927
platformKeyPrefix = PROGRAM_ARGS_LINUX ;
900
928
setArchState (localName );
@@ -920,6 +948,11 @@ public void startElement(String uri, String localName, String qName, Attributes
920
948
setArchState (localName );
921
949
break ;
922
950
951
+ case STATE_VM_ARGS_FREEBSD :
952
+ platformKeyPrefix = VM_ARGS_FREEBSD ;
953
+ setArchState (localName );
954
+ break ;
955
+
923
956
case STATE_VM_ARGS_LINUX :
924
957
platformKeyPrefix = VM_ARGS_LINUX ;
925
958
setArchState (localName );
@@ -977,6 +1010,9 @@ public void startElement(String uri, String localName, String qName, Attributes
977
1010
case STATE_VM :
978
1011
if (null != localName ) {
979
1012
switch (localName ) {
1013
+ case OS_FREEBSD :
1014
+ state = STATE_VM_FREEBSD ;
1015
+ break ;
980
1016
case OS_LINUX :
981
1017
state = STATE_VM_LINUX ;
982
1018
break ;
@@ -1151,18 +1187,21 @@ public void endElement(String uri, String localName, String qName) {
1151
1187
case STATE_VM :
1152
1188
state = STATE_PRODUCT ;
1153
1189
break ;
1190
+ case STATE_VM_FREEBSD :
1154
1191
case STATE_VM_LINUX :
1155
1192
case STATE_VM_WINDOWS :
1156
1193
case STATE_VM_MACOS :
1157
1194
state = STATE_VM ;
1158
1195
break ;
1159
1196
1160
1197
case STATE_PROGRAM_ARGS :
1198
+ case STATE_PROGRAM_ARGS_FREEBSD :
1161
1199
case STATE_PROGRAM_ARGS_LINUX :
1162
1200
case STATE_PROGRAM_ARGS_MAC :
1163
1201
case STATE_PROGRAM_ARGS_SOLARIS :
1164
1202
case STATE_PROGRAM_ARGS_WIN :
1165
1203
case STATE_VM_ARGS :
1204
+ case STATE_VM_ARGS_FREEBSD :
1166
1205
case STATE_VM_ARGS_LINUX :
1167
1206
case STATE_VM_ARGS_MAC :
1168
1207
case STATE_VM_ARGS_SOLARIS :
@@ -1207,6 +1246,9 @@ public void characters(char[] ch, int start, int length) {
1207
1246
case STATE_PROGRAM_ARGS :
1208
1247
addLaunchArgumentToMap (PROGRAM_ARGS , String .valueOf (ch , start , length ));
1209
1248
break ;
1249
+ case STATE_PROGRAM_ARGS_FREEBSD :
1250
+ addLaunchArgumentToMap (PROGRAM_ARGS_FREEBSD , String .valueOf (ch , start , length ));
1251
+ break ;
1210
1252
case STATE_PROGRAM_ARGS_LINUX :
1211
1253
addLaunchArgumentToMap (PROGRAM_ARGS_LINUX , String .valueOf (ch , start , length ));
1212
1254
break ;
@@ -1222,6 +1264,9 @@ public void characters(char[] ch, int start, int length) {
1222
1264
case STATE_VM_ARGS :
1223
1265
addLaunchArgumentToMap (VM_ARGS , String .valueOf (ch , start , length ));
1224
1266
break ;
1267
+ case STATE_VM_ARGS_FREEBSD :
1268
+ addLaunchArgumentToMap (VM_ARGS_FREEBSD , String .valueOf (ch , start , length ));
1269
+ break ;
1225
1270
case STATE_VM_ARGS_LINUX :
1226
1271
addLaunchArgumentToMap (VM_ARGS_LINUX , String .valueOf (ch , start , length ));
1227
1272
break ;
@@ -1268,6 +1313,9 @@ public void characters(char[] ch, int start, int length) {
1268
1313
licenseText += String .valueOf (ch , start , length );
1269
1314
}
1270
1315
break ;
1316
+ case STATE_VM_FREEBSD :
1317
+ addVM (OS_FREEBSD , String .valueOf (ch , start , length ));
1318
+ break ;
1271
1319
case STATE_VM_LINUX :
1272
1320
addVM (OS_LINUX , String .valueOf (ch , start , length ));
1273
1321
break ;
@@ -1445,6 +1493,10 @@ private void processBmp(Attributes attributes) {
1445
1493
addIcon (OS_WIN32 , attributes .getValue (WIN32_256_HIGH ));
1446
1494
}
1447
1495
1496
+ private void processFreeBSD (Attributes attributes ) {
1497
+ addIcon (OS_FREEBSD , attributes .getValue (ATTRIBUTE_ICON ));
1498
+ }
1499
+
1448
1500
private void processLinux (Attributes attributes ) {
1449
1501
addIcon (OS_LINUX , attributes .getValue (ATTRIBUTE_ICON ));
1450
1502
}
0 commit comments