@@ -136,10 +136,12 @@ private String getDependenciesString(final List dependenciesList) {
136136 for (int i = 0 ; i < dependencies .length ; i ++) {
137137 final String dependency = dependencies [i ].toString ();
138138 final Pair <String , String > dependencyData = getDependencyData (dependency );
139- result = result .concat ("\" " );
140- result = result .concat (dependencyData .getFirst ());
141- result = result .concat ("\" " );
142- result = result .concat (": \" " + dependencyData .getSecond () + "\" " );
139+ if (!dependencyData .getFirst ().isEmpty ()) {
140+ result = result .concat ("\" " );
141+ result = result .concat (dependencyData .getFirst ());
142+ result = result .concat ("\" " );
143+ result = result .concat (": \" " + dependencyData .getSecond () + "\" " );
144+ }
143145
144146 if (dependencies .length != i + 1 ) {
145147 result = result .concat ("," );
@@ -157,24 +159,29 @@ private Pair<String, String> getDependencyData(
157159 String version = "*" ;
158160 String moduleName = camelCaseToHyphen .convert (dependency ).replace ("_-" , "/" );
159161 try {
160- final VirtualFile virtualFile = moduleIndex .getModuleDirectoryByModuleName (dependency )
161- .findFile (ComposerJson .FILE_NAME )
162- .getVirtualFile ();//NOPMD
163- if (virtualFile .exists ()) {
164- final JsonElement jsonElement =
165- new JsonParser ().parse (new FileReader (virtualFile .getPath ()));//NOPMD
166- final JsonElement versionJsonElement = jsonElement .getAsJsonObject ().get ("version" );
167- final JsonElement nameJsonElement = jsonElement .getAsJsonObject ().get ("name" );
168- if (versionJsonElement != null ) {
169- version = versionJsonElement .getAsString ();
170- final int minorVersionSeparator = version .lastIndexOf ('.' );
171- version = new StringBuilder (version )
172- .replace (minorVersionSeparator + 1 , version .length (),"*" )
173- .toString ();
174- }
175- if (nameJsonElement != null ) {
176- moduleName = nameJsonElement .getAsString ();
162+ final PsiFile virtualFile = moduleIndex .getModuleDirectoryByModuleName (dependency )
163+ .findFile (ComposerJson .FILE_NAME );
164+
165+ if (virtualFile != null ) {
166+ final VirtualFile composerJsonFile = virtualFile .getVirtualFile ();//NOPMD
167+ if (composerJsonFile .exists ()) {
168+ final JsonElement jsonElement =
169+ new JsonParser ().parse (new FileReader (composerJsonFile .getPath ()));//NOPMD
170+ final JsonElement versionJsonElement = jsonElement .getAsJsonObject ().get ("version" );
171+ final JsonElement nameJsonElement = jsonElement .getAsJsonObject ().get ("name" );
172+ if (versionJsonElement != null ) {
173+ version = versionJsonElement .getAsString ();
174+ final int minorVersionSeparator = version .lastIndexOf ('.' );
175+ version = new StringBuilder (version )
176+ .replace (minorVersionSeparator + 1 , version .length (),"*" )
177+ .toString ();
178+ }
179+ if (nameJsonElement != null ) {
180+ moduleName = nameJsonElement .getAsString ();
181+ }
177182 }
183+ } else {
184+ return Pair .create ("" , "" );
178185 }
179186 } catch (FileNotFoundException e ) { //NOPMD
180187 // It's fine
0 commit comments