25
25
import java .io .File ;
26
26
import java .io .IOException ;
27
27
import java .lang .reflect .Field ;
28
- import java .util .*;
28
+ import java .nio .file .Path ;
29
+ import java .util .ArrayList ;
30
+ import java .util .Collection ;
31
+ import java .util .HashMap ;
32
+ import java .util .Iterator ;
33
+ import java .util .LinkedHashSet ;
34
+ import java .util .List ;
35
+ import java .util .Map ;
36
+ import java .util .Objects ;
37
+ import java .util .Optional ;
38
+ import java .util .Properties ;
29
39
import java .util .concurrent .Callable ;
30
40
import java .util .function .Supplier ;
31
41
import java .util .stream .Collectors ;
@@ -1032,14 +1042,27 @@ private DefaultModelBuildingResult asDefaultModelBuildingResult(ModelBuildingRes
1032
1042
}
1033
1043
}
1034
1044
1045
+ @ Deprecated
1035
1046
@ Override
1036
1047
public Result <? extends Model > buildRawModel (File pomFile , int validationLevel , boolean locationTracking ) {
1048
+ return buildRawModel (pomFile .toPath (), validationLevel , locationTracking , null );
1049
+ }
1050
+
1051
+ @ Override
1052
+ public Result <? extends Model > buildRawModel (Path pomFile , int validationLevel , boolean locationTracking ) {
1037
1053
return buildRawModel (pomFile , validationLevel , locationTracking , null );
1038
1054
}
1039
1055
1056
+ @ Deprecated
1040
1057
@ Override
1041
1058
public Result <? extends Model > buildRawModel (
1042
1059
File pomFile , int validationLevel , boolean locationTracking , TransformerContext context ) {
1060
+ return buildRawModel (pomFile .toPath (), validationLevel , locationTracking , context );
1061
+ }
1062
+
1063
+ @ Override
1064
+ public Result <? extends Model > buildRawModel (
1065
+ Path pomFile , int validationLevel , boolean locationTracking , TransformerContext context ) {
1043
1066
final ModelBuildingRequest request = new DefaultModelBuildingRequest ()
1044
1067
.setValidationLevel (validationLevel )
1045
1068
.setLocationTracking (locationTracking )
@@ -1050,7 +1073,7 @@ public Result<? extends Model> buildRawModel(
1050
1073
1051
1074
try {
1052
1075
if (transformer != null && context != null ) {
1053
- transformer .transform (pomFile . toPath () , context , model );
1076
+ transformer .transform (pomFile , context , model );
1054
1077
}
1055
1078
} catch (TransformerException e ) {
1056
1079
problems .add (
@@ -1830,6 +1853,15 @@ private org.apache.maven.api.model.DependencyManagement doLoadDependencyManageme
1830
1853
return null ;
1831
1854
}
1832
1855
1856
+ if (importSource instanceof FileModelSource && request .getRootDirectory () != null ) {
1857
+ Path sourcePath = ((FileModelSource ) importSource ).getPath ();
1858
+ if (sourcePath .startsWith (request .getRootDirectory ())) {
1859
+ problems .add (new ModelProblemCollectorRequest (Severity .WARNING , ModelProblem .Version .BASE )
1860
+ .setMessage ("BOM imports from within reactor should be avoided" )
1861
+ .setLocation (dependency .getLocation ("" )));
1862
+ }
1863
+ }
1864
+
1833
1865
final ModelBuildingResult importResult ;
1834
1866
try {
1835
1867
ModelBuildingRequest importRequest = new DefaultModelBuildingRequest ();
0 commit comments